[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-95072":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":9,"language":10,"languages":8,"totalLinesOfCode":8,"stars":11,"forks":12,"watchers":13,"openIssues":13,"contributorsCount":8,"subscribersCount":13,"size":13,"stars1d":13,"stars7d":13,"stars30d":13,"stars90d":13,"forks30d":13,"starsTrendScore":13,"compositeScore":14,"rankGlobal":8,"rankLanguage":8,"license":8,"archived":15,"fork":15,"defaultBranch":16,"hasWiki":15,"hasPages":15,"topics":8,"createdAt":8,"pushedAt":8,"updatedAt":17,"readmeContent":18,"aiSummary":19,"trendingCount":13,"starSnapshotCount":13,"syncStatus":20,"lastSyncTime":8,"discoverSource":21},95072,"node","amadeusprotocol\u002Fnode","amadeusprotocol",null,"https:\u002F\u002Fgithub.com\u002Famadeusprotocol\u002Fnode","Rust",4525,85,0,51.8,false,"main","2026-08-24 04:01:23","# node\n\n### Tested Distro\u002FEnv\nLinux Kernel 6.8  \nUbuntu 24.04  \n\n### Building\nUsing podman or docker\n```\npodman build --tag erlang_builder -f build.Dockerfile\n.\u002Fbuild.sh\n```\n\n### Testnet\n```\n#run local testnet with RPC api\n\n#point RPC endpoint to localhost\nvim \u002Fetc\u002Fhosts\n127.0.0.1 nodes.amadeus.bot\n\n#run google chrome with cert verification disabled and CORS disabled\nmkdir -p \u002Ftmp\u002Fchrome_debug\ngoogle-chrome  --user-data-dir=\"\u002Ftmp\u002Fchrome_debug\" --no-first-run --no-default-browser-check \\\n--ignore-certificate-errors --disable-web-security --unsafely-treat-insecure-origin-as-secure=https:\u002F\u002Fnodes.amadeus.bot\n\n#allow listening on port 80 and 443\nsudo sysctl -w net.ipv4.ip_unprivileged_port_start=80\n\n#run the local testnet\nTESTNET=true WORKFOLDER=\u002Ftmp\u002Ftestnet HTTP_IPV4=127.0.0.1 HTTP_PORT=80  .\u002Famadeusd\n\n# inside REPL submit a transfer to self\npk = Application.fetch_env!(:ama, :trainer_pk)\nsk = Application.fetch_env!(:ama, :trainer_sk)\nTestnet.call(sk, \"Coin\", \"transfer\", [pk,\"1\",\"AMA\"])\n\n# Deploy contract (default account is :trainer_pk)\n\npk = Application.fetch_env!(:ama, :trainer_pk)\nsk = Application.fetch_env!(:ama, :trainer_sk)\nTestnet.deploy \"\u002Fhome\u002Fuser\u002Fproject\u002Fnode\u002Fcontract_samples\u002Fassemblyscript\u002Fcounter.wasm\"\nTestnet.call sk, pk, \"get\", []\nTestnet.call sk, pk, \"increment\", [\"2\"]\n```\n\n### AutoUpdates + Running as a systemd service\n\n```\ncat \u003C\u003CEOT > \u002Fetc\u002Fsysctl.conf\n#buff up the UDP stack for 1gbps\nnet.core.wmem_max = 268435456\nnet.core.rmem_default = 212992\nnet.core.rmem_max = 268435456\nnet.core.netdev_max_backlog = 300000\nnet.core.optmem_max = 16777216\nnet.ipv4.udp_mem = 3060432 4080578 6120864\n\n# for normal networks: block spoofed UDP packets\nnet.ipv4.conf.all.rp_filter=1\nnet.ipv4.conf.default.rp_filter=1\nEOT\n```\n\n```\ncat \u003C\u003CEOT > \u002Fetc\u002Fsecurity\u002Flimits.conf\nroot hard nofile 1048576\nroot soft nofile 1048576\n* hard nofile 1048576\n* soft nofile 1048576\nroot hard nproc unlimited\nroot soft nproc unlimited\n* hard nproc unlimited\n* soft nproc unlimited\nroot hard memlock unlimited\nroot soft memlock unlimited\n* hard memlock unlimited\n* soft memlock unlimited\nEOT\ncat \u003C\u003CEOT > \u002Fetc\u002Fsystemd\u002Fsystem.conf\n[Manager]\nDefaultTasksMax=infinity\nDefaultLimitNOFILE=infinity\nDefaultLimitNPROC=infinity\nDefaultLimitMEMLOCK=infinity\nDefaultLimitLOCKS=infinity\nEOT\ncat \u003C\u003CEOT > \u002Fetc\u002Fsystemd\u002Fuser.conf\n[Manager]\nDefaultTasksMax=infinity\nDefaultLimitNOFILE=infinity\nDefaultLimitNPROC=infinity\nDefaultLimitMEMLOCK=infinity\nDefaultLimitLOCKS=infinity\nEOT\n\n\ncat \u003C\u003CEOT > \u002Fetc\u002Fsystemd\u002Fsystem\u002Famadeusd.service\n[Unit]\nDescription=AmadeusD\nAfter=network-online.target\n\n[Service]\nType=forking\nLimitNOFILE=1048576\nKillMode=control-group\nRestart=always\nRestartSec=3\nUser=root\nWorkingDirectory=\u002Froot\u002F\nEnvironment=\"AUTOUPDATE=true\"\nExecStart=\u002Fusr\u002Fbin\u002Fscreen -UdmS amadeusd bash -c '.\u002Famadeusd'\n\n[Install]\nWantedBy=default.target\nEOT\n\nsystemctl enable amadeusd\nsystemctl start amadeusd\n\nscreen -rd amadeusd\n```\n\nFor non-root change:\n```\nWorkingDirectory=\u002Fhome\u002Fyouruser\nUser=youruser\n```\n\n```\nFor computor autostart\nEnvironment=\"COMPUTOR=true\"\n\nFor computor autostart to be validator\nEnvironment=\"COMPUTOR=trainer\"\n```\n\n\u003Csub>\nDisclaimer: This is an open-source research project shared for educational and informational purposes only. All code, content, and related materials are provided “as is”, with no guarantees or warranties. This project is experimental, may change over time, and may contain errors. You use this code at your own risk. The contributors and maintainers are not responsible for any loss, damage, or legal issues resulting from its use. You are responsible for following all laws and regulations in your location. Use in or by sanctioned countries, individuals, or organizations, such as those restricted under U.S. export laws or OFAC rules, is strictly prohibited. We do not support or encourage the unlawful or unauthorized deployment of this code.\n\u003C\u002Fsub>\n","Amadeus Protocol Node 是一个基于 Rust 实现的区块链全节点实现，专为高性能、低延迟的去中心化应用运行环境设计。核心功能包括本地测试网部署、WASM 智能合约部署与调用（支持 AssemblyScript 编译的合约）、内置 RPC 接口、系统级性能调优（如 UDP 栈参数、文件描述符与内存锁限制配置）以及 systemd 服务化管理。项目强调生产就绪的网络与内核配置，适用于区块链开发者的本地合约调试、测试网验证节点搭建及轻量级链上应用集成场景。",2,"trending"]