原创:?Jonathan Lu?ArcBlock区块基石?今天 9 月 15 日,ArcBlock 区块基石 5 位工程师在 2019 上海区块链国际周黑客马拉松开发的 DApp 在 27 个参赛项目中脱颖而出,荣获季军三等奖。这一名为 Charging Block 的去中心化应用为电动车主打造一个点对点共享充电网络,旨在鼓励更多充电设施建设共享,解决里程焦虑,车主、业主等多方获得通证激励。日前,代表团队上台演示的 ArcBlock 工程师 Jonathan Lu 撰文回顾总结了整个开发过程和成果。 作者:?Jonathan Lu(ArcBlock 区块基石资深软件工程师) 在 ArcBlock 平台开发的过程中,我们相信我们的重要使命之一是为开发者提供方便快捷的开发?DApp(去中心化应用)[1]的服务。现如今,传统的 web 开发者已经享有成熟的开发技术栈所带来的便利,而我们希望将类似的开发体验带到区块链应用开发领域,为开发者和产品经理提供开发 DApp 所需要的一切。我们有时会将它设想成区块链的 Ruby on Rails。为了这个目标,我们开发了 ArcBlock SDK(支持多种语言,如 JavaScript、Python、Elixir 等)、ArcBlock CLI 工具以及Blocklet.Starters[2]。 在 8 月,我们的实习生娜娜撰写了一个很棒的系列博客,分享她在四周内从一个入门级区块链开发者[3]到独立完成一个自动售货机 DApp 的学习过程。这个系列博客启发了我们去”吃自己的狗粮“ —— 不仅仅是去尝试用我们的产品来解决现实的问题,同时也是去试验一下自身产品的能力和可用性。 延伸阅读:实习生娜娜(含视频) | ArcBlock 博客 于是乎,我们团队报名参加了最近的万向区块链黑客马拉松[4],去尝试一下在 36 小时内用 ArcBlock SDK 开发一个 DApp。 Charging Block DApp本次黑客马拉松的主题是”区块链与汽车行业“,所以我们选定了一个常见的电动车车主会遇到的问题来作为 DApp 的主题,那就是”没电的时候附近没有可用的充电桩“的问题。 根据我们的观察,虽然近年来电动车充电的基础设施在不断的增加中,但是覆盖率依然无法满足全部用户的需求。车主依然还会遇到附近没有充电桩的情况。同时,因为充电站之间互不连通,车主社区也没有激励机制,导致总体上充电桩的使用效率不够优化。某些充电站负荷过大而某些又无人问津,而且车主还会将充电站当成停车场,在充满电后依然占据位置。此外,因为商业用电和家庭用电的收费标准不同,所以充电站的收费通常比在家充电的花销高很多。 于是我们设计出了一个名叫?Charging Block?的 DApp。这个 DApp 的基本想法是,建设一个电动车车主之间共享充电桩的社区。通过发布基于区块链的通证 Charging Block Token(CBT),人们可以加入到这个社区里来,分享他们的资源,并获得回报。CBT 通证可以被用来支付充电费用,奖励分享资源的成员(例如分享充电桩最多的用户可以获得额外奖励),以及”惩罚“浪费公共资源的成员(充满电还占据位置的车主将被罚款)等。再进一步,社区成员还可以使用 CBT 来众筹在他们的小区建设充电站,并在后续的充电站运营收益中得到分成。所有的这些交易都会通过区块链来记录,并且即时生效,无法篡改。 我们认为这是一个有趣的想法,于是决定在黑客马拉松期间尝试开发一个 demo。这个 demo 将有三部分组成:一个区块链、一个车载应用和一个充电桩端的应用。以下是 Charging Block 的 demo: 以下是我们开发这个 demo 的基本步骤,你们可以看出这个过程有多么简单。 首先我们使用Forge CLI[5]来初始化了一条新的链: forge?chain:create?charging-chain 在命令行中几步操作之后,我们就自定义了链的名称和通证的名称等一些参数,然后让我们来启动这条链: forge?start?charging-chain 到此,一条新链就创建好并开始运行了。然后我们使用dapp starter blocklet[6]来初始化一个 DApp: forge?blocklet:use?forge-react-starter 到此,我们的 DApp 就已经初始化好了,并且开发所需的工具和依赖都安装完毕。整个这个步骤在两分钟内就完成。在此基础之上,我们根据 demo 的需求,开发了界面,并调用 JavaScript SDK 实现了交易相关的逻辑。以下是 demo 的代码:https://github.com/wangshijun/charging-block 结果在 36 小时内,我们开发出了这个 demo,并在评委面前做了一次现场演示,最终幸运的获得了三等奖。 通过这次体验,我们学习到:1)我们在”开发者友好“这个方向上做的努力是正确的,而我们的产品也确实解决了我们希望解决的问题,2)在一些细节上,我们的产品依然还有进步的空间,我们会在今后的工作中加以完善。 References[1]?DApp(去中心化应用):?https://www.arcblock.io[2]?Blocklet.Starters:?https://blocklet.arcblock.io/blocklets[3]?区块链开发者:?https://www.arcblock.io/zh/post/2019/09/01/overview-of-vending-machine-dapp[4]?万向区块链黑客马拉松:?http://www.blockchainlabs.org/week2019/hackathon_cn.html[5]?Forge CLI:?https://github.com/ArcBlock/forge-cli[6]?dapp starter blocklet:?https://github.com/ArcBlock/forge-dapp-starters —- 编译者/作者:ArcBlock区块基石 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
如何在 36 小时之内用 ArcBlock SDK 开发一个 DApp | ArcBlock 博客
2019-11-01 ArcBlock区块基石 来源:区块链网络
LOADING...
相关阅读:
- 主流币调整的剧本完美验证.新的加仓机会!8月2日老俞区块链2020-08-02
- 伊朗在比特币采矿方面迈出了新的一步2020-08-02
- 微文又中奖入围啦快来参与/炒股的一点点心得体会,你是不是也遇到过2020-08-02
- “区块链+供应链金融”已有哪些玩法,还面临哪些挑战2020-08-02
- 浩瀚读币:三天两次上微博热搜的比特币是何方神圣?2020-08-02