欢迎光临
我们一直在努力

运行一个测试网节点

本指南将引导您完成设置节点以加入Symbol的公共测试网络的过程。

测试网络反映了未来主要公共网络的相同技术和特性。您可以使用测试网在实时网络中试验提供的Symbol的交易集。

注意

由于网络广泛用于测试目的,因此可能会在未经通知的情况下下线或更换。要在专用网络环境中工作,请安装一个用于学习和开发目的的本地网络。

为了运行网络,我们将使用Symbol Bootstrap包。为了更好地理解此软件包的工作原理,强烈建议阅读使用Symbol Bootstrap指南

Testnet预设置

Symbol Bootstrap有一个名为testnet的预设置,它实例化了一个连接到当前公共测试网络(testnet)的节点。此节点的功能是通过“装配”选项选择的。

创建一个节点:

Peer节点也称为收获者节点,是网络的主干。除此之外,Peer节点验证交易并向区块链添加新的区块,并在这个过程中收取费用。

symbol-bootstrap start -p testnet -a peer

创建一个API节点:

API节点通过REST API提供对网络的外部访问

symbol-bootstrap start -p testnet -a api

要检查节点是否已启动并正在运行,请打开新的浏览器选项卡并转到:

localhost:3000/chain/info 您应该从API节点得到一个响应。

API节点比Peer节点占用更多的内存和存储空间。如果存在内存或存储限制,并且遇到问题,建议您改为仅运行一个Peer节点。

创建一个Dual节点:

Dual节点提供Peer节点和API节点的功能。

运行节点

您真的不需要使用其他任何东西,除了symbol-bootstrap。使用上面的任何命令来实例化和引导一个Symbol节点,并使用Ctrl+C来关闭它。
或者,您可以在分离模式下启动(–detached)以在后台运行。

获取节点帐户

您刚刚创建的节点有一个关联的Symbol帐户,您可以使用它与节点进行交互。例如,您需要此帐户向节点提供资金,以便它可以发出交易。

可以从target文件夹中的YAML文件获取帐户的密钥和地址:target/addresses.yml

例如:

networkType: 152
nemesisGenerationHashSeed: 1082491EFE93AA7DAC6D0282634953DB8B5FDDAE669237B030695A9F308883D5
nodes:
    -
        name: peer-node-0
        friendlyName: peer-node-0
        roles: 'Peer,Voting'
        ssl:
            privateKey: ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
            publicKey: 8E4B7B32C636E1749B1A4CDC345F1D3BDC6C4C33DEA8DC0BD0FFA5C873CDB232
        node:
            # Use these in Delegated Harvesting requests
            privateKey: ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
            publicKey: C1C278BCBF2B56918F41620E1AF89D3FCD94ACCA3F1BFE8AC877C1D10A933C82
        signing:
            # Use these to access the node's account
            privateKey: ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
            publicKey: 6B1936560F85096E398AAF4647EADB6C748100E6D248D98B2916F003B806E725
            address: TDN3G4REJA7BWDQ2TLB3M522RAYKV5AB55EEPGQ
        voting:
            privateKey: ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
            publicKey: E97B99E7EDE0738CBE2C3BB13F3B0EEB8A361FAAD51271887D12389F1AEEF4EC
            address: TBBK644JF2XMW35A7BUG6SADTLHAQ2M2KO7O2FQ
        vrf:
            privateKey: ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
            publicKey: B304E6F9650CFFA52C6DC51CED29397F6C50F1E2F9AC34993549E0E3E4461027
            address: TABWAGQNSI4AWPE3IVGS53CQWAN5BYRM5BHMNFA

注意:

随时保密你的密钥

使用signing部分中的信息访问节点的帐户。当激活委托收获时,使用node部分中的信息作为节点的公共TLS密钥。

向节点提供资金

在节点可以开始收获或投票(见下文)之前,它需要最少的资金。在testnet测试环境中,您可以使用Symbol的Faucet来提供这些资金。

转到Faucet(或备用Faucet),插入节点的帐户地址和symbol.xym金额,您需要并点击索取。

您将看到您的请求首先是unconfirmed的(挂起的),几秒钟后它就confirmed了。您的节点现在已获得资金并准备好运行!

提交链接密钥

捕获和投票节点需要额外的配置步骤才能使用:

实现收获

Symbol Bootstrap创建默认启用本地收获的Peer节点,但它们仍然需要通过向网络宣布VrfKeyLinkTransaction来注册(委托收获的工作方式不同,需要节点密钥)。

这也可以通过Symbol Bootstrap来实现,但它需要与symbol-bootstrap start分开一步,因为需要资金来宣布交易。

一旦节点使用symbol-bootstrap start运行,并且您已从不同的终端(但来自同一文件夹)向其提供了资金帐户,只需键入:

symbol-bootstrap link

这将创建所需的VrfKeyLinkTransaction并将其提交到网络。如果成功了(可能需要几秒钟,因为事务需要确认),您的新节点就可以收获了。

注意:

在没有额外参数的情况下,symbol-bootstrap link尝试将注册交易发送到本地节点(在另一个终端上运行),后者将其转发到网络的其余部分。如果此时节点没有运行,或者它不是API节点,那么可以使用–URL提供testnet节点的URL。

实现投票

区块最终确定过程要求网络节点在将区块添加到区块链之前对区块的正确性进行投票。要让新节点参与,它必须通过向网络宣布votingkeylink交易来注册为投票者。Symbol Bootstrap也可以解决这个问题。

注意:

我们将创建一个新的投票节点。如果已经创建了不再需要的无投票权节点,则可以删除目标文件夹,或者更方便地在下次调用symbol bootstrap时使用-r开关。

首先,您需要将节点配置为投票者,因此,除了选择testnet预设和所需的程序集之外,还必须提供一个自定义预设文件,其中包含以下内容:

nodes:
- voting: true

所以如果你调用上面的enable-voting-preset.yml文件,整个命令是:

symbol-bootstrap start -p testnet -a <assembly> -c enable-voting-preset.yml

节点运行后,从不同的终端(但来自同一文件夹)键入:

symbol-bootstrap link

就像在收获案例中一样,这将创建所需的VotingKeyLinkTransaction并将其提交到网络。成功完成后,新节点就可以进行投票了。

配置节点属性

按照配置节点属性指南更改参数,如节点的公共名称。

与测试网络交互

可以使用以下工具测试新节点的功能:

Blockchain Explorer:在测试网络中搜索交易、帐户、资产和区块。

Desktop Wallet:Symbol的跨平台客户端。适用于Mac、Linux和Windows。

Command-Line Interface:从终端执行最常用的操作。

Symbol Faucet:为测试Symbol服务需接收symbol.xym。如果默认Faucet为空,请尝试其他水龙头。

Software Development Kits:添加Symbol到你的项目

评论 抢沙发