- Deployments
- Testnet
Hardware
We recommend selecting an all-purpose server with:- 4 or more physical (or 8 virtual) CPU cores
- At least 500GB of SSD disk storage
- At least 16GB of memory
- At least 100mbps network bandwidth
Prerequisites
Golang
This project requires Go version 1.22 or later. Install Go by following the instructions on the official Go installation guide.Linux installation
Install the latest version of Golang/usr/local/go/bin to the PATH environment variable. You can do this by adding the following line to your $HOME/.profile or /etc/profile (for a system-wide installation):
Build essential
Install essential tools and packages needed to compile and build the binaries.Int3face node
Build and install the binary
Int3face node provides CLI commands for submitting inbound and outbound transfers and other queries. To install Int3face node, clone the repository to your local machine from Github. Please contact the Int3face team for accessing theInt3facechain/bridge repository.
v0.2.7.
int3faced binary to $GOPATH/bin.
Verify the installation
Initialize node
Useint3faced to initialize your node (replace the <your_moniker> with a name of your choosing):
Download genesis
Download thegenesis.json file and place it into the Int3face configuration directory (~/.int3faced/config by default).
Download app config
Download theconfig.toml file and place it into the Int3face configuration directory (~/.int3faced/config by default).
config.toml instead of the default one. You can do it by modifying the moniker field at the top of the config.toml file.
Besides that, you can modify the config if it’s needed, but make sure to keep all the default ports and persistent peer addresses.
Import validator key
You can either create a new key for your validator or import an existing key.Create new key
Import existing
Sync the node
We use a state snapshot to sync the state of the node. For state syncing, theconfig.toml file must be properly set, which is already done if you use the config from this repo. If you want to know more about this process, feel free to refer to the documentation
- https://docs.cometbft.com/v0.37/core/state-sync
- https://docs.cosmos.network/main/user/run-node/run-node#state-sync
Download and Run update_trust.sh script
Start the node
The following command starts the node. Note that after starting, the node should sync first, which may take some time until you can start using it.Top up the account
Contact the Int3face team and provide your validator’s account address to top it up.Get your Tendermint validator public key
Firstly, you need to get your Tendermint validator public key. You must get is as it will be necessary to include in the transaction to create your validator. If you are using Tendermint’s nativepriv_validator.json as your consensus key, you display your validator public key using the following command.
Submit validator creation
Now that you have you key imported, you are able to use it to create the validator. To create the validator, you will have to choose the following parameters for your validator:- moniker
- commission-rate
- commission-max-rate
- commission-max-change-rate
- min-self-delegation (must be >1)
- website (optional)
- details (optional)
- pubkey (gotten in previous step)
--ip and --node-id flags.
An example create-validator command looks like this:
Start a background service
You will need some way to keep theint3faced start process always running. If you’re on linux, you can do this by creating a service.
$HOME/.int3faced/logs/ directory.
Then update and start the node:
Observer node
Build and install the binary
Int3face observer provides block scanners and chain clients for Int3face and external chains. To install Int3face observer, clone the repository to your local machine from Github. Please contact the Int3face team for accessing theInt3facechain/observer repository.
v0.2.3.
int3obsd binary to $GOPATH/bin.
int3obsd binary to $GOPATH/bin.
NOTE: if you have problem with access to the bridge go module, try to use GOPRIVATE environment variable: export GOPRIVATE=github.com/Int3facechain/*
Init the observer
After that,int3obsd can be used to initialize the configuration.
~/.int3faced by default) with the following folders:
default folder stores the current observer profile; refer to Profiles for details. The profile folder contents:
tssis a folder with all TSS-related informationlogsis a folder for logsnode_keyis the node’s private keynode_key.pubis the node’s public keyobserver.tomlis the observer config filepool_key.pubis the current public key of the committeepre_params.jsonis the hexed pre-parameters used for the key generation
Download observer config
Download theobserver.toml file and place it into the observer configuration directory (~/.int3faced/observer/default by default).
keyring-folder parameter is properly configured and points to your keyring. Note that in some Linux distributions, the observer binary fails to parse a tilde sign in the home-relative path. Therefore, if you receive an error saying that the keyring is not found, try changing the keyring path in observer.toml from, for example, ~/.intrfaced to /root/.intrfaced (meaning avoid using ~).
Start the observer
Start the observer using your validator’s account.int3obsd start process always running. If you’re on linux, you can do this by creating a service.
To make the service work, you need a way to pass your keyring passphrase to the service. One option to do that is to create an environment variable with your passphrase and make it persistent for the current linux user.
PASSPHRASE and persist it in your bash config. Later, the observer service will use it to start automatically.
$HOME/.int3faced/observer/default/logs/ directory.
Then update and start the node:
Join the committee
At the beginning, your node is not part of the TSS committee. While you can observe blocks, your vote will not be counted during bridging. To become a participant, please wait for the next round of pool public key generation. If you want to expedite this process or require additional information, feel free to contact our team!DOGE Node
Download binaries
Download the DOGE binaries and extract them to the bin folder.bin folder is a folder added to the PATH environment variable. However, you can use an arbitrary folder to store the binaries.
If you also want to use the bin folder, one can be added to the PATH using the following command:
Create home dir
Download DOGE configuration
rpcuser and rpcpassword in the downloaded file. Also, modify these fields in the observer.toml file, so the observer can connect to the Dogecoin node.
Start the node
Verify the node is started
Mine blocks
Mine blocks to collect new coins. You may need to execute this operation several times until you get the coins.Verify the blocks are mined
Check the balance of our node
BTC Node
Download binaries
bin folder is a folder added to the PATH environment variable. However, you can use an arbitrary folder to store the binaries.
If you also want to use the bin folder, one can be added to the PATH using the following command:
Create home dir
Download BTC configuration
Start the node
Verify node is started
Create new wallet or load your own wallet
Create
- Enables use of the private keys
- Init keys and HD seed
- Password
- Keep track of coin reuse
- Create native descriptors
- Load this wallet on startup
Load
- Load this wallet on startup
Create new address for your wallet
Mine blocks
Verify the blocks are mined
Check the balance of our node
BCH Node
Download binaries
BCH binaries names intersect with the BTC names. So, we are going to rename the binaries.Create home dir
Download BCH configuration
wget https://raw.githubusercontent.com/Int3facechain/networks/main/int3-test-2/bitcoin-cash.conf —output-document $HOME/.bitcoin-cash/bitcoin-cash.confCreate aliases
Since the BCH names and paths conflict with the BTC, let’s create aliases for the main BCH binaries.Start the node
Verify node is started
Create new address for your wallet
Mine blocks
Verify the blocks are mined
Check the balance of your node
LTC Node
Download binaries
bin folder is a folder added to the PATH environment variable. However, you can use an arbitrary folder to store the binaries.
If you also want to use the bin folder, one can be added to the PATH using the following command:
Create home dir
Download LTC configuration
Start the node
Verify node is started
Create new wallet
- Enables use of the private keys
- Init keys and HD seed
- Password
- Keep track of coin reuse
- Create native descriptors
- Load this wallet on startup