Skip to main content

The Stacks Blockchain API supports v1.4.6 of the Rosetta specification. This industry open standard makes it easy to integrate blockchain deployment and interaction.

Testing the Rosetta APIs

To build and run the rosetta.Dockerfile image, run the following command:

docker build -t rosetta:stable -f rosetta.Dockerfile .
docker run -d \
-p 3999:3999 \
--mount source=rosetta-data,target=/data \
--name rosetta \
rosetta:stable

To build and run the rosetta.Dockerfile image using an archived chainstate, run the following command:

docker build -t rosetta:stable -f rosetta.Dockerfile .
docker run -d \
-p 3999:3999 \
-e SEED_CHAINSTATE=true \
--mount source=rosetta-data,target=/data \
--name rosetta \
rosetta:stable

By default, this will connect to the mainnet. To run a local node, run the following command:

docker run -d \
-p 3999:3999 \
-e STACKS_NETWORK=mocknet \
--mount source=rosetta-data,target=/data \
--name rosetta \
rosetta:stable

To use a recent version of rosetta-cli to test the endpoints, use the following command:

rosetta-cli \
--configuration-file rosetta-cli-config/rosetta-config.json \
view:block 1
rosetta-cli \
--configuration-file rosetta-cli-config/rosetta-config.json \
check:data

rosetta-cli will then sync with the blockchain until it reaches the tip, and then exit, displaying the test results. Currently, account reconciliation is disabled; proper testing of that feature requires token transfer transactions while rosetta-cli is running. Documentation for the Rosetta APIs can be found here. You may also review Data and Construction Rosetta endpoints here.