Neo 节点介绍
全节点(full nodes)是存储 Neo 区块链全部数据的节点,通过 P2P 的方式与区块链网络连接,在区块链网络中,所有的全节点都是平等的,既充当客户端又充当服务器。
Neo 有两个全节点程序:
-
Neo-CLI:面向开发者,提供命令行界面和一套供外部获取区块链数据的RPC API接口,可以与其它节点达成共识,以及参与区块的生成。
-
Neo-GUI:面向普通用户以及开发者,提供图形界面,具有除共识外的大部分功能。
下载地址
Neo-GUI 与 Neo-CLI 功能对比
| Neo-GUI | Neo-CLI | |
|---|---|---|
| 一般功能 | ||
| 图形界面 | ✔ | |
| 命令行界面 | ✔ | |
| 查询:区块,交易,资产 | ✔ | |
| 钱包管理 | ||
| 创建钱包 | ✔ | ✔ |
| 打开钱包 | ✔ | ✔ |
| 导入导出密钥对 | ✔ | ✔ |
| 助记词导入钱包 | ✔ | |
| 升级钱包文件 | ✔ | |
| 显示密钥对 | ✔ | ✔ |
| 显示所有地址 | ✔ | ✔ |
| 显示所有资产 | ✔ | ✔ |
| 转账 | ✔ | ✔ |
| 提取 GAS | ✔ | ✔ |
| 创建新地址 | ✔ | ✔ |
| 创建多方签名地址 | ✔ | ✔ |
| 批量生成地址 | ✔ | |
| 修改钱包密码 | ✔ | ✔ |
| 删除地址 | ✔ | ✔ |
| 合约 | ||
| 查询合约 | ✔ | |
| 部署合约 | ✔ | ✔ |
| 调用合约 | ✔ | ✔ |
| 高级 | ||
| 注册候选人 | ✔ | ✔ |
| 投票共识节点 | ✔ | ✔ |
| 自定义构造交易 | ✔ | |
| 签名 | ✔ | ✔ |
| 数据转换 | ✔ | |
| JSON-RPC | ✔ | |
| 参与区块链共识 | ✔ |
端口安全策略
如果你想让外部程序访问该节点的 API ,需要开放防火墙端口,以下是端口说明。
必须使用白名单或防火墙以屏蔽外部服务器请求,否则会有重大安全隐患。
Neo-CLI 本身不提供远程开关钱包功能,打开钱包时也没有验证过程。因此,安全策略由用户根据自身情况制定。对于交易所,由于钱包要一直保持打开状态以便处理用户的提现,因此,从安全角度考虑,钱包必须运行在独立的服务器上,并参考下表配置好端口防火墙。
| Mainnet | Testnet | |
|---|---|---|
| JSON-RPC via HTTPS | 10331 | 20331 |
| JSON-RPC via HTTP | 10332 | 20332 |
| P2P via TCP | 10333 | 20333 |
| P2P via WebSocket | 10334 | 20334 |