以太坊智能合约开发学习01 -- 简介和概念

   日期:2020-09-09     浏览:102    评论:0    
核心提示:智能合约以太坊上的程序被称为智能合约,包含代码和相应的状态数据我们可以简单的理解为在区块链上,由事件驱动、以代码形式存在、可执行的特殊交易合同。它是代码与数据的集合,是以太坊的核心。智能合约非常适合对信任、安全和持久性要求较高的应用场景,比如:数字货币、数字资产、投票、保险、金融应用、预测市场、产权所有权管理、物联网、点对点交易等等场景。以太坊概念以太坊两类账户:外部拥有账户(EOA) :由公钥/私钥对控制,没有关联任何代码合约账户:由储存在账户中的代码控制外部账户与合约账户的区分:

智能合约

以太坊上的程序被称为智能合约,包含代码和相应的状态数据

我们可以简单的理解为在区块链上,由事件驱动、以代码形式存在、可执行的特殊交易合同。它是代码与数据的集合,是以太坊的核心。

智能合约非常适合对信任、安全和持久性要求较高的应用场景,比如:数字货币、数字资产、投票、保险、金融应用、预测市场、产权所有权管理、物联网、点对点交易等等场景。

以太坊概念

以太坊两类账户:
  • 外部拥有账户(EOA) :由公钥/私钥对控制,没有关联任何代码
  • 合约账户:由储存在账户中的代码控制

外部账户与合约账户的区分:
1、外部拥有账户和合约账户由同样的地址空间来表示,外部地址由公钥决定,合约账户的地址由合约创建者的地址和该地址发出过的交易数量Nonce计算得到
2、两个外部账户直接传送的消息只是简单的价值转移(转账)
3、外部账户到合约账户的消息会激活合约账户的代码,允许执行各种动作,合约账户不可以自己发起一笔交易,但是可以再响应交易是触发另一笔交易
注:在以太坊的任何动作都是由外部账户触发的交易所发起的,动作的发起者必须是外部账户

账户状态的四个组成部分:
  • Nonce:外部账户(代表从此账户地址发送的交易序号),合约账户(代表此账户创建的合约序号)
    注:以太坊有两种Nonce,一种是账户Nonce,表示一个账户的交易数量,另一种是工作量的证明Nonce,用于计算满足工作量证明的随机数
  • Balance:代表该地址拥有的以太币的余额数量
  • storageRoot:Merkle Patricia树的根节点Hash值,默认空值
  • codeHash: 该账户EVM代码的Hash值 (EVM:以太坊虚拟机,是以太坊智能合约的运行环境)
以太坊钱包:

功能齐全的以太坊钱包:Geth、Mist、Parity,这些钱包使用是会同步整个以太坊区块链的数据,可称为以太坊客户端

费用(gas)
  • 以太坊每笔交易收取的费用,其目的是限制执行交易所需的工作量,防止用户超负荷的使用网络导致网络瘫痪
  • gas 介个由交易创建者设置,需预付的交易费用,交易完成还有剩余则返回给发送者账户,gas被耗尽,操作会进行回滚
  • gas不仅仅是用来支付计算的费用,也用来支付储存的费用

以上仅个人学习笔记,谨慎参考

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服