公共测试网络

概述

 

公共测试网的存在是为了支持已经使用了自己独立(私有)的测试网但又希望在公共网络上测试他们代码的开发人员和测试人员,而又没有在公共生产网络(主网)上工作的问题和限制。

公开的测试网允许开发人员使用在注册时提供的免费测试代币。访问注册页面点此

 

测试网和主网之间的差异

 

公共测试网和主网之间有几个不同之处。在撰写本文时,他们包括:

  • 存在 公共主网还不存在,而公共测试网已经存在了。
  • 创世区块 主网的创世区块与测试网的创世区块不同。测试网创世区块包括一个水龙头账户和几个“initx”账户(inita-initu),在测试过程中由核心开发团队使用。至少有一些initx账户也出现在独立的私有测试网提供的创世区块中。
  • 重置  测试网需要根据需要进行重置,以支持测试。
  • 版本  根据开发社区的期望和需求,测试网实际上可以包含不同地址和不同重置周期的多个测试网。
  • 主机  目前已经对测试网进行了配置,这样区块生产节点只能在由核心开发人员设置和操作的主机上运行。主网络的区块生产节点将在由代币持有者投票选出的主机上运行。

 

节点

 

测试网由区块生产节点和非区块生产节点组成。

 

公共测试网端点(endpoint)

 

以下是当前可用的公共测试网的列表:

  • testnet1
    • HTTP端点:eos.io
    • P2P端点:p2p-testnet1.eos.io:9876
    • Web钱包端点:eos.io, t1api.eos.io, t1readonly.eos.io

 

您可以使用curl来测试连接:

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

 

连接本地EOSD到公共测试网

 

要运行一个链接到由block.one操作的测试网的本地节点,可以使用下面的脚本:

cd ~/eos/build/scripts

./start_npnode.sh

这条命令将使用数据文件夹testnet_np。

你会看到如下的反馈:

Launched eosd.

See  testnet_np/stderr.txt for eosd output.

Synching requires at least 8 minutes, depending on network conditions.

要确认eosd操作和同步,可使用下面的命令:

tail -F testnet_np/stderr.txt

要想退出tail,使用Ctrl-C.在同步期间,你将看到类似下面的log信息:

3439731ms          chain_plugin.cpp:272          accept_block         ] Syncing Blockchain — Got block: #200000 time: 2017-12-09T07:56:32 producer: initu

3454532ms          chain_plugin.cpp:272          accept_block         ] Syncing Blockchain — Got block: #210000 time: 2017-12-09T13:29:52 producer: initc

同步完成后,你会看到类似下面的log信息:

42467ms        net_plugin.cpp:1245           start_sync           ] Catching up with chain, our last req is 351734, theirs is 351962 peer ip-10-160-11-116:9876

42792ms        chain_controller.cpp:208      _push_block          ] initt #351947 @2017-12-12T22:59:44  | 0 trx, 0 pending, exectime_ms=0

42793ms        chain_controller.cpp:208      _push_block          ] inito #351948 @2017-12-12T22:59:46  | 0 trx, 0 pending, exectime_ms=0

42793ms        chain_controller.cpp:208      _push_block          ] initd #351949 @2017-12-12T22:59:48  | 0 trx, 0 pending, exectime_ms=0

eosd实例监听127.0.0.1:8888来请求http,并在所有的接口上监听9877端口来请求p2p,包括钱包插件。

 

连接本地EOSC到公共测试网

 

您可以通过使用http端点作为主机名和端口80来连接本地eosc到公共测试网。

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

此外,公共测试网不提供任何的钱包功能。为了能够进行签名交易/发送交易/钱包操作,当您连接到公共测试网时,需要将您的本地钱包与eosc连接起来。要想这么做,请确保您的本地钱包正在运行。

$ eos-walletd

# this will create a data-dir folder inside your current working directory, this data-dir folder will contain your private keys encrypted with the wallet password

然后在使用eosc时指定您的本地钱包端点和端口,除非您覆盖它,否则钱包端点将是localhost,而钱包端口将是8888

$ eosc -H ${http_endpoint} -p 80 ${options} –wallet-host ${wallet_endpoint} –wallet-port ${wallet_port} ${subcommand}

 

测试网账户

 

在开始之前,首先您需要取得您的账户名和EOS公钥。

  • 查找您的账户名
  • 准备好您的EOS公钥
    • 如果您在快照中,您的EOS公钥是在EOS众售(EOSCrowdsale)合约中注册的密钥
    • 如果您通过水龙头申请一个账户,您的EOS公钥是在水龙头账户申请中提交的密钥

一旦您有了自己的帐户名,您就可以选择如何与EOS交互。

 

Web钱包(最终用户)

  • 访问测试网 Web钱包
  • 创建一个账户
  • 登录
  • 点击侧边栏的“帐户(Account)”
  • 在帐户栏(Account)输入您在前面步骤中获得的帐户
  • 在EOS活跃秘钥(active key)和主秘钥(owner key)中输入您的EOS公钥(s)
  • 点击“添加账户”

 

命令行(开发人员)

  1. 您将需要从最近的eosd构建中使用eos-walletdeosc二进制文件,查看本地环境
  2. 连接到公共测试网
  3. eosc您的私钥导入钱包
  4. 通过命令参考或综合教程自己来解决它从而学会如何使用eosc