This guide will walk you through the process of getting two Fuchsia devices set up and synchronizing story state using the Ledger.
Follow the steps at in the top level docs to:
Follow the instructions at go/tq-net-boot to set up a private test network.
Each Fuchsia device has a unique node name based on its MAC address. It is of the form
power-nerd-saved-santa. You can list the nodes on your network with the
> netls device glad-bats-hunk-lady (fe80::f64d:30ff:fe68:2620/6) device blurt-chip-sugar-wish (fe80::8eae:4cff:feee:4f40/6)
netruncmd <nodename> <command> command can be used to run commands on remote machines. The output of the command is not shown. If you need to see the output, use the
loglistener [<nodename>] command.
Ledger is a distributed storage system for Fuchsia. Stories use it to synchronize their state across multiple devices. Follow the steps in Ledger's User Guide to:
The systems boots up with three virtual consoles. Alt-F1 through Alt-F3 can be used to switch between virtual consoles.
The format of the Ledger as well as the format of the data each story syncs is under rapid development and no effort is currently made towards forwards and backwards compatibility. Because of this, after updating the Fuchsia code, it is a good idea to wipe your remote and local data using
$ netruncmd <nodename> cloud_sync clean
device_runner to start a story on one device:
$ netruncmd <first-node-name> "device_runner --user_shell=dev_user_shell \ --user_shell_args=--root_module=example_todo_story"
loglistener <first-node-name> take note of the story ID from a line the following:
... DevUserShell Starting story with id: IM7U9hBcCt
The story can be started on the second device either through the system UI or by specifying the story ID.
Launch the system UI using
$ netruncmd <second-node-name> "device_runner"
Once the system UI starts, you should be able to see the story started in the step above. Click on that to open it.
With the story ID noted above from launch the story from a shell:
$ netruncmd <second-node-name> "device_runner \ --user_shell=dev_user_shell \ --user_shell_args=--story_id=<story_id>