You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用本地MultiversX Docker容器节点进行智能合约开发?

回答

一、补全Docker端口映射

MultiversX节点默认开放REST API端口8080(合约部署、交互的核心端口)、P2P端口10000(节点组网用),你之前的命令没加端口映射,导致外部无法访问容器内的节点服务。修改后的运行命令示例(以第二条为例):

sudo docker run -d \
  --name my-other-elrond-testnet \
  --mount type=bind,source=${PATH_TO_BLS_KEY_FILE}/,destination=/data \
  -p 8080:8080 \
  -p 10000:10000 \
  elrondnetwork/elrond-go-node:latest \
 --validator-key-pem-file="/data/validatorKey.pem"

已运行的容器无法直接添加端口映射,建议停止删除后重新启动。

二、配置工具连接本地节点

使用官方CLI工具erdpy完成节点交互:

  1. 安装erdpy后,配置节点地址和链ID:
erdpy config set chainID local-testnet
erdpy config set proxy http://localhost:8080

链ID要和本地节点配置文件中的保持一致,默认本地测试网为local-testnet。

  1. 验证连接状态:
erdpy network status

返回节点区块高度、同步状态等信息,说明连接成功。

三、部署智能合约

  1. 准备好编译后的合约.wasm文件,若没有测试钱包,用erdpy生成:
erdpy wallet generate --output-path=./dev-wallet.pem
  1. 执行部署命令:
erdpy contract deploy --bytecode=./your-contract.wasm --pem=./dev-wallet.pem --gas-limit=50000000

四、关于代理的说明

不需要额外代理,只要完成端口映射,本地工具/SDK就能直接通过http://localhost:8080和节点通信。你之前看不到端口暴露,只是因为Docker命令没做端口映射,节点内部本身是开放了必要端口的。


内容的提问来源于stack exchange,提问作者ecorrales

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 18:54:19