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

2023-11-19

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

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

我们要构建3件事:

  • 自定义代币。
  • 使用代币作为投票的DAO。
  • 用于与智能合约交互的原型Web UI。

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

我们将要构建什么?

我们正在建设的项目名为The Neverending Story(TNS)。完整的项目可以在storydao.bitfalls.com找到。它的完整代码在GitHub上。

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

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

操作类型:

  • 提交条目:要求发件人至少拥有1个TNS代币并位于白名单中(见下文)。成本0.0001 ether * number of entries in current chapter。 (参见下面的“章节”部分)。这可以是每50个文本条目只有一次图像,并且只能是一个URL。否则就是文字。没有代码,只有纯文本。 在任何一种情况下,文本字段大小限制为256个字符。
  • 转让所有权(仅限所有者):可以将所有权转移到新地址。
  • 减少费用(仅限所有者):所有者可以在不要求投票的情况下提交较低的费用(参见下面的费用“Free”部分)。
  • 购买TNS代币:将以太发送到DAO以获得自动发回一定比例数量的TNS代币。如果DAO中没有足够的TNS代币,则必须从交易所获得它们。
  • 检查代币余额:一个只读操作,用于检查DAO中有多少个TNS代币。
  • 白名单:当以太发送到DAO的地址时,会自动调用此函数。它将发件人记录在白名单数组中以供将来参考,获得大量TNS的人不能将它们分发到各种帐户。
  • 结束章节:触发​​分配以太分红和重置输入费用的章节结束流程。
  • 撤回:当利益相关者想要撤回分红时调用。
  • 所有者提款(仅限所有者):由所有者调用以便提取费用收入。

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

提案类型:

  • 删除条目:通过投票确认后,目标条目将被删除。投票时间:48小时。
  • 紧急删除条目(仅限所有者&#
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 详解如何修改Linux文件权限

    参考 详解如何修改Linux文件权限 Linux文件权限详解 在Linux系统中 可以使用chmod命令来修改文件的权限 该命令用于更改文件或目录的读取 r 写入 w 和执行 x 权限 以下是一些详细的说明和示例 使用数字表示权限 r 读取
  • Golang教程:(十六)结构体

    原文 https golangbot com structs 欢迎来到Golang系列教程的第十六篇 什么是结构体 结构体 struct 是用户自定义的类型 它代表若干字段的集合 有些时候将多个数据看做一个整体要比单独使用这些数据更有意义

随机推荐

  • element el-table render-header自定义复选框

    项目中需要对列表数据进行批量处理 表头增加复选框 并关联列表数据 el table提供解决方法 实现多选非常简单 手动添加一个el table column 设type属性为selection即可 尝试后在我的项目中不适用 于是找到另一种r
  • Redis缓存与数据库双写一致性解决方案

    目录 1 冤孽的诞生 1 1 需求起因 1 2 策略之争 2 标准解决方案 2 1 延时双删策略 2 2 异步更新缓存 基于订阅binlog的同步机制 3 基于binlog订阅实现步骤 3 1 准备材料 3 2 代码实现 1 冤孽的诞生 1
  • python两个二维数组加法_python中利用numpy.array()实现俩个数值列表的对应相加方法...

    python中利用numpy array 实现俩个数值列表的对应相加方法 小编想把用python将列表 1 1 1 1 1 1 1 1 1 1 和 列表 2 2 2 2 2 2 2 2 2 2 对应相加成 3 3 3 3 3 3 3 3 3
  • [嵌入式linux]PCIe 热拔插(rescan)

    linux下可通过 sys bus pci devices 0000 bus number device number function number 目录下的节点进行热拔插操作 板子上电前PCIe插槽有一块NVME的固态硬盘 0 1985
  • SDIO接口协议(MMC SD WIFI GPS 以太网)

    一文搞懂SDIO 曼巴精神传承人的博客 CSDN博客 sdio SDIO协议 觅食小鱼的博客 CSDN博客 sdio协议 传统的SD存储卡只有一排引脚 包括一个3 3V电源VDD 用于默认速度
  • 使用ReactiveCocoa实现iOS平台响应式编程

    使用ReactiveCocoa实现iOS平台响应式编程 TIGER IOS 10 使用ReactiveCocoa实现iOS平台响应式编程 ReactiveCocoa和响应式编程 在说ReactiveCocoa之前 先要介绍一下FRP Fun
  • linux arm mmu基础

    ARM MMU页表框架 先上一张arm mmu的页表结构的通用框图 以下的论述都由该图来逐渐展开 以上是arm的页表框图的典型结构 即是二级页表结构 其中第一级页表 L1 是由虚拟地址的高12bit bits 31 20 组成 所以第一级页
  • 常用的IDEA插件

    IDEA是程序员用的最多的开发工具 很多程序员想把它打造成一站式开发工具 于是安装了各种各样的插件 通过插件在IDEA中完成各种操作 无需安装其他软件 确实很方便 今天给大家分享下我平时常用的IDEA插件 个个是精品 Key Promote
  • 今天我花一个通宵的时间安装Windows11系统居然失败,忍不住哭了!

    个人主页 极客小俊 作者简介 web开发者 设计师 技术分享博主 希望大家多多支持一下 我们一起进步 如果文章对你有帮助的话 欢迎评论 点赞 收藏 加关注 我们就不要废话了 直接上主题吧 Windows11 系统安装 提示此电脑无法运行完美
  • ospfv2详解

    文章目录 OSPFV2 技术背景 OSPF基本信息 OSPF 如何完成收敛 SPF计算 DR与BDR DR与BDR的选举 泛洪机制 影响OSPF邻接关系连理原因 1 状态 2 报文 参数 3 物理故障 lsa优先cost及防止环路 ospf
  • 通过doi可以检索到文献_经验丨我如何获得英文文献

    前阵子有师妹问我如何找英文文献 那这周就来分享分享我的经验 希望能有所帮助 那我们开始吧 本期推送目标 查找并下载目标英文文献 其实这里包含两个部分 第一个是找到想要的英文文献 第二个才是下载 如果已知目标文献信息 仅仅想要下载可以直接在往
  • C++——浅拷贝、深拷贝、写时拷贝详解

    C 浅拷贝 深拷贝 写时拷贝详解 浅拷贝与深拷贝 解决浅拷贝的问题 引用计数 写时拷贝 浅拷贝与深拷贝 用String类模拟用 将 0 拷贝进去 调用系统默认的拷贝构造函数 结果就是内容相同 地址相同 说明这个方法是浅拷贝方法 浅拷贝方法带
  • Java代码判断当前操作系统是Windows或Linux或MacOS

    package com magic system public class SystemUtils 判断操作系统是否是 Windows return true 操作系统是 Windows false 其它操作系统 public static
  • 在Visual studio 2019中创建Qt+OpenCv项目

    一般创建Qt项目 都会第一时间想到Qt creator 这个IDE确实好用 可自由选择编译器 mingw或Visual studio 但要同时结合OpenCv框架 整个配置过程太繁琐了 好像需要用到Cmake工具 综合考虑了一下 在Visu
  • C++中ListNode线性链表的定义及其使用方法(Leedcode两数相加题目)

    1 ListNode线性链表定义 struct ListNode int val ListNode next ListNode val 0 next NULL ListNode int x val x next NULL ListNode
  • PPI协议详解 ppi通讯协议 ppi通信协议 vb与ppi协议通讯

    PPI协议详解 ppi通讯协议 ppi通信协议 vb与ppi协议通讯 PPI协议详解 ppi通讯协议 ppi通信协议 vb与ppi协议通讯 我们提供 PPI协议的官方文档 协议更新时间为2005年 下面是我们根据文档解析的PPI读取变量返回
  • SQLi LABS Less-7 布尔盲注

    作者主页 士别三日wyx 作者简介 CSDN top200 阿里云博客专家 华为云享专家 网络安全领域优质创作者 第七关是单引号 双括号的字符型注入 推荐使用布尔盲注 方式一 布尔盲注 第一步 判断注入点 第二步 判断长度 第三步 枚举字符
  • redis篇

    一 数据库分类 1 关系型数据库SQL Oracle 不开源收费 高帅富 SQL Server 不开源收费 微软自家的产品 DB2 不开源收费 IBM 的产品 Sybase 不开源收费 微软的小基友 关系破裂后家境惨淡 MySQL 大家都在
  • 数仓相关知识点/笔记(OLTP和OLAP)

    现在实时数仓是一个非常火的趋势 最近开始逐渐了解一些数仓相关的东西 从基础的理论知识包括架构 算一个基础总结和学习记录吧 包括OLTP和OLAP 基础表和数据湖相关概念 不定期补充更新 联机事务处理OLTP和联机分析处理OLAP 关键词 日
  • 以太坊构建DApps系列教程(一):应用程序规则和区块链设置

    这将是一个如何使用以太坊区块链构建去中心化应用程序DApps的系列教程 第一篇教程重点介绍应用程序的规则和功能以及设置私有区块链 展示在使用或不使用DAO和应用程序的情况下如何构建自己自定义的以太坊代币 我们要构建3件事 自定义代币 使用代