Building and running Rosetta from source code
In Running with Docker, you learned that the Docker container runs the mina daemon, mina-archive, and Rosetta API.
If you already have mina-archive up and running, you can also build and run the Rosetta API natively and wire it to the existing mina daemon and mina-archive.
To run mina daemon and mina-archive natively, follow the Archive Node page instructions.
The easiest way to build Rosetta natively is to use the Nix development environment.
Clone the official mina repository and switch to the
compatiblebranch.If you don't already have Nix on your machine, install it following the steps in the nix/README.md.
Run the
./nix/pin.shscript to enable submodules to be available to the build:./nix/pin.shLaunch the development shell:
nix develop minaBuild Rosetta app:
dune build --profile=mainnet src/app/rosettaAfter a successful build, the Rosetta app is available here:
_build/default/src/app/rosetta/rosetta.exeYou can run it with following command:
MINA_ROSETTA_MAX_DB_POOL_SIZE=64 MINA_ROSETTA_NETWORK=mainnet \
_build/default/src/app/rosetta/rosetta.exe --port 3087 \
--graphql-uri <URL to Mina GraphQL instance>
--archive-uri postgres://<username>:<password>@<host>:<port>/<db_name>