logo
Free, Micro AI Code Reviews That Run on Git Commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, Micro AI Code Reviews That Run on Git Commit | Product Hunt git-lrc - Free, Micro AI Code Reviews That Run on Git Commit | Product Hunt
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/node
or

Install via npx

npx @hexmos/ipm i amadeusprotocol/node

Prerequisites

Podman or Docker

containerization

Google Chrome

browser

Screen

utility

Manual 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.sh

Download Pre-compiled Binary

curl -LO https://github.com/amadeusprotocol/node/releases/download/v1.6.0/amadeusd

chmod +x ./amadeusd

Run 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 amadeusd

Post 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".