This repository implements a Web client for the Linera protocol.
This repository contains a Nix flake that precisely specifies its
build environment.  The easiest way to set up the build environment is
to install Nix with flake support (e.g. using the Determinate Nix
installer) and
then run nix develop to enter the build environment.
Currently we only support building on Linux (x86_64-unknown-linux-gnu).
It depends on a linera-protocol project via git submodule.
If you are building the project for the first time, you need to initialize it:
git submodule init
If you want to update it:
git submodule update --remote
The project builds with pnpm.  First install the JavaScript dependencies:
pnpm installThen build the extension:
cd extension
pnpm build:extensionThis will result in an unpacked Manifest v3 extension in
extension/dist/extension.
After successfully running pnpm build, the extension can be loaded
into Chrome or Chromium:
- Open the settings menu.
 - Select ‘Extensions’ → ‘Manage Extensions’.
 - Enable ‘Developer mode’. This will show an option ‘Load unpacked’.
 - Navigate to the 
extension/distdirectory and select it. - You've installed the extension!
 
By default extension icons are hidden behind a top-level ‘Extensions’ menu in the browser toolbar; to make access easier, you can pin this extension to have it appear at the top level next to the ‘Extensions’ icon.
For development, you can also use pnpm build --watch to
automatically rebuild the extension on change.  Changes to the client
worker will not propagate to the extension, but once you run
wasm-pack build they will be picked up.
In /examples directory there are a couple of examples that can be run
to test the Linera network. The faucet address and application addresses
are controlled via ENV variables. Those can be set in .env file in the root
of the project or you can overwrite them in .env.production.local -
a file ignored by git and so needs to be created locally.