![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Solidity
super_lixiang
这个作者很懒,什么都没留下…
展开
-
Solidity开发测试环境搭建
Solidity基础1.概念:一种智能合约的高级语言,用于编写以太坊智能合约。运行在EVM上面2.语法类似js,是一种面向对象的语言.3.和传统语言的区别Address类型:由于以太坊的底层是基于账户的,所以拥有address类型,主要作用是定位合约,账户,合约代码等 Payable关键字:通过payable可以让以太坊在语言层面上支持支付 可见性:除去传统语言所支持的publ...原创 2018-10-14 18:41:30 · 4485 阅读 · 1 评论 -
truffle
truffle开发框架1.作用:为以太坊提供开发环境,测试框架等,使得以太坊开发测试更加方便。2.功能内置智能合约的编译、链接、部署等管理 可脚本化,可以扩展部署,迁移框架 网络管理,可以部署到任意的公共网络、私有网络 使用npm,ethpm进行包管理 用于直接与合约通信的交互式的控制台 可以在truffle环境中运行外部脚本 提供合约抽象接口,可以通过类似于var ins...原创 2018-10-19 21:46:02 · 1623 阅读 · 1 评论 -
第八集:Solidity实例项目
简单银行实现三个基本功能充值 取钱 查询余额先充值10,然后取出1,变成9。投票合约不同的选民针对不同的提案进行投票 一个选民只能投一次 所有人的权重一样 选民可以委托他人进行投票 统计票数,看看谁赢了 决策者 ...原创 2018-10-19 19:51:10 · 1468 阅读 · 0 评论 -
第六集:Solidity异常处理
throw:如果发生异常,消耗发送的所有gas,没有异常信息,回滚所有状态 require(bool condition):自行判断,如果不满足条件也会产生异常,返回未使用的gas,一般来说尽可能的只用require,回滚已修改状态 assert(bool condition):如果产生异常,返回剩余未使用的gas,回滚(已修改的状态) revert():终止执行,回滚所有状态。在智...原创 2018-10-18 15:58:31 · 508 阅读 · 0 评论 -
第五集:Solidity的事件与文件
事件1.事件是使用EVM的日志内置的工具,关键字event。2.为什么要有事件?在真实的环境中,发送交易调用智能合约的过程交易发送->打包->执行交易,在发送交易之后,不会马上返回执行结果,只会立刻返回一个交易的哈希。3.事件可以继承,在合约内不能直接访问文件:import概念:导入其它源文件 Import “filename”;把指定的文件导入到当前全局范...原创 2018-10-18 15:53:22 · 303 阅读 · 0 评论 -
第四集:Solidity的库
库关键字:library 在solidity中,库也是一种合约,没有存储,不存储以太币 没payable,也没有fallbace函数 库可以部署,但不能够直接访问其中的函数 通常用于公共功能,类似于golang的package using for *(附着库)声明方式: using A for B:将A中定义的所有函数都附着在任意类形B上面,类型B的实例可以调用A中所有的方法...原创 2018-10-18 15:42:25 · 423 阅读 · 0 评论 -
第三集:Solidity面向对象
面向对象:OO编程,针对面向过程而言的。 特点:封装、继承、多态继承:在solidity中,继承就是合约与合约之间一种特殊的传递关系。 通过”is”关键字实现继承。子合约(派生合约)可以访问父合约中所有非private的状态变量与函数。 继承支持参数传递 支持多重继承:在solidity中,支持多重继承,但是多重继承中有重名合约。多个继承之间用逗号隔开,如果一个合约继承了多个其它...原创 2018-10-17 16:59:38 · 581 阅读 · 0 评论 -
第二集:Solidity函数讲解
函数基础1.Solidity本身也是一门函数编程语言,也就是说函数可以做参数、变量、返回值。函数属于值类型,支持多返回值。2.调用方式内部调用内部调用采用EVM跳转调用,所以能够直接使用上下文中的数据,因为不用拷贝数据,所以在数据传递的时候非常高效 对合约内的函数,引入的库函数和从父合约中继承的函数都可以进行内部调用外部调用采用外部交易调用,使用external。对于一个外...原创 2018-10-17 13:15:39 · 1658 阅读 · 0 评论 -
第一集:Solidity语法讲解
注释1.代码注释单行是// 多行是/**/ 2.文档注释三斜杠/// /** */值类型和引用类型1.值传递:简单来说就是拷贝,不会对原数据造成影响2.引用传递:不是拷贝,会对原有的数据产生影响3.值类型整形 布尔 地址(address) 枚举 函数 定长字节数组 类似[32]byte4.引用类型(在某些情况下,复杂类型占用的空间比较大...原创 2018-10-15 21:29:14 · 8717 阅读 · 0 评论 -
解析宠物商店pet_shop
Truffle unbox 实例实现1.Pet-shop实现2.下载pet-shop unbox:truffle unbox pet-shop然后直接运行:npm run dev然后自动弹出宠物网页:http://localhost:3000/3.Bootstrap:前端开发框架4.步骤打开ganache 设置metamask网络为私有Privat...原创 2018-10-20 20:12:30 · 1036 阅读 · 0 评论