Aleo | Testnet 3
Aleo is the first platform to offer fully private applications. Aleo achieves this by leveraging decentralized systems and zero-knowledge cryptography to protect user data on the web.
Contents
Project Information
Description
Aleo is a blockchain that uses zero-disclosure proof technology. The use of this technology allows for a high level of privacy when working with the network - non-disclosure of the sender's wallet and transaction amount.
The main thing about Aleo is that it supports smart contracts, and consequently the possibility to create DApps on it. It has developed its own application development language and its own development environment (IDE) specifically for this purpose.
Aleo raised $298M by a16z, Polychain Capital, Coinbase Ventures, Samsung and many others.
The prover incentive period
The prover incentive period will run from December 2, 2022, at 00:00 UTC to January 26, 2023, at 23:59 UTC, or until the network has emitted 7.5M credits, whichever comes first.
Token Awards for the Incentive Period
As mentioned in our prior blog post, we have set aside 25M Aleo credits for Testnet 3 incentives. Prover incentives account for 30% or 7.5M credits.
Requirements
The following are minimum requirements to run an Aleo node:
- CPU: 16-cores (32-cores preferred)
- RAM: 16GB of memory (32GB preferred)
- Storage: 128GB of disk space
- Network: 10 Mbps of upload and download bandwidth
Please note to run an Aleo Prover that is competitive, the machine will require more than these requirements.
Launch
1. Server Preparation
sudo apt update && sudo apt upgrade -y
sudo apt install wget jq git build-essential pkg-config libssl-dev -y
2. Rust
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/installers/rust.sh)
The version of Rust must be at least 1.65.0
rustc --version
If not, delete with the command below and install again
<(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/installers/rust.sh) \ -un
3. Node Installation
Clone a repository with a node
cd; git clone https://github.com/AleoHQ/snarkOS.git --depth 1
cd snarkOS
cargo build --release
Copy the binary file to the standard binary storage
mv $HOME/snarkOS/target/release/snarkos /usr/bin
snarkos account new > $HOME/aleo_account.txt
Make a backup copy of the wallet data file, saving it in a safe place (the command shows the path)
echo $HOME/aleo_account.txt
4. Continued
Add the wallet address to the system as a variable
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n aleo_wallet_address -v `grep -oPm1 "(?<=Address )([^%]+)(?=$)" $HOME/aleo_account.txt`
Add a private wallet key to the system as a variable
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n aleo_private_key -v `grep -oPm1 "(?<=Private Key )([^%]+)(?=$)" $HOME/aleo_account.txt`
Check the addition of variables to the system
echo $aleo_wallet_address $aleo_private_key
If one of them is missing, go back to the step with the wallet.
5. Final
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/ports_opening.sh) 3033 4133
printf "[Unit] Description=Aleo Prover After=network-online.target [Service] User=$USER ExecStart=`which snarkos` start --nodisplay --prover $aleo_private_key Restart=on-failure RestartSec=3 LimitNOFILE=65535 [Install] WantedBy=multi-user.target" > /etc/systemd/system/aleod.service
sudo systemctl daemon-reload sudo systemctl enable aleod sudo systemctl restart aleod
Add a command to view the log of a node in the system as a variable
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n aleo_log -v "sudo journalctl -fn 100 -u aleod" -a
aleo_log
Installation of several hardwares into one wallet
1. Use step 1-3(including 3.1) to prepare hardware
2. Installing a file manager
cd ..
Install the Midnight Commander
sudo apt -y install mc
mc
3. Changing a file
4. Saving
5. Working with a wallet
5.1 Add the wallet address to the system as a variable
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n aleo_wallet_address -v `grep -oPm1 "(?<=Address )([^%]+)(?=$)" $HOME/aleo_account.txt`
5.1 Add a private wallet key to the system as a variable
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n aleo_private_key -v `grep -oPm1 "(?<=Private Key )([^%]+)(?=$)" $HOME/aleo_account.txt`
5.3 Check the addition of variables to the system
echo $aleo_wallet_address $aleo_private_key
6. Back to Final
Updating
If you have not downloaded the GitHub repository with the node (snarkOS folder), then clone it
cd; git clone https://github.com/AleoHQ/snarkOS.git --depth 1
cd $HOME/snarkOS && \ git stash; \ git pull; \ cargo clean; \ cargo build --release; \ mv $HOME/snarkOS/target/release/snarkos /usr/bin; \ cd
sudo systemctl restart aleod
Deleting
sudo systemctl stop aleod
sudo systemctl disable aleod rm -rf /etc/systemd/system/aleod.service sudo systemctl daemon-reload
Delete the folder with the project and the binary file
rm -rf $HOME/snarkOS /usr/bin/snarkos
Useful Commands
Available variables (remove echo if used)
echo $aleo_wallet_address echo $aleo_private_key
aleo_log sudo journalctl -fn 100 -u aleod
sudo systemctl restart aleod
Useful Links
Official website of the project
Discord | Twitter | GitHub | Blog
Note
This article was written on the basis of the 1package one. We have translated it into English and added clarifications.