作者: 王仕军(资深前端工程师)
Forge 工具箱从开始的只包含 Forge 内核,到现在包含能覆盖 dApp 完整生命周期的如下组件: Forge 内核: 交易处理引擎、和共识引擎、数据存储层的交互,每周会有大小版本发布 核心智能合约: Forge 内置的交易合约,能够帮助开发者解决 99% 的账户、交易、跨链、链上治理等业务逻辑 Forge Desktop:桌面版链节点 Forge Web: Forge 链节点的 Web 管理界面和区块浏览器 Forge SDK: 各种语言的 SDK,目前支持的语言包括 Elixir、Javascript、Java、Python、Rust Forge Simulator:流量模拟器 dApp Workshop:dApp 原型工坊 Forge Patron:集成测试工具 Forge Deploy:生产环境大规模部署的工具,目前只支持 AWS Forge Compiler:智能合约编译工具,跟随 Forge 发版,在 Forge CLI 里面可用 而 Forge CLI 是开发者获取、使用这些工具的最佳路径:只需安装一条命令,就得到了整个区块链工具箱。 本文中我们会演示如何使用 Forge CLI 来完成下面几个事情: 一键发链发币:创建和配置自己的链以及链上的通证 一键创建 dApp:基于基石程序快速常见能跑在链上的 dApp 安装 Forge CLI因为 Forge CLI 使用 Node.js 开发,所以安装前需要确保你的电脑上有 Node.js v10.x 及以上的运行环境,检查是否存在 Node.js 运行环境的最简单办法是: node --version 然后,我们就可以开始安装 Forge CLI,执行:npm install -g @arcblock/forge-cli,等待安装完成,看到如下输出: 安装 Forge 发行版本接下来,执行 forge install v0.38.4,把 Forge 发行版本安装到本地,安装过程如下图: 一键发链和发币接下来,我们就可以执行 forge chain:create demo-chain 来创建一条链,并且在链上定义名称为 DCT、总量为 1 亿的通证,配置过程如下图: 关于自定义配置的部分,我们逐行解释如下: 1.Chain name: demo-chain:链的名称为 demo-chain,节点的名称也是这个 2.Please input block time (in seconds): 5:出块时间为 5 秒 3.Do you want to customize token config for this chain Yes:选择自定义链上的币 4.What's the token name Demo Chain Token:币的名称 5.What's the token symbol DCT:币的符号,至少 3 个字符 6.What's the token icon /Users/wangshijun/.forge_cli/tmp/token.png:币的图标文件路径,建议正方形的 PNG 图片 7.What's the token description Token on demo chain:币的描述 8.Please input token total supply: 100000000:币的总供应量是 1 个亿 9.Please input token initial supply: 100000000:币的初始供应量是 1 个亿 10.Please input token decimal: 18:币的精度是小数点后 18 位 11.Do you want to enable "feel lucky" (poke) feature for this chain Yes:允许用户签到领币 12.Do you want to customize "feel lucky" (poke) config for this chain Yes:需要自定义签到领币的参数 13.How much token to give on a successful poke 10:每次签到领币 10 个 14.How much token can be poked daily 1000:每天最多放出去 1000 个 15.How much token can be poked in total 1460000:允许签到领币放出去的最多的币数量 16.Do you want to include moderator config in the config Yes:自动包含链管理员信息17.Set moderator as token owner of (98540000 DCT) on chain start Yes:把剩余的币放到链管理员账户里面,可以用程序转走 命令执行完毕之后,提示信息如下: 根据提示,执行 forge start demo-chain 即可启动测试链,等待 15 秒左右,即可启动成功: 刚刚启动的测试链其实是一条单节点的链,本地节点内置了节点的控制台和区块浏览器,执行 forge web open 即可打开控制台: 一键创建 dApp有了链之后,我们就可以创建运行在这条链上的去中心化 dApp 了。Blocklet(基石程序) 是简化开发者创建 dApp 的可重用构建模块。Blocklet 可以是任何现成的组件、模块、库、前端视图或其他简化构建 dApp(去中心化 dApp)过程的工具。选择一个 Blocklet 后,就可以安装、启动并运行该 Blocklet。除了使用单一的 Blocklet, 用户也可以将多个 Blocklet 组合在一起,用于构建更复杂的 dApp。 基于 ArcBlock 官方提供的 Starter 类型基石程序,我们就可以快速创建一个包含如下功能的 dApp: 支持用户用 ABT 钱包[3] 登录 支持用户扫码签到领币 支持用户支付测试币来解锁加密的文档 执行 forge blocklet:use,选择 forge-react-starter,然后指定 dApp 代码的存放目录为 demo-dapp,如下图: 接下来根据提示,配置好 dApp 所必须的参数,配置完毕,forge-react-starter 会自动给 dApp 创建 DID 账户、并且去链上声明 dApp 的 DID(DID 是内置在 Forge 里面的身份解决方案): 关键配置项是测试链的 GraphQL 接口,这个接口在 forge start demo-chain 输出里面最后那列能找到:http://localhost:8211/api。 dApp 创建结束后会有如下图的启动提示: 按照提示进入 dApp 目录,启动 dApp,如果一切正常,你就能在浏览器里面看到 dApp 的首页: 点击首页右上角的 "Login" 即可使用 ABT 钱包扫码登录,ABT 钱包的下载地址在这里[4]。 整个扫码登录过程和微信扫码登录非常类似: 在 ABT 钱包上输入 dApp 请求的用户名、邮箱信息,滑动确认,完成登录之后,就跳转到档案页面: 点击档案页面的 "GET 25 DCT" 按钮,然后钱包再次扫码,即可领取 10 个测试链上的通证,这里是 10 个而不是 25 个是因为我们签到的配置里面是 10 个,签到完之后,如果刷新用户档案页面,可以看到链上余额已经变成了 10,此时打开测试链的区块浏览器则能看到账户的链上注册和签到操作: dApp 中的支付测试币解锁加密的功能则留给读者去探索,提示:只需要点击档案页面的 "MY PURCHASE" 按钮即可打开支付页面。 总结如果你对命令行有一定的使用经验,整个发链、发币、发应用的流程走下来会非常快,开发者真正所需要关心的就是自己 dApp 的业务逻辑,而不需要在 dApp 运行环境和底层设施上浪费时间,这就是 Forge 框架和工具箱的初衷和目标,也是 ArcBlock 的愿景:让区块链应用开发变得足够简单。 References[1] ArcBlock: https://arcblockio.cn[2] Forge 框架: https://arcblockio.cn/zh/forge-sdk[3] ABT 钱包: https://abtwallet.io [4] 这里: https://abtwallet.io —- 编译者/作者:ArcBlock区块基石 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
Forge 极简入门 | ArcBlock 博客
2019-10-14 ArcBlock区块基石 来源:区块链网络
LOADING...
相关阅读:
- IPFS与区块链的关系,Filecoin的趋势性造就亿万财富2020-08-06
- 如果不解决,新的Ledger钱包漏洞可能是灾难性的2020-08-06
- 一文读懂DeFi(DeFi是什么?)2020-08-06
- 交易者利用Opyn ETH认沽期权,以37万美元的抵押品流失; 团队追回超过2020-08-06
- 【报告】稳定币的崛起(下)2020-08-05