Nulink Incentivised Testnet
INTRODUCTION
NuLink network is a decentralized solution for privacy-preserving applications developers to implement best practices and best of breed security and privacy. The NuLink network provides endpoint encryption and cryptographic access control. Sensitive user data can be securely shared from any user platform to cloud or decentralized storage and access to that data is granted automatically by policy in Proxy Re-Encryption or Attribute-Based Encryption.
For the data user on the other side, Zero-Knowledge Proof can help them verify the data source. In more advanced privacy-preserving use cases, NuLink uses Fully Homomorphic Encryption to customize enterprise-level data computation services.The Nulink technology platform consists of blockchain, access control (Proxy Re-Encryption, Attribute-Based Encryption) and secure computation (Zero-Knowledge Proof, Secure Multi-party Computation, Fully Homomorphic Encryption) as its technical core. It provides enterprise-level data sharing and computation services.
NULINK TESTNET
The NuLink Testnet is called the Horus network. It includes four parts:
The NuLink Staking Dapp
The NuLink Worker Node
The NuLink Agent and
The NuLink File Sharing Dapp.
The NuLink Staking Dapp and the NuLink Worker Node are used by those who want to provide cryptographic service in the Horus network; while the NuLink Agent and the NuLink File Sharing Dapp are used by those who want to use the privacy-preserving service in the Horus network. The token in the Horus network is NLK(test). Please be aware it is only used for testing purpose and has no trading value.
1. PREPARATIONS
First you need to know how to rent a server, follow this link 🔗 Then how to log into your server using Putty here.
If you are already good with both, then let's proceed.
sudo apt update && sudo apt upgrade -y
apt install python3-pip -y
apt install ufw -y && ufw allow ssh && ufw allow https && ufw allow http && ufw allow 9151 && ufw enable -y
1d.i. Update the apt
package index and install packages:
sudo apt-get update && sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release
1d.ii. Add Docker’s official GPG key:
sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
1d.iv. Install Docker Engine, containerd, and Docker Compose.
sudo apt update && sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
To verify your docker was properly installed, run
sudo docker run hello-world
2. CREATE WORKER ACCOUNT
wget https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.10.23-d901d853.tar.gz
tar -xvzf geth-linux-amd64-1.10.23-d901d853.tar.gz
cd geth-linux-amd64-1.10.23-d901d853/
Generate Ethereum account and Keystore
./geth account new --keystore ./keystore
You will get an output like below;
Enter and confirm the new password;
You will get an out put like this
Your new key was generated Public address of the key: 0x05F3c985CxxxxxxxxxxxxxxxxxF1Exxxxxxx6Bfb Path of the secret key file: /root/geth-linux-amd64-1.10.23-d901d853/keystore/UTC--2022-10-23T14-01-03.226009757Z--05F3c985CxxxxxxxxxxxxxxxxxF1Exxxxxxx6Bfb - You can share your public address with anyone. Others need it to interact with you. - You must NEVER share the secret key with anyone! The key controls access to your funds! - You must BACKUP your key file! Without the key, it's impossible to access account funds! - You must REMEMBER your password! Without the password, it's impossible to decrypt
Ensure to save your Public address of the Key and the Path of the secret key file
3. INITIALIZE THE STAKING DApp
NuLink currently supports only METAMASK wallet. You can download and install METAMASK wallet Here. Then, create an account for staking in METAMASK after installation.
Login and connect the staking account in Nulink Staking Dapp.
Now, progress to Faucet your wallet using the Horus Faucet; Click on get the BNB and answer the captcha correctly.
Input your wallet address and click on Give me BNB and select 0.5BNB
0.5TBNB will be transferred into your wallet;
Use the Faucet button to request the NLK tokens;
Input the amount as 50000 NLK or us the MAX button, press the confirm button and confirm transaction in your metamask wallet (twice).
Now, the Amount of NLF will reflect on the staking amount.
Send some TBNB from your metamask wallet to your operator address saved from your worker account (Step 2).
Operator address == Public address of the key == 0x05F3c985CxxxxxxxxxxxxxxxxxF1Exxxxxxx6Bfb
send 0.1 TBNB to your Operator address;
4. NULINK WORKER INSTALLATION
Docker Install and Update
Pull the latest version of Nulink
cd && docker pull nulink/nulink:latest
Create a directory in your host machine for later usage.
cd /root && mkdir nulink
Remember in step 3, we saved two information, we will be needing them from here. The private file generated by NuLink Worker will also be stored in this directory. Please ensure that this directory has 777 permissions:
N/B: Replace xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx below with Path of the secret key file
cp /root/geth-linux-amd64-1.10.23-d901d853/keystore/UTC--2022-10-25T11-03-46.010714300Z--bb3b5ad01404058718726c46e2d5f28bff996b75 /root/nulink
cp xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx /root/nulink
chmod -R 777 /root/nulink
Local Install
It is highly recommend to use python-virtualenv to install Nulink inside a dedicated virtual environment.
pip install virtualenv
virtualenv /root/nulink-venv
Activate the newly created virtual environment:
source /root/nulink-venv/bin/activate
wget https://filetransfer.nulink.org/release/nulink-0.2.0-py3-none-any.whl
pip install nulink-0.2.0-py3-none-any.whl
python -c "import nulink"
nulink --help
5. NuLink Worker Initialization and Running
Replace <YOUR NULINK STORAGE PASSWORD> with your preferred name
export NULINK_KEYSTORE_PASSWORD=<YOUR NULINK STOREAGE PASSWORD>
Password (<YOUR NULINK STORAGE PASSWORD>) is used for lock/unlock the private storage generated by NuLink Worker. You can choose some characters(8 minimum) as the password here. Do not forget it!!!
Replace <YOUR WORKER ACCOUNT PASSWORD> with your preferred name
export NULINK_OPERATOR_ETH_PASSWORD=<YOUR WORKER ACCOUNT PASSWORD>
Password (<YOUR WORKER ACCOUNT PASSWORD>) is used to unlock the keystore file of Worker account.
Run Node Via Docker
Initialize Node Configuration:
Replace xxxxxxxxxxxxxxxxxxxxxxxxx by the your keystore file of the Worker (Fig5a) and yyyyyyyyyyyyyyyyyyyyyyyyyy (Fig5b) by the public address of the key in the code below.
docker run -it --rm \-p 9151:9151 \-v /root/nulink:/code \-v /root/nulink:/home/circleci/.local/share/nulink \-e NULINK_KEYSTORE_PASSWORD \nulink/nulink nulink ursula init \--signer keystore:///code/xxxxxxxxxxxxxxxxxxxxxxx \ --eth-provider https://data-seed-prebsc-2-s2.binance.org:8545/ \--network horus \--payment-provider https://data-seed-prebsc-2-s2.binance.org:8545/ \--payment-network bsc_testnet \ --operator-address yyyyyyyyyyyyyyy \ --max-gas-price 100
Save your seed word. covered in the picture above(Never share this with anyone), press y and ENTER.
You will be requested to confirm your seed words; Enter your phrase correctly
Save all info from the output in your notepad
Launch a Node
Run the code below to launch the node;
docker run --restart on-failure -d \--name ursula \-p 9151:9151 \-v /root/nulink:/code \-v /root/nulink:/home/circleci/.local/share/nulink \-e NULINK_KEYSTORE_PASSWORD \-e NULINK_OPERATOR_ETH_PASSWORD \nulink/nulink nulink ursula run --no-block-until-ready
The following command describes how to view worker addresses:
docker logs -f ursula
6. BONDING YOUR WORKER TO EARN REWARDS
Open the link to get to the Nulink test-staking site.
Input your Worker Address and Node URL;
Node URL is in the format https://Your_adress_VPS:9151
Replace Your_adress_VPS with your Ip Adress
Approve the transactions in your Metamask.
After that your node will appear Online
, if it still appear to be Offline
Do not worry it will be Online
Soon.
Feed back Form (A MUST)
Fill out the form regarding to bugs or improvements for nulink services! If you did not submit form you won't be eligible! Ensure to fill the necessary if you encounter no issues, skip but submission is a MUST!
Only good submission on feedback form will get rewards. Thats it! You are done and make sure your node is not shutdown!!
Nulink Discord Website Telegram Official Doc Whitepaper Testnet information about rewards Form