区块链学习(3)--以太坊Dapp开发
DApp是Decentralized Application的缩写,译为:分散式的应用程序。App我们都知道,我们在智能手机上安装的应用程序也就是App。而DApp比App多了一个‘D’,‘D’的意思是分散式的。意思是 分散式的应用程序/去中心化的应用程序。与传统的App最大的区别是:DApp运行在去中心化的网络上,也就是区块链网络中。这里的DApp开发用以太坊智能合约为例,智能合约是记录在链上的一段能够控制链行为事件的一段协议,如:合约下关联账户转币、查账、投票、购买等等,合约里涉及的变量、常量都是记录在链上的数据,凡是写入数据就必须要消耗以太坊作为写入数据的矿工费,所以开发时我们把链作为数据库操作。
1、开发流程:
(1)根据需求编写出智能合约,以public函数为单元测试
(2)部署合约进行调试,可以用metamask链接以太坊测试网络调试,也可以使用以太坊本地私有链,或者模拟环境ganache测试,这里推荐安装ganache(testrpc是在本地使用内存模拟的一个以太坊环境,目前已被ganache取代)
(3)结合需求定制前端功能模块
(4)前端功能链接合约,每完成一个功能函数链接可以做一次测试
(5)没有问题后发布在主网
2、环境的部署
转载于:https://blog.51cto.com/13238147/2341871
区块链学习(3)--以太坊Dapp开发相关推荐
- 区块链学习(3) 以太坊测试环境编译并部署智能合约(mac版)
选择编写智能合约的语言 Ethereum上的智能合约需要使用solidity语言来撰写.虽然还有其他能用来撰写智能合约的语言如Serpent(类Python).lll(类Fortran),但目前看到所 ...
- 以太坊DApp开发入门教程——Node.js和truffle框架打造区块链投票系统
第一节 课程概述 本课程面向初学者,内容涵盖以太坊开发相关的基本概念,并将手把手地教大家如何构建一个 基于以太坊的完整去中心化应用 -- 区块链投票系统. 通过本课程的学习,你将掌握: 以太坊区块链的 ...
- 头歌-信息安全技术-用Python实现自己的区块链、支持以太坊的云笔记服务器端开发、编写并测试用于保存云笔记的智能合约、支持以太坊的云笔记小程序开发基础
头歌-信息安全技术-用Python实现自己的区块链.支持以太坊的云笔记服务器端开发.编写并测试用于保存云笔记的智能合约.支持以太坊的云笔记小程序开发基础 一.用Python实现自己的区块链 1.任务描 ...
- 区块链技术之以太坊ETH白皮书
链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 基于中本聪区块链比特币1.0之后,天才少年Vitalik Buterin(V神)在2013年年末发布了以太坊白皮书,其实 ...
- 【区块链 | ENS】以太坊(Ethereum)中的ENS已支持DNS,怎么使用DNS解析地址?
上篇文章:[区块链 | Ens]以太坊(Ethereum)中的ENS是什么?如何购买ENS? 我们可以了解到什么是ENS,ENS该怎么购买,但它只支持.eth对应后缀域名,并不支持.com .cn . ...
- 以太坊DApp开发环境搭建
2019独角兽企业重金招聘Python工程师标准>>> 以太坊DApp开发环境搭建分为Ubuntu.Windows.mac下的搭建.目的为开发者提供一个以太坊开发.测试的搭建开发环境 ...
- V神又在操心区块链技术落地,以太坊大涨!
V神又在操心区块链技术落地,以太坊大涨! 12月1日,以太坊联合创始人 Joseph Lubin 连发20条推特,详细阐述了区块链技术和去中心化现状.在他认为,如今的以太坊社区比以往任何时候都更加健康 ...
- 以太坊Dapp开发通过truffle部署合约
以太坊Dapp开发通过truffle部署合约 Truffle是一个非常流行 DApp 开发框架,他可以帮我们处理掉大量无关紧要的小事情,让我们可以迅速开始写代码-编译-部署-测试-打包DApp这个流程 ...
- 区块链2.0以太坊漫谈(4)
智能合约 什么是智能合约 以太坊上的程序称之为智能合约, 它是代码和数据(状态)的集合. 智能合约可以理解为在区块链上可以自动执行的(由消息驱动的).以代码形式编写的合同(特殊的交易). 智能合约英文 ...
最新文章
- OSPF协议将其管理的网络划分为不同类型的若干区域(Area),其中标准区域特点是(64);存根区域(stub)的特点是(65)。【答案】C B
- 【转载】ATI显卡在Ubuntu下设置方法(很全面)
- Unisys:信息安全新关键——微分割
- QT的QCameraImageCapture类的使用
- TreeMap源码分析——深入分析(基于JDK1.6)
- blazeds调用java_Flex使用Blazeds与Java交互及自定义对象转换详解(转)
- python表达式352的值为_表达式 3 and 5 的值为
- [Python] - 批处理git conflict文件
- 苹方字体 for linux,苹果苹方字体/苹方黑体全套完整版下载(ttf版)
- 干货:大米云LAMP使用说明
- 2018 Multi-University Training Contest 3 hdu多校第三场 Problem A:Ascending Rating(单调队列)
- 华为LTC流程再造(BPR)的来龙去脉,看一篇文就够了!管理变革专家许浩明老师
- element-ui按需引入报错 Error: Cannot find module ‘babel-preset-es2015‘
- Swift 优化OC接口 NS_REFINED_FOR_SWIFT
- 关于减肥的科学理解和准则
- python ValueError: No JSON object could be decoded
- 标准SPI,Dual SPI和Qual SPI
- 服务器任务栏运行程序不见了,Win7系统任务栏上正在运行的程序图标不见了怎么办...
- 缓冲区溢出的基本原理
- 在Z-stack中,我们调用数据发送函数,可以发送的最大字节数即ASDU最大是多少呢?