P7 、1-以太坊(Ethereum)是什么?html
DAPP:分布式应用程序网络
以太坊提供了便于交易的加密货币以太币(Ether),可透过智能合约解决交易上的信任问题,同时也可撰写DAPP来提供友善的信息汇总与操做界面,让以太坊成为一个目前最理想的区块链底层技术。 编辑器
以太币(Ether)的实际用途分布式
在电脑上执行的通常的代码,写出来可能会有循环不断执行(死循环)的状况,搬到区块链上亦然。那么以太坊怎么解决这个问题呢?以太坊开发者想到的办法是让执行的代码变得有价。EVM里支持的全部的指令(OPCODE)都有明码标价,执行智能合约须要消耗与执行的指令数量至关的以太币。在智能合约的术语中,这些拿来消耗的以太币被称为gas(燃料)。部署合约到区块链上时,须要附加必定数量的燃料。当燃料消耗完而程序还没执行完,就会出现 Out of Gas(燃料耗尽)错误。智能合约透过这样的方式来避免死循环等状况。post
智能合约能作什么事? 区块链
创造新的加密代币大数据
募资 atom
程序能作的事加密
当你须要公开时,可被信任的纪录时,均可以透过智能合约达成。url
以太坊的缺点
P8 、2-什么是智能合约(Smart Contract)
在区块链上运行的程序,一般称为 智能合约(Smart Contract)。因此一般会把写区块链程序改称为写智能合约。
智能合约能够作什么?
目前最多见的智能合约是各类加密货币合约,开发者能够很容易地透过部署一个智能合约,来提供运行于以太坊上的新加密代币。
智能合约和通常程序的差别
1、整合金流容易
2、部署时与后续写入时须要费用
3、储存资料的成本高
4、部署后没法更改
如何编写智能合约?
Ethereum上的智能合约须要使用solidity语言来编写。
将智能合约部署到区块链的流程
写好solidity代码(.sol)后,须要先将程序代码编译(编译)成EVM(Ethereum Virtual Machine)能读懂的二进制度Contract ByteCode,才能部署到Ethereum的区块链上执行。部署到区块链上的合约会有一个和钱包地址(地址)同样格式的合约地址(Contract Address)。
部署后智能合约可自动执行。后续呼叫智能合约的时候,使用者可使用部署合约的钱包地址(全部者帐户),或依据编写的智能合约条件,让其余钱包地址也能呼叫这个只能合约。呼叫智能合约,其实就是向这个合约地址发起交易,只是交易的不仅是代币,而能够是智能合约提供的呼叫方法。
P9 、3-Atom编辑器编写智能合约(Smart Contract)插件安装配置
编辑器的选择:Atom、WebStorm、VSCode、Sublime等等。
Atom下载地址:https://atom.io/,下载安装Atom
安装Atom插件:
离线插件安装参考此文:Atom离线插件安装