solidity学习笔记】的更多相关文章

为什么要有内联汇编? //普通循环和内敛汇编循环比较 pragma solidity ^0.4.25; contract Assembly{ function nativeLoop() public view returns(uint _r){ for(uint i=0;i<10;i++){ _r = _r +i; } } function asmLoop() public view returns (uint _r){ assembly{ let i:=0 loop: i:=add(i,1)…
call() 方法 call()是一个底层的接口,用来向一个合约发送消息,也就是说如果你想实现自己的消息传递,可以使用这个函数.函数支持传入任意类型的任意参数,并将参数打包成32字节,相互拼接后向合约发送这段数据. 简单说 根据地址调用指定合约的方法. pragma solidity ^; contract cat{ function eat(uint a) public view returns(uint){ return a; } } contract Animal{ cat c; cons…
接口:不用实现方法,仅仅定义方法. pragma solidity ^; contract cat{ //cat实际上实现了接口animalEat,因为他们有相同的方法. string name; function eat() public view returns(string){ return "cat eat"; } } interface animalEat{ function eat() public view returns(string); //定义接口的方法 } con…
修饰符: 函数修饰符有 constant  view pure 其中 constant和view的功能是一样的  不会消耗gas 也就是说不会做任何存储   constant在5.0以后的版本中被废弃 pure则更严格一点 不会消耗gas 也不会使用函数的变量 继承: 合约之间的继承是通过 is 来实现的: contract father{ uint public money = 1000; } contract son is father{   //son 继承 father function…
solidity 二维数组: pragma solidity ^0.4.23; contract twoArray{ uint[2][3] grade =[[20,30],[40,50],[45,60]];  //定义一个二维数组 function getGrade() view public returns(uint[2][3]){ return grade; } //获取二维数组总长度 function getLength() public view returns (uint){ retu…
一 pragam solidity ^0.4.23; contract helloword{ string public  name ="hello"; function getName () public view returns(string){ return name; } } solidity中string是一种动态数组类型,要取得string的长度以及string中的值,需要把string转换为bytes字节数组. 长度:   bytes(name).length; 获取字节…
library库的申明: library SafeMath{ functrion mul(uint a,uint b) public returns (uint){ uint c= a*b; assert(c/a = b) return c } } 使用library库 1 合约中引入 两种调用方式: 2) 直接调用librady名称 : 如 import "XX.sol" contract test{ function mul(uint a,uint b) public return…
golang学习笔记19 用Golang实现以太坊代币转账 在以太坊区块链中,我们称代币为Token,是以太坊区块链中每个人都可以任意发行的数字资产.并且它必须是遵循erc20标准的,至于erc20标准,大家可以参考这篇文章 https://theethereum.wiki/w/index.php/ERC20_Token_Standard 它实际上一段智能合约代码,智能合约代码中必须要有以下的一些function 和 event. contract ERC20 { function totalS…
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者服务器 一.安装webpack 你需要之前安装node.js $ npm install webpack -g 安装成功后,便可以使用webpack命令行了. ok,开始工作! 二.新建一个空目录,名字为myApp,文件如下 entry.js document.write("It works.&qu…
1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 3.  UML类图 4.  思维导图 (右键查看图片可放大) 5.  PHP代码 我已经把有关这部分PHP代码,上传到git.oschina.net上,可以在 https://git.oschina.net/andywww/myTest 的文件夹template_Study下看到相关的完整代码. templa…