Nix
Install Nix using the Determinate Systems installer to get Nix with Flakes installed.
$ curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- installThe repository comes with a developer environment (devShell) which can be accessed by running:
$ nix develop
# to exit the shell enviroment enter "exit" in your shellThe devShell provides all the system tools and dependencies required to develop and run the project
(nix:nix-shell-env) $ go version # go version go1.23.7
(nix:nix-shell-env) $ sui version # sui 1.44.3-615516edb0edTo make sure that your sui environment is ready, you can first check the active
address using the cli
(nix:nix-shell-env) $ sui client active-addressThen you can proceed to make sure that you can the local RPC available in the
list of sui cli environments
(nix:nix-shell-env) $ sui client envsAnd if you don't see "local", you can add it as follows
sui client new-env --alias local --rpc http://127.0.0.1:9000
sui client switch --env localWe use Task to execute development tasks. You can find every task referenced in the Taskfile
(nix:nix-shell-env) $ task lint
(nix:nix-shell-env) $ task lint:fix- Docker
- Docker Compose
- Docker Desktop (or OrbStack)
- Run
docker compose upto get thesuidevnet up and running - You can now
execinto the container by runningdocker compose exec -it sui bash - Run
sui client envsto view the available sui environments
NOTE: You can view the open ports and the commands used by inspecting the
/sui/docker-compose.ymlfile. It is a work in-progress and will likely change.
Once you have the local Sui devnet running, you can deploy the sample contracts using:
./scripts/deploy_contracts.shThis will build and deploy the contracts in contracts/test to your local Sui network.
For detailed documentation about using the Sui Relayer Plugin, including how to configure and use the ChainReader and ChainWriter components, see RELAYER.md.
Ensure you have docsify installed globally.
npm install -g docsify-cliThen run the following command to serve the documentation locally.
task docs:serve