Skip to content

Getting Started

AxVultis edited this page Nov 13, 2022 · 5 revisions

Generate a new wallet container

To start using the RPC wallet ('walletd'/service wallet), first generate a wallet container. The container file is the file that stores all data required to run your service. It contains user addresses and private keys required to operate them. Make sure to back up this file regularly.

To generate a new container, run the following command:

./walletd --container-file=**your-container** --container-password=**your-password** --generate-container

your-container is the container file name and the path to it (relative or absolute); the path is optional in this argument, specifying only a container's name will result in a new file located in the same folder as RPC Wallet.

your-password is the secret password for the new wallet file.

--generate-container option tells RPC wallet to generate container file and exit.

Note: if your-container exists Conceal RPC Wallet will show you the notification and will ask you to provide a different name.

If the operation was successful, you will get a corresponding message with your new Conceal address. At the same time, the Conceal RPC Wallet will save your container on the local disk (in the same folder where Conceal RPC Wallet is located) and shut down.

Starting the RPC Wallet

There are two ways to start Conceal RPC Wallet:

Start with a remote connection to the Daemon

The remote connection allows you to bind your Conceal RPC Wallet to a Conceal daemon. The conceal daemon you connect to could be on a remote node or the local server. A common method is to run the Conceal daemon on one server, and the RPC wallet on another.

** For local daemons use localhost or 127.0.0.1 as an IP address. For remote daemons specify the remote daemon's IP address.**

The default Conceal daemon RPC port is 16000.

Use the following command to start Conceal RPC Wallet with a remote connection:

./walletd --container-file=**your-container** --container-password=**your-password** --daemon-address=<remote_ip> --daemon-port=16000

Note: Conceal daemon (conceald) should be running and synchronized when starting the RPC wallet in a remote connection mode.

Note: Conceal RPC Wallet will still provide some functionality even if the daemon server fails. For example, you will be able to generate addresses for your users.

Start an in-process node

You can also start Conceal RPC Wallet with an in-process node. This allows you to start RPC Wallet out-of-box with no external daemon required. You will get a fully functional node for Conceal network inside Conceal RPC Wallet. You don't have to download or install anything besides Conceal RPC Wallet. This approach will help reduce the overheads required for infrastructure maintenance. However, for high-performance requirements, please follow connect to a separate daemon.

Use the following command to start the Conceal RPC Wallet with an in-process node:

./walletd --container-file=**your-container** --container-password=**your-password** --local

Configuration

To configure RPC wallet you can use both command line and config file. Config file allows you to configure your settings only once and use "--config" option further. The command below launches Conceal RPC Wallet with a specific config file:

./walletd --config=/myconfig.conf

To get help on available options run:

./walletd -h

Please note, Conceal RPC Wallet config file may consist only of these options:

bind-address
Which address to bind Conceal RPC Wallet to. Default value is 0.0.0.0
bind-address = 127.0.0.1

bind-port
Which port to bind Conceal RPC Wallet to. Default value is 8070
bind-port = 8071

daemon-address
Conceal daemon (Conceald) address for remote daemon connection infrastructure
daemon-address = 127.0.0.1
 
daemon-port
Conceal daemon (Conceald) port for remote daemon connection infrastructure. Default Conceal daemon ports are 32347 and 8081
daemon-port = 32347

container-file
**Mandatory**. Your container's file name
container-file = mycontainer

container-password
**Mandatory**. Your container's password
container-password = mypassword
 
log-file
A name of the log file that you want to use for logging. Default is walletd.log
log-file = mylog.log
 
server-root
The working directory that you wish to use for Conceal RPC Wallet. The default is current working directory.
server-root = /home/conceal-core/wallet

log-level
Level of logging. Default is 1. 
log-level = 2

local
An option that allows you to start Conceal RPC Wallet as an in-process node
local

An example config file:

container-file = your-contain
container-password = your-password
daemon-port = 16000
bind-port = 8070

You may specify Conceal config directly through console arguments. Here's the same example as above in console:

./walletd --container-file=**your-container** --container-password=**your-password** --daemon-port=16000 --bind-port=8070

Note: config file's path is relative to the current working directory, not server root.

Note: options "container-file" and "container-password" should ALWAYS be set (in either command line or config file mode). Note: "container-file" and "log-file" options are relative to "server-root". "server-root" default is the current working directory.

Run the Conceal RPC Wallet

Conceal RPC wallet can be started in both daemon and console modes.

Daemon mode - Conceal RPC Wallet is launched in the background, while you can continue to work with a console window.

Console mode - Conceal RPC Wallet is launched and prints log messages on the screen.

Conceal RPC wallet starts in console mode by default.

Start as daemon (UNIX)

To start RPC wallet as daemon just set "--daemon" (or short "-d") option.

./walletd --container-file=mycontainer --container-password=mypassword --daemon

Note: it's a common practice for daemons to set server root directory.

Server root is the directory where RPC Wallet stores all its files. All relative paths in RPC Wallet configuration are relative to the server root directory.

Start as service (Windows only)

To run RPC wallet as a service on Windows you have to do the following:

Create a config file and place it in the same directory as your RPC wallet's executable. A note for Windows Users: In case the server root in the config file is not specified all paths should be ABSOLUTE. If you set server root you can use relative paths (relative to your server root);

Register your Conceal RPC Wallet as a service. To do so, run the following command as an ADMINISTRATOR:

walletd.exe --register-service

After you see the message about successful service registration you can run it in your Services panel.

Uninstall service (Windows only)

If you want to delete RPC wallet you have to unregister Windows service first (if you have registered it before). Run as an ADMINISTRATOR:

walletd.exe --unregister-service

Conceal RPC Wallet JSON RPC API

Conceal RPC Wallet API allows you to create addresses for your users, accept and send transactions and much more. Detailed description for every Conceal RPC Wallet API method can be found here:

Clone this wiki locally