首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

以太坊构建DApps系列教程(一):应用程序规则和区块链设置

这将是一个如何使用以太坊区块链构建去中心化应用程序DApps的系列教程。

第一篇教程重点介绍应用程序的规则和功能以及设置私有区块链,展示在使用或不使用DAO和应用程序的情况下如何构建自己自定义的以太坊代币。

我们要构建3件事:

自定义代币。

使用代币作为投票的DAO。

用于与智能合约交互的原型Web UI。

按照本教程中的说明操作后,你将能够构建自己的自定义以太坊代币,无论是否包含DAO和应用程序。

我们将要构建什么?

是一个带有输入字段(可以是文本和图像)的Web应用程序,其中安装了MetaMask的用户可以根据特定条件发送一段文本或图像。(图像每50个段落只出现一次,并且只能是一个URL。)

完整的故事呈现在输入字段旁边。故事中存在的条目越多,提交条目的成本就越高。提交条目需要支付费用,列入白名单的并且至少有一个TNS代币的人可以使用的这个操作。

操作类型:

提交条目:要求发件人至少拥有1个TNS代币并位于白名单中(见下文)。成本。 (参见下面的“章节”部分)。这可以是每50个文本条目只有一次图像,并且只能是一个URL。否则就是文字。没有代码,只有纯文本。 在任何一种情况下,文本字段大小限制为256个字符。

转让所有权(仅限所有者):可以将所有权转移到新地址。

减少费用(仅限所有者):所有者可以在不要求投票的情况下提交较低的费用(参见下面的费用“Free”部分)。

购买TNS代币:将以太发送到DAO以获得自动发回一定比例数量的TNS代币。如果DAO中没有足够的TNS代币,则必须从交易所获得它们。

检查代币余额:一个只读操作,用于检查DAO中有多少个TNS代币。

白名单:当以太发送到DAO的地址时,会自动调用此函数。它将发件人记录在白名单数组中以供将来参考,获得大量TNS的人不能将它们分发到各种帐户。

结束章节:触发分配以太分红和重置输入费用的章节结束流程。

撤回:当利益相关者想要撤回分红时调用。

所有者提款(仅限所有者):由所有者调用以便提取费用收入。

利益相关者(TNS代币持有人)将能够对提案进行投票,任何达到“Yes”比“No”更多的投票提案都将获得批准。投票数无关紧要;这个比例很重要。根据提案的类型,提案需要在特定时间段内开放投票。

提案类型:

删除条目:通过投票确认后,目标条目将被删除。投票时间:48小时。

紧急删除条目(仅限所有者):只能由所有者触发。通过投票确认后,目标条目将被删除。投票时间:12小时。

紧急删除图像(仅限所有者):仅适用于图像条目。只能由所有者触发。通过投票确认后,目标条目将被删除。投票时间:4小时。

稍后我们可以使用相同的方法添加其他类型的提案。

所有提案都需要在用户界面中明确列出,以便人们知道他们需要投票。选民只需要一个TNS代币即可投票,但他们拥有的代币越多,他们的投票就越值得。

重要提示:用户的代币在投票期间被锁定。这可以防止TNS大鳄持有者压倒每一个活跃的投票。选民必须在对他们重要的选票上分配投票权。

Chapters章节

在1000个条目或三个星期的时间之后,任何用户都可以调用章节的结尾。然后,DAO将向所有TNS持有者分发收集的以太币,与其余额成比例。持有人不需要在DAO中列入白名单以获得以太分红。他们只需要在分发时保留TNS代币。

分发是一种拉动机制:持有者需要调用DAO的撤销功能来获得他们的以太。它不会被自动调用。退出窗口是72小时。50%的无人认领的gas归于拥有者,50%进入下一章的分红。

free费用

每个提交的参赛费的1%将转给当前所有者。其余部分放入池中,并在每章结束后分发给所有TNS持有者,与其TNS持有量成比例。

所有者的费用被分为单独的余额,他们可以随意定期退出。

要进入白名单,用户必须向DAO发送0.01以太。所有未来的代币购买价格都要低得多。0.01以太入场费是为了防止Sybil攻击。如果用户在第一次发送时发送的数量超过0.01,则0.01将转向白名单,剩余部分将用于计算用户获得的TNS数量。所有代币将一次性发回给用户。

简而言之,将这个项目视为众包选择你自己的冒险故事,包括人群策划和社区审查。一个故事——DAO(story-DAO)。

bootstrapping:PoA私有区块链

我们将使用两个引导程序:第一个程序将专注于在本地运行我们自己真正的以太坊区块链。它将使用PoA作为共识机制,并且像任何真正的以太坊testnet一样起作用 。

下载并安装Virtualbox。

下载并安装Vagrant。如果你不了解虚拟机是什么,请参阅此帖子。

从这里下载Geth。请务必在下载页面向下滚动并下载“Geth&Tools”,而不仅仅是“Geth”。如果你使用的是macOS,还可以使用Homebrew并使用进行安装。

Mist可以在这里下载。一定要下载“Mist”而不是“Ethereum Wallet”。Mist是以太坊“浏览器”,它可以打开各种DApps。以太坊钱包“Ethereum Wallet”可以干同样的事,但锁定在钱包模式,所以你不能用它打开其他应用程序。这是为了防止非技术用户访问到恶意DApp。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181221G0KFSK00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券