How to install amadeusprotocol/node. Official installation instructions. Project installation guide. Framework or library installation. Build installation instructions. How to setup and install from GitHub. Installation steps and setup instructions. Official docs and installation instructions GitHub.
amadeusprotocol/node Installation Guide
How to install amadeusprotocol/node. Official project installation instructions and setup guide.
⚡
Automated Install (Recommended)
Quick installation instructions for amadeusprotocol/node. This is the fastest way to complete project installation and setup.
Install via curl
curl -fsSL https://hexmos.com/ipm-install | bash &&
ipm i amadeusprotocol/nodeor
Install via npx
npx @hexmos/ipm i amadeusprotocol/nodePrerequisites
Podman or Docker
containerizationGoogle Chrome
browserScreen
utilityManual Installation Methods
Manual installation instructions. How to install from GitHub source.
Build from Source using Docker/Podman
git clone https://github.com/amadeusprotocol/node.git
cd node
podman build --tag erlang_builder -f build.Dockerfile
./build.shDownload Pre-compiled Binary
curl -LO https://github.com/amadeusprotocol/node/releases/download/v1.6.0/amadeusd
chmod +x ./amadeusdRun Local Testnet
sudo curl -s "https://raw.githubusercontent.com/amadeusprotocol/node/main/scripts/set_hosts.sh" | bash
sudo google-chrome --user-data-dir="/tmp/chrome_debug" --no-first-run --no-default-browser-check --ignore-certificate-errors --disable-web-security --unsafely-treat-insecure-origin-as-secure=https://nodes.amadeus.bot
sudo sysctl -w net.ipv4.ip_unprivileged_port_start=80
TESTNET=true WORKFOLDER=/tmp/testnet HTTP_IPV4=127.0.0.1 HTTP_PORT=80 ./amadeusd
pk=$(Application.fetch_env!(:ama, :trainer_pk)); sk=$(Application.fetch_env!(:ama, :trainer_sk)); Testnet.call(sk, "Coin", "transfer", [pk,"1","AMA"])
pk=$(Application.fetch_env!(:ama, :trainer_pk)); sk=$(Application.fetch_env!(:ama, :trainer_sk)); Testnet.deploy "/home/user/project/node/contract_samples/assemblyscript/counter.wasm"
pk=$(Application.fetch_env!(:ama, :trainer_pk)); sk=$(Application.fetch_env!(:ama, :trainer_sk)); Testnet.call sk, pk, "get", []
pk=$(Application.fetch_env!(:ama, :trainer_pk)); sk=$(Application.fetch_env!(:ama, :trainer_sk)); Testnet.call sk, pk, "increment", ["2"]Setup as a Systemd Service
cat <<EOT | sudo tee /etc/sysctl.conf
#buff up the UDP stack for 1gbps
net.core.wmem_max = 268435456
net.core.rmem_default = 212992
net.core.rmem_max = 268435456
net.core.netdev_max_backlog = 300000
net.core.optmem_max = 16777216
net.ipv4.udp_mem = 3060432 4080578 6120864
# for normal networks: block spoofed UDP packets
net.ipv4.conf.all.rp_filter=1
net.ipv4.conf.default.rp_filter=1
EOT
sudo sysctl -p
cat <<EOT | sudo tee /etc/security/limits.conf
root hard nofile 1048576
root soft nofile 1048576
* hard nofile 1048576
* soft nofile 1048576
root hard nproc unlimited
root soft nproc unlimited
* hard nproc unlimited
* soft nproc unlimited
root hard memlock unlimited
root soft memlock unlimited
* hard memlock unlimited
* soft memlock unlimited
EOT
cat <<EOT | sudo tee /etc/systemd/system.conf
[Manager]
DefaultTasksMax=infinity
DefaultLimitNOFILE=infinity
DefaultLimitNPROC=infinity
DefaultLimitMEMLOCK=infinity
DefaultLimitLOCKS=infinity
EOT
cat <<EOT | sudo tee /etc/systemd/user.conf
[Manager]
DefaultTasksMax=infinity
DefaultLimitNOFILE=infinity
DefaultLimitNPROC=infinity
DefaultLimitMEMLOCK=infinity
DefaultLimitLOCKS=infinity
EOT
cat <<EOT | sudo tee /etc/systemd/system/amadeusd.service
[Unit]
Description=AmadeusD
After=network-online.target
[Service]
Type=forking
LimitNOFILE=1048576
KillMode=control-group
Restart=always
RestartSec=3
User=root
WorkingDirectory=/root/
Environment="AUTOUPDATE=true"
ExecStart=/usr/bin/screen -UdmS amadeusd bash -c './amadeusd'
[Install]
WantedBy=default.target
EOT
sudo systemctl enable amadeusd
sudo systemctl start amadeusd
screen -rd amadeusdPost Installation Steps
- Ensure you have 'screen' installed for managing the amadeusd process.
- If running as a non-root user, update 'User' and 'WorkingDirectory' in the systemd service file accordingly.
- To run as a Computor, set Environment="COMPUTOR=true".
- To run as a validator, set Environment="COMPUTOR=trainer".
