{"content":{"title":"源码方式搭建Sui全节点及交互","body":"# 源码方式搭建Sui全节点及交互\r\n\r\n## 1 环境准备\r\n\r\n### （1）下载源码\r\n\r\n```bash\r\n# fork https://github.com/MystenLabs/sui\r\n$ git clone git@github.com:bityoume/sui.git bityoume_sui\r\n$ cd bityoume_sui\r\n$ git remote add upstream https://github.com/MystenLabs/sui\r\n$ git fetch upstream\r\n```\r\n\r\n### （2）编译节点\r\n\r\n```bash\r\n$ cargo build --release\r\n$ cp target/release/sui-node ~/.cargo/bin/\r\n```\r\n\r\n### （3）创建节点配置及数据目录\r\n\r\n```bash\r\n$ mkdir -p ~/sui-devnet/config\r\n$ cp crates/sui-config/data/fullnode-template.yaml ~/sui-devnet/config/fullnode.yaml\r\n$ cd ~/sui\r\n```\r\n\r\n### （4）下载开发环境创世块\r\n\r\n```bash\r\ncurl -fLJO https://github.com/MystenLabs/sui-genesis/raw/main/devnet/genesis.blob\r\n```\r\n\r\n### （5）修改配置文件\r\n\r\n`fullnode.yaml`\r\n\r\n- **修改前**\r\n\r\n```yaml\r\ndb-path: \"/opt/sui/db\"\r\n......\r\ngenesis:\r\n  genesis-file-location: \"/opt/sui/config/genesis.blob\"\r\n```\r\n\r\n- **修改后**\r\n\r\n```yaml\r\ndb-path: \"/root/sui-devnet/db\"\r\n......\r\ngenesis:\r\n  genesis-file-location: \"/root/sui-devnet/config/genesis.blob\"\r\n```\r\n\r\n### （6）启动节点\r\n\r\n```bash\r\n$ sui-node --config-path ./fullnode.yaml\r\n```\r\n\r\n### （7）启动日志\r\n\r\n\r\n![image.png](https://img.learnblockchain.cn/attachments/2023/12/D7xmcmXi658c2c42549b2.png)\r\n\r\n\r\n### （8）当前已经同步区块高度\r\n\r\n```bash\r\ncurl --location --request POST 'http://127.0.0.1:9000/' --header 'Content-Type: application/json' --data-raw '{\r\n  \"jsonrpc\": \"2.0\",\r\n  \"id\": 1,\r\n  \"method\": \"sui_getTotalTransactionBlocks\",\r\n  \"params\": []\r\n}'\r\n{\"jsonrpc\":\"2.0\",\"result\":\"631041\",\"id\":1}\r\n```\r\n\r\n\r\n![image.png](https://img.learnblockchain.cn/attachments/2023/12/1fbtXhc6658c2c523b8ca.png)\r\n\r\n耐心等待区块同步完成。。。\r\n\r\n## 2 交互测试\r\n\r\n### （1）添加本地网络\r\n\r\n```bash\r\n$ sui client new-env --alias localnet --rpc http://127.0.0.1:9000\r\nAdded new Sui env [localnet] to config.\r\n\r\n$ sui client switch --env localnet\r\nActive environment switched to [localnet]\r\n```\r\n\r\n\r\n\r\n==待区块同步完成后，再进行其他交互测试==\r\n\r\n\r\n\r\n## 3 参考资料\r\n\r\nhttps://docs.sui.io/guides/operator/sui-full-node\r\n\r\nhttps://docs-zh.sui-book.com/guides/operator/sui-full-node"},"author":{"user":"https://learnblockchain.cn/people/932","address":null},"history":"bafkreie3vnwzyvo2efhdm57xelesbusj3uwh4cymy3du5vzgssaxpombx4","timestamp":1703685852,"version":1}