Chainflip is a cross-chain AMM enabling native asset swaps without wrapped tokens or specialised wallets
Component | Specifications |
---|---|
OS | Ubuntu 20.04 - PLEASE ONLY USE THIS OS. |
CPU | 4 GHz | 4+ Cores, Dedicated is better |
RAM | 8 GB |
Storage | 50 GB (this may increase over time) |
Provider | Link |
---|---|
PQ HOSTING | https://pq.hosting/?from=542984 |
- Download software Add Chainflip APT Repository:
sudo mkdir -p / etc / apt / keyrings
curl -fsSL repo.chainflip.io/keys/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/chainflip.gpg
Check key authenticity:
gpg --show-keys / etc / apt / keyrings / chainflip.gpg
Here is a message that should appear in your terminal:
pub rsa3072 2022-11-08 [ SC ] [ expires: 2024-11-07 ]
BDBC3CF58F623694CD9E3F5CFB3E88547C6B47C6
uid Chainflip Labs GmbH < dev@chainflip.io >
sub rsa3072 2022-11-08 [ E ] [ expires: 2024-11-07 ]
After that, add the Chainflip repository to the list of suitable sources:
echo "deb [ signed-by = /etc/apt/keyrings/chainflip.gpg] https://repo.chainflip.io/perseverance/ focal main" | sudo tee /etc/apt/sources.list.d/chainflip.list
Package Installation:
sudo apt-get update
sudo apt-get install -y chainflip-cli chainflip-node chainflip-engine
- Generate keys
The first thing we need is a catalog for storing our keys.
sudo mkdir / etc / chainflip / keys
Then we look for Private Key of our metamasca ( guide how to find the key http://help.silamoney.com/en/articles/4254246-how-to-generate-ethereum-keys)
We insert this metamask key instead of YOUR_VALIDATOR_WALLET_PRIVATE_KEY in quotation marks as in the example. If your key starts at 0x - delete 0x before inserting into the code!
echo -n "YOUR_VALIDATOR_WALLET_PRIVATE_KEY" | sudo tee / etc / chainflip / keys / etchereum_key_file
Signature Key Generation:
chainflip-node key generate
Must give out this:
Secret phrase: XXX
Network ID: 2112
Secret seed: 0xXXX # This is your private key. Hold onto it.
Public key ( lex ): 0xXXX
Account ID: 0xXXX
Public key ( SS58 ): cFXXX # This is your Validator ID. Make sure you have it handy for staking.
SS58 Address: cFXXX
Be sure to back up all of these values. You will need them again to plug your knot. If your node is ever turned off by your hosting provider, you will need these values to prevent the reduction of your funds. DO NOT LET THEM!!!
Download your signature keys:
Take Secret Seed from your signature keys generated in the previous step and add it to your scan node using this command, replacing YOUR_CHAINFLIP_SECRET_SEED with your key.
SECRET_SEED = YOUR_CHAINFLIP_SECRET_SEED
echo -n "$ { SECRET_SEED: 2 }" | sudo tee /etc/chainflip/keys/signing_key_file
Node Key Generation:
Finally, we need to do a similar process again. We need to generate a separate key that is used for a safe connection between validators. This time, run:
sudo chainflip-node key generate-node-key --file /etc/chainflip/keys/node_key_file
Save the code in the terminal is your Noda Key!
Configuration file
We need to create a configuration file:
sudo mkdir -p / etc / chainflip / config
Next, go to the site https://rivet.cloud/ create this account :
go to Keys
Next, by creating the key on the Goerli Testnet network, we are interested in RPC URL and WSS URL
Next, change the file:
sudo nano /etc/chainflip/config/Default.toml
In an empty file, insert this ( preliminarily replacing wss: //SOME_LONG_SECRET_INFORMATION.goerli.ws and https://SOME_LONG_SECRET_INFORMATION.goerli.rpc. links from the last step ( RPC and Wss ), as well as replacing IP_ADDRESS_OF_YOUR_NODE with the ip of your server :
# Default configurations for the CFE
[ node_p2p ]
node_key_file = "/etc/chainflip/keys/node_key_file"
ip_address = "IP_ADDRESS_OF_YOUR_NODE"
port = "8078"
[ state_chain ]
ws_endpoint = "ws://127.0.0.1:9944"
signing_key_file = "/etc/chainflip/keys/signing_key_file"
[ eth ]
# Ethereum RPC endpoints ( websocket and http for redundancy ).
ws_node_endpoint = "wss://SOME_LONG_SECRET_INFORMATION.goerli.ws.rivet.cloud"
http_node_endpoint = "https://SOME_LONG_SECRET_INFORMATION.goerli.rpc.rivet.cloud/"
# Ethereum private key file path. This file should contain a hex-encoded private key.
private_key_file = "/etc/chainflip/keys/ethereum_key_file"
[ signing ]
db_file = "/etc/chainflip/data.db"
Press CTRL + X, press Y, press ENTER
- Launch
To start the node:
sudo systemctl start chainflip-node
To check status:
sudo systemctl status chainflip-node
Check the logs:
tail -f / var / log / chainflip-node.log
We are waiting for synchronization.
After the node is fully synchronized, you will see something like this:
💤 Idle ( 15 peers ), best: # 3578 ( 0xcf9a...d842 ), finalized # 3576 ( 0x6a0e...03fe ), <TAG1
✨ Imported # 3579 ( 0xa931 ... c03e )
( To close the logs, press CTRL + C )
Now run chainflip-engine:
sudo systemctl start chainflip-engine
Check service status:
sudo systemctl status chainflip-engine
Finally, we give the team to both services to start again after the reset:
sudo systemctl enable chainflip-node
sudo systemctl enable chainflip-engine
Every time you make changes to the configuration file, do not forget to restart:
systemctl restart chainflip-engine
- Validator creation
We go to the discord and request tokens:
We go to the discord and request tokens:
we write !drip < the address of your wallet is metamask >
Next, go to https://stake-perseverance.chainflip.io/nodes
Connect MetaMask Press the « + Add node ». You should see the modal window « Register a new node ». Enter the validator identifier you received during Key Generation — Your Public Key ( SS58 ) — and the amount of tFLIP you want to deliver. Press « Done » Metamask will ask you to sign two transactions. The first — is the approval of the token, and the second — transfer and rate of your tFLIP. Congratulations! You should see the new node on the « My nodes » ( there is not a big delay, do not worry if you do not see immediately ).
Go for Part2 Setup : https://github.com/0xfunda/chainflip/blob/main/Part2.md