Start wallet server
Overview
The easiest and most common way of managing your funds on the Cardano blockchain is through a wallet. This guide is to show how to start cardano-wallet
together with cardano-node
.
Full node mode
Here we are going to start cardano-wallet
in full node mode, meaning that we need to have also cardano-node
running on the same machine. We can get binaries of cardano-wallet
and compatible version of cardano-node
from cardano wallet release page. Cardano-wallet
archives published for each release, besides cardano-wallet
itself, include all the relevant tools like cardano-node
, cardano-cli
, cardano-addresses
or bech32
.
Alternatively one can use handy docker-compose to start wallet and the node on different networks:
> NETWORK=mainnet docker-compose up
> NETWORK=preprod docker-compose up
> NETWORK=preview docker-compose up
Pre-requisites
- Install cardano-wallet from cardano wallet release page.
- Install cardano-node from cardano wallet release page.
- Download up-to-date configuration files from Cardano Book.
Start cardano-wallet
in full node mode
Configuration files for all Cardano networks can be found in Cardano Book.
- Start node:
> cardano-node run \
--config config.json \
--topology topology.json \
--database-path ./db \
--socket-path /path/to/node.socket
- Start wallet:
When starting a wallet instance that targets a testing environment such as preview
or preprod
, we need to provide a byron-genesis.json
file to the wallet:
> cardano-wallet serve --port 8090 \
--node-socket /path/to/node.socket \
--testnet byron-genesis.json \
--database ./wallet-db \
--token-metadata-server https://metadata.cardano-testnet.iohkdev.io
In case of mainnet
we simply replace --testnet byron-genesis.json
with option --mainnet
.
> cardano-wallet serve --port 8090 \
--node-socket /path/to/node.socket \
--mainnet \
--database ./wallet-db \
--token-metadata-server https://tokens.cardano.org
We use different URLs for mainnet and test networks with the --token-metadata-server
option. These URLs point to Cardano Token Registry servers. See
assets
for more information.
That's it! We can basically start managing our wallets from this point onwards. See how-to-create-a-wallet and how-to-manage-wallets
However, in order to be able to make transactions, we still need to wait until cardano-node
is synced fully with the Cardano blockchain. In case of mainnet
it may take several hours, in case of testnet
a bit less.
We can monitor this process using cardano-wallet's
GET /network/information
endpoint. Once the endpoint returns sync_progress
status ready
we'll know we are good to go:
> curl -X GET http://localhost:8090/v2/network/information | jq .sync_progress
{
"status": "ready"
}