你可能会问,波尔卡多特和底物有什么区别?让我们澄清一下这两个主要概念的区别和相似之处。
Substrate是一个使用区块链技术的最新研究成果创建加密货币和其他分布式系统的框架。
正如Jack Fransham在他的文章《Parrate上的基底简介》中所说:
理解奇偶底物根本不属于波尔卡多特是很重要的。尽管Polkadot是使用Substrate构建的,并且使用Substrate构建的项目可以在Polkadot上本地运行,但是现在您可以使用Substrate构建一个新的区块链。您不必等待Polkadot甚至发布概念证明(POC)就可以开始使用这个框架来开始使用区块链.你可以把它当成一个Express或者其他Web应用框架,但是它是用来构建分布式或者分布式系统的,比如加密货币或者消息总线。就像大多数Web应用程序不需要重新实现自己的HTTP版本一样,我们认为每一个创建新区块链的团队都需要从头实现所有网络和共识代码,这是浪费精力。
因此,POC-3“BB”是基于区块链的WASM智能合约的最小基底参考实现。
正如加文伍德在《暴动》中所说:
他还介绍了计划于12月/1月举行的POC-4的前景。据说BB Testnet将支持并行链,这意味着Substrate也准备好托管Polkadot了。
那么,让我们来看看与POC-2部署相比的一些变化。
你应该阅读第一章“Hello World Polkadot # 1:验证者节点的经济高效部署”,它为你提供了一个全面的理解。在本文中,我将只描述POC-2安装的增量变化。
创建新的镜像
首先,我必须创建一个新的docker映像,它在Ubuntu 16.04.5上运行最新的substrate poc-3代码,以便它可以部署到我的hidora.com上。这是一个最小的docker映像,主要的运行命令如下:
您可以在talfco/clb-substrate上的Dockerhub上找到镜像https://hub.docker.com/r/talfco/clb-substrate/。
将Dockerfile部署到测试节点安装,并通过提供-name参数来运行它。
与POC-2一样,GUI(https://telemetry.polkadot.io/#/BBQ伯奇)将显示您的节点如何与链同步。
在钱包中创建新的地址存储。
下一步是创建POC-3测试网络的地址,并将其存储在您的个人钱包应用程序中。事实上,有两个钱包应用程序可用于PoC-3,它们可用于管理您的PoC-3地址。
作为一个区块链的新来者,我总是对“钱包账户”的主题感到困惑,因为它直观地映射到其他(集中式)账户解决方案的传统概念。这些帐户可以通过多个设备上的不同浏览器(或同一设备上的多个浏览器)进行访问。电子钱包应用和它们的账户管理功能是完全不同的。
所以,当我们把这两个基本的钱包/管理应用用于POC-3的时候,我来分享一下我个人的发现(可能你也清楚)。
对于所有意图和目的,钱包基本上被用作区块链上的用户身份。
下图代表一个数字钱包,里面有Birch地址的私钥和公钥。
所谓的bondy polkadot用户界面(由gavin wood编写)在其功能集中是最小的,但对于研究基于react的polkadot客户端应用程序的内部工作来说,它是一个优秀的(不太广泛的)代码基础。
POC-3钱包应用链接:https://paritytech.github.io/substrate-ui/index.html.
源代码:https://github.com/paritytech/substrate-ui.
第二个应用程序是奇偶衬底门户应用程序,它由不同的模块化组件构建,功能更多。就是我上一篇文章用的前端。
POC-3门户应用程序链接:https://polkadot.js.org/apps/next.
源代码:https://github.com/polkadot-js/apps.
这两个应用程序就是所谓的加密钱包应用程序,它可以存储你的公钥和私钥,并与polkaDOT软件程序接口,以便用户可以监控其余额、点转账等操作。
在管理密钥时,必须将上述钱包应用程序视为与浏览器运行时及其存储敏感密钥所需的相关本地设备存储完全隔离。
两款钱包应用都是基于React Javascript框架的HTML5单页应用。
比如Bondy Polkadot UI初始加载在11 http中,请求必要的javascript应用程序(以及一些helper文件),然后将协议切换为WebSocket协议,通过“wss://substrate-rpc.parity.io/”与基板测试网络进行通信。
从纯HTTP的角度来看是这样的,即HTTP协议只需要将静态文件(javascript和一些CSS、图片文件)加载到浏览器虚拟机中。
因此,钱包应用程序位于浏览器虚拟机中,并控制其本地存储对象。在我们的示例中,存储了一个文本描述来保存私钥、公钥和托管地址。对于地址簿功能,将用于保存地址的文本标识符和地址本身被存储。
如果您在浏览器中打开第二个钱包应用程序(即Substrate Wallet门户应用程序),您将意识到该应用程序不知道任何私钥/公钥。
这一开始让我很困惑,但现在通过考虑钱包应用程序特定的规则,应该就清楚了:
运行浏览器类型(chrome、firefox等)的设备。)并执行特定的单页应用程序(由加载资源的URL表示)。
再比如:在同一台设备上运行Chrome和Firefox浏览器中的BondyPolkadot应用,不会共享任何关键配置。
那么如何在第二个钱包应用中配置自己的地址呢?首先,我认为我必须使用恢复帐户功能,但最终的解决方案更简单:
只需使用您的私有种子地址在第二个应用程序中创建一个地址。
通过使用相同的种子,您只需要为这个私有地址配置应用程序(易于使用)。因此,您已经为两个应用程序配置了地址。
对这项深入研究的最后一点评论是:
App中的SecretStore管理由oo7-substrate NPM提供,是Bond框架https://github.com/paritytech/oo7.的一部分,这可能是将来进一步研究钱包应用机制的一个良好开端。
创建一个新地址,并将其存储在您的钱包中。
首先,你必须在BBQ-Birch Testnet上创建一个新地址。
进入BBQ Birch Bondy Polkadot应用程序,通过电子钱包功能创建新地址。https://paritytech.github.io/substrate-ui/index.html
如您所见,第一次打开应用程序时,您将获得一个默认地址,该地址配置有帐户名“default”。按“删除”删除它,这样你就可以设置自己的名字了。
因此,创建您自己的地址,方法是(1)生成一个私有种子,(2)定义一个名称,然后按“创建”按钮。这将为您生成一个新地址。
为了提取私有种子,您必须单击眼睛图标(4),它最初会将验证器种子显示为十六进制值(在使用KEY参数启动验证器时需要)。
单击钥匙图标获取钥匙。您应该离线存储密钥短语并确保其安全。这是您的安全网,您可以随时将您的地址恢复到Substrate Wallet应用程序。
获取烧烤/桦木
从上一篇文章中可以清楚地看到,我们需要在社区中获得BBQ。
在收到一些桦树代币后,还可以获得一个简短的网址。您可以通过地址查找来检查地址的状态。
一个实用的短网址将被启用,只要你的一些桦树与你的地址。这是一个4个字符的地址。
您可以使用短url进行搜索。
准备好Polkadot门户应用程序。
切换到底物门户应用程序,并在浏览器中打开它。如您所见,地址帐户尚未配置(请记住上面关于钱包范围的讨论)。
只要用你的“种子短语”创建一个帐户,它就会在这个应用程序中创建一个帐户。您通常使用相同的帐户名(不要混淆),并且必须提供密码。
此外,你现在有两个基板钱包应用程序与你的基板地址。
所以现在是时候用您的私有验证器种子重新启动您的验证器节点了(见上文),并通过使用参数'-Validator-keyur Validator种子(见我的上一篇文章)配置您的docker实例来运行cmd。重新启动后,日志将显示BFT协议错误,表明您尚未被提名为完整的验证者。
如果您将使用上面的Docker文件,请确保在Docker实例中设置两个环境变量。
波尔卡多特_ KEY _ POC 3波尔卡多特_NAME_POC3
Dockerfile使用monitorValidator.sh脚本来配置crontab文件。每分钟都会检查验证器进程是否仍在运行。
否则,验证器进程将重新启动以减少缩减时间。
最终被提名
最后一步是放弃验证,并获得足够多的提名者支持你与他们的桦树,以成为一个完整的验证者。
在下一篇文章中,我将介绍构成底层框架及其运行时的各种组件。