Substrate 区块链简单自定义Storage(二)

上一篇bloghttps://www.jianshu.com/p/42657bc89df4
讲述了如何在Substrate区块链上定义Storage,存储SubjectCountu32类型变量)和 Subjectmap u32 => T::AccountID 映射类型变量)并读取存储的值。

下面我们来看看如何使用substrate所对应的UI:Polkadot UI 作为客户端与区块链进行交互。
执行以下代码之后:

./scripts/build.sh
cargo build --release
./target/release/substrate-verifiable-credentials purge-chain --dev

启动节点:

./target/release/substrate-verifiable-credentials --dev

Polkadot UI的网址是:Polkadot-JS Apps UI (注意,使用Polkadot UI需要使用Chrome浏览器,因为网页为非https协议,使用其他浏览器会导致无法显示网页),进入后默认为Kusama (Parity的区块链)。在左侧栏选择Settings (设置),在右侧的General tab栏下可以选择remote node (连接的节点)。这里我们需要选择Local Node (Own, 127.0.0.1:9944),local node即为本机的测试节点。

这时,我们可以通过Polkadot UI来观察本地的区块链。选择左侧的Explorer,右边会有三个选择栏:Chain info, Block Details, Node info,分别可以看到最近生成的区块,区块的具体信息,和节点信息。

提交一笔交易(Transaction)

选择左侧的Extrinsics,我们可以看到右侧显示了提交Extrinsic的账户信息,可以选择区块链设置好的账户作为Extrinsic的发起人。在选择account的下面一个选项是submit the following extrinsic,这里我们可以选择想要执行的Extrinsic。找到verifiablecreds,右面会出现我们在pub struct Module里面创建的fn create_subject(origin) -> Result函数。选择createSubject()函数后,可以点击Submit Transaction来准备提交交易。这时我们会发现交易信息在队列中并未提交(queued),点击Sign and Submit,等待几秒钟后,可以看到交易已经成功提交,显示finalized

Substrate 区块链简单自定义Storage(二)_第1张图片
Submit Transaction

查看储存的值

在成功提交交易信息后,我们查看对应储存的值。选择左侧的Chain state (区块链状态),在Storage选项下,selected state query中选择verifiablecreds,右侧会出现对应的get函数:subjectCount():u32subjects(u32): AccountId。点击右侧的+号并选择对应的get函数,就可以显示出查询的值。

Substrate 区块链简单自定义Storage(二)_第2张图片
subjectCount()

Substrate 区块链简单自定义Storage(二)_第3张图片
subjects(u32):AccountId

我们可以看到,此时的subjectCount已经变为2,这时因为我们执行了两次create_subject函数,通过subjects(u32)输入0和1,我们可以看到更新count数的地址均为:5GRWVAE...,此账号可以通过选择左侧Accounts栏查看为ALICE账户,即为交易发起人。由此可以测试程序逻辑的正确性。

你可能感兴趣的:(Substrate 区块链简单自定义Storage(二))