本文介绍如何将自己的本地测试网络连接到 EOS 公共测试网络 (Public Testnet) 上。

官方文档:https://github.com/EOSIO/eos/wiki/Testnet%3A%20Public

准备

本地已经能够正常运行起了 EOS 的测试网络。如有问题,可参考这篇文档:运行 EOS 源代码(一)

公共测试网络端点 (Public Testnet Endpoints)

现在可以通过以下几种方式去访问 EOS Public Testnet Endpoints

  • HTTP Endpoint: testnet1.eos.io
  • P2P Endpoint: p2p-testnet1.eos.io:9876
  • Web Wallet Endpoint: t1wallet.eos.io, t1api.eos.io, t1readonly.eos.io

通过浏览器或者终端命令行 crul 访问 testnet1.eos.io/v1/chain/get_info, 获得测试链信息

1
$ curl testnet1.eos.io/v1/chain/get_info

将本地 EOSD (EOS 服务端) 连接到公共测试网络上

修改配置文件 config.ini

  • 路径:~/eos/build/scripts/testnet_np/config.ini

  • 将配置项 p2p-server-address 中的 localhost 改为你当前网络的公网Ip地址,否则后面运行时会出现如下错误:

    公网 Ip 查询:直接百度,输入 IP,即可查询

执行脚本

1
2
3
4
5
6
7
8
# 执行公共测试网络连接脚本
$ cd ~/eos/build/scripts
$ ./start_npnode.sh

# 日志输出
Launched eosd.
See testnet_np/stderr.txt for eosd output.
Synching requires at least 8 minutes, depending on network conditions.

查询区块同步日志

1
$ tail -f testnet_np/stderr.txt

看到 accept_block,Syncing Blockchain,表示本地正在从公共测试网络上同步区块信息。

使用 EOSC 客户端连接到公共测试网络上

连接 Public Testnet

eosd 连接到了 Public Testnet 上时,再使用 eosc 连接到本地测试网络 localhost:80 即可

1
$ eosc -H ${http_endpoint} -p 80 ${options} ${subcommand} 

钱包功能使用

公共测试网络没有提供任何有关钱包的功能,为了能够对交易进行签名、发送交易信息以及进行相关的钱包操作,需要使用 eosc 连接到本地测试网络上并且要将 eosd 连接到 Public Testnet 上时,这样才能进行相关钱包的操作。

创建钱包
1
2
$ cd ~/eos/build/programs/eosc
$ ./eosc wallet create

创建密钥对
1
2
$ cd ~/eos/build/programs/eosc
$ ./eosc create key

导入私钥
1
2
3
$ cd ~/eos/build/programs/eosc
$ ./eosc wallet import 5xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
imported private key for: EOSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx