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.sh -
Launch the development shell:
nix develop mina -
Build Rosetta app:
dune build --profile=mainnet src/app/rosetta -
After 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 \
_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>