什么是智能合约

  • 简介:智能合约是存储在区块链上的一段代码,它们可以被区块链上的交易所触发,触发后,这段代码可以从区块链上读取数据或者向区块链上写入数据。

Solidity 的语言特性

  • Solidity 是 Ethereum 的一种契约型编程语言,运行在Ethereum虚拟机(EVM)之上。

  • 它的语法接近于Javascript,是一种面向对象的语言。但作为一种真正意义上运行在网络上的去中心合约,它又有很多的不同,下面列举一些:

  • 以太坊底层是基于帐户,而非UTXO的,所以有一个特殊的Address的类型。用于定位用户,定位合约,定位合约的代码(合约本身也是一个帐户)。

  • 由于语言内嵌框架是支持支付的,所以提供了一些关键字,如payable,可以在语言层面直接支持支付。

  • 存储是使用网络上的区块链,数据的每一个状态都可以永久存储,所以需要确定变量使用内存,还是区块链。

  • 运行环境是在去中心化的网络上,会比较强调合约或函数执行的调用的方式。因为原来一个简单的函数调用变为了一个网络上的节点中的代码执行。

  • 最后一个非常大的不同则是它的异常机制,一旦出现异常,所有的执行都将会被回撤,这主要是为了保证合约执行的原子性,以避免中间状态出现的数据不一致。

remix-ide (Browser-solidity)<

使用 remix-ide(Browser-solidity)在 Geth 上部署智能合约相关推荐

  1. 在百度超级链Xuper上部署智能合约并实现存证功能

    现实生活中的使用场景 几个摄影师朋友找到你, 他们的摄影作品上传到自己的blog后总是被其他人盗用, 使用水印之类的方法也无法避免像截取部分这种情况, 他们需要一个能证明摄影作品最早是由 自己上传.而 ...

  2. Truffle 4.0、Geth 1.7.2、TestRPC在私有链上搭建智能合约

    1.什么是 Truffle? Truffle 是最流行的开发框架,能够在本地编译.部署智能合约,使命是让开发更容易. Truffle 需要以太坊客户端支持,需要支持标准的JSON RPC API. 2 ...

  3. Truffle 、Geth、TestRPC 在私有链上搭建智能合约

    Truffle 的简介 Truffle 是最流行的开发框架,能够在本地编译.部署智能合约,使命是让开发更容易. Truffle 需要以太坊客户端支持,需要支持标准的 JSON RPC API. Tru ...

  4. 【以太坊】在测试网络上发布智能合约

    一.准备工作 1.本地测试网络搭建完成,对以太坊的了解已经达到基础水平.(可以参考我之前的关于以太坊的文章). 2.有翻墙的能力(发布合约的时候,有不少网站都是需要翻墙操作的) 3.本地浏览器安装Me ...

  5. 使用remix和matemask部署智能合约到以太坊测试网络

    目录 1. 平台准备 1.1 网页版remix 1.2 Chrome浏览器插件metamask 2. 部署智能合约 1. 平台准备 1.1 网页版remix 进入网址 https://remix.et ...

  6. 以太坊开发(二)使用Ganache CLI在私有链上搭建智能合约

    以太坊开发(二)使用Ganache CLI在私有链上搭建智能合约 在上一篇文章中,我们使用Truffle自带的客户端Truffle Develop,在私有链上搭建并运行了官方提供的WebPack智能合 ...

  7. 编写和部署智能合约:智能合约工具、remix、Truffle

    第五章 文章目录 第五章 一.智能合约工具 二.remix 三.Truffle 总结 一.智能合约工具 智能合约的编译环境就是solidity的编译环境,智能合约的执行环境就是EVM. 二.remix ...

  8. 12在以太坊上定义智能合约缺陷

    原文标题: Defining Smart Contract Defects on Ethereum 原文作者: Jiachi Chen, Xin Xia, David Lo, John Grundy, ...

  9. 行走在区块链上的智能合约

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 我和你打一个赌,我赌明天是雨天,你赌是晴天,赌注100大洋.假设明天是晴天,然后你跑过来管我要100大洋的赌金,我装疯卖 ...

最新文章

  1. java bean 工厂模式_Spring框架通过工厂创建Bean的三种方式实现
  2. 【UML】构件图Component diagram(实现图)(转)
  3. 如何聊才能突出自己软实力,打动面试官
  4. 求邻接矩阵matlab,如何使用MATLAB绘制邻接矩阵
  5. Android音视频开发之ExoPlayer(二):播放列表常用的功能
  6. 网易云、酷狗、QQ音乐歌单接口API
  7. 【初探篇】Nginx 虚拟主机与域名解析
  8. Domain Impression A Source Data Free Domain Adaptation Method
  9. 1209: 【入门】数字走向II
  10. VMware Fusion安装cloudera manager
  11. 前端(五)DOM 文档对象模型
  12. excel使用小技巧-冻结窗格
  13. excel 公式 单引号 concat_2019会计必备:934套带公式的实用Excel模板!【收藏】
  14. 网络通是免费的内网端口映射软件
  15. QMT量化交易软件使用攻略(二)-策略编写
  16. 2022年春招 360笔试 第二题 翻转棋子
  17. Fiddler+Proxifier进行PC端微信小程序抓包
  18. 【Golang实战】——XPath解析网页
  19. [主板] 如何通过BIOS设置自动开机
  20. 1k文件夹快捷方式病毒清理

热门文章

  1. 折叠菜单,选择下拉(手风琴)
  2. jQuery全屏滚动插件fullPage.js
  3. MySQL中的常用函数
  4. HDU-1102-Constructing Roads(并查集)
  5. 76Byte让你的JQuery更快
  6. 要提升asp.net工作能力。应急于提升的是哪些技术?
  7. python glob函数_python glob 模块 map函数
  8. Java旅游动吧项目讲解_springboot动吧项目
  9. 广域信息服务器,网络工程师之广域信息服务
  10. java ajax传输图片_Java使用Ajax实现跨域上传图片功能