区块链智能合约
起步的菜鸟
这个作者很懒,什么都没留下…
展开
-
Solidify实现一个智能合约10(枚举)
代码示例pragma solidity ^0.4.4;contract Mj { enum ActionChoices {GoLeft,GoRight,GoStraight,SitStill} ActionChoices _choice; ActionChoices constant defaultChoice = ActionChoices.GoStraight;...原创 2018-10-17 11:56:12 · 368 阅读 · 0 评论 -
Solidify实现一个智能合约8(动态大小字节数组)
动态大小字节数组string是一个动态尺寸的UTF-8编码字符串,它其实是一个特殊的可变字节数组,string是引用类型,而非值类型。bytes动态字节数组,引用类型。常规字符串string转换为bytesstring字符串中没有提供length方法获取字符串长度,也没有提供方法修改某个索引的字节码,不过我们可以将string转换为bytes,再调用length方法获取字节长度,当...原创 2018-10-17 11:50:52 · 622 阅读 · 0 评论 -
Solidify实现一个智能合约9(数组和string之间的转换关系)
固定大小字节数组之间的转换固定大小字节数组,我们可以通过bytes1~32来进行声明,固定大小字节数组的长度不可变,内容不可修改。pragma solidity ^0.4.4;contract Test { bytes5 public g = 0x6869736565; //hisee function getBytesLength() constant returns...原创 2018-10-17 11:51:10 · 758 阅读 · 0 评论 -
Solidify实现一个智能合约7(固定大小字节数组)
固定大小字节数组固定大小字节数组可以通过bytes1,bytes2,bytes3,...,bytes32来进行声明。PS:byte的别名就是bytes1。bytes1只能存储1个字节,也就是二进制8bit的内容。bytes2只能存储2个字节,也就是二进制16bit的内容。bytes3只能存储3个字节,也就是二进制24bit的内容。...bytes32只能存储32个字节,也就...原创 2018-10-12 20:38:07 · 282 阅读 · 0 评论 -
Solidify实现一个智能合约6(Address和String)
地址长度为20字节,160位长度。pragma solidity ^0.4.4;contract Test { address _owner; uint160 _ownerUint; function Test() { _owner = 0x68f5e0b7ba23cdac76b55925546213b92156f217; _ownerUint = 5992...原创 2018-10-12 20:37:58 · 1057 阅读 · 0 评论 -
Solidify实现一个智能合约4(值类型)
bool类型true 和 false运算符:! 逻辑非 && 逻辑与 == 等于 || 逻辑或 != 不等于 代码示例:pragma solidity ^0.4.4;contract Test { uint a; uint b; bool c; function Test() { ...原创 2018-10-12 20:37:31 · 267 阅读 · 0 评论 -
Solidify实现一个智能合约2(属性和行为的访问权限)
属性的访问权限属性:状态变量属性的权限有三种:public internal private pragma solidity ^0.4.4;/*属性的权限有三种:public internal private */contract Person { uint _age;//默认的是internal uint internal _weight; uint p...原创 2018-10-12 20:24:10 · 1543 阅读 · 0 评论 -
Solidify实现一个智能合约17(创建BLC币)
创建文件夹:mkdir BLC进入后执行:truffle init再执行:npm init,一直回车再执行:npm install zeppelin-solidityhisee@liu:/media/hisee/本地磁盘2/MyCodes/BlockChain/BLC$ npm install zeppelin-soliditynpm WARN deprecated zep...原创 2018-10-12 20:36:36 · 331 阅读 · 0 评论 -
Solidify实现一个智能合约16(创建一个简单的代币)
创建一个工程,新建一个EncryptedToken合约。代码如下:pragma solidity ^0.4.4;contract EncryptedToken { uint INITIAL_SUPPLY = 666666; //允许发布的代币数量 mapping (address => uint) balances; function EncryptedTo...原创 2018-10-12 20:37:16 · 812 阅读 · 0 评论 -
Solidify实现一个智能合约14(元组)
定义元组使用小括号,只需要在括号中添加元素,并使用逗号隔开即可。PS:元组中各个元素的类型可以不一样,但数组中的元素必须一样。示例1pragma solidity ^0.4.4;contract test { function f(uint a,uint b ) returns (uint,uint) { return (a+b,a*b); //返回的是一个元组 ...原创 2018-10-12 20:36:58 · 242 阅读 · 0 评论 -
Solidify实现一个智能合约5(值类型和引用类型的传递)
值传递代码示例:pragma solidity ^0.4.4;contract Person { uint _age; function Person(uint age) { _age = age; } function f() { modify(_age); } function modify(uint age) { age = ...原创 2018-10-12 20:37:48 · 649 阅读 · 0 评论 -
Solidify实现一个智能合约3(单继承与多继承)
单继承方法/函数的继承代码示例pragma solidity ^0.4.4;contract Animal { uint _weight; uint private _height; uint internal _age; uint public _money; function test1() constant returns (uint) { ...原创 2018-10-12 20:31:47 · 551 阅读 · 0 评论 -
Solidify实现一个智能合约13(单位/全局变量)
以太币的单位一个整数后面可以跟的一个单位:ether,finney,szabo,wei。换算如下:1 ether = 1000 finney1 ether = 100 0000szabo1 ether = 10**18wei时间单位seconds,minutes,hours,days,weeks,years。特殊变量和函数区块和交易属性block.bloc...原创 2018-10-17 11:57:17 · 387 阅读 · 0 评论 -
Solidify实现一个智能合约12(字典/映射)
语法mapping(_keyType => _ValueType)字典/映射其实就是一个一对一键值对存储关系。举个例子:{age:18,stuId:10003,name:"Hisee"},age的值为18,stuId的值为10003,name的值为Hisee。PS:Value可以相同,但KeyType不可以相同。示例pragma solidity ^0.4.4;...原创 2018-10-17 11:56:58 · 486 阅读 · 0 评论 -
Solidify实现一个智能合约11(结构体)
结构体的声明pragma solidity ^0.4.4;contract Students { struct Person { uint age; uint stuId; string name; } Person[] _person = new Person[](5);}结构体的初始化pragma solidity ^0.4.4;...原创 2018-10-17 11:56:28 · 699 阅读 · 1 评论 -
Solidify实现一个智能合约10(一维数组和二维数组)
固定长度的数组固定长度类型数组的声明及其通过length方法获取数组长度求和。pragma solidity ^0.4.4;/*数组一旦创建,长度不可变但里面的内容可变*/contract Sz { //定义长为5的数组,并对其初始化。 uint[5] T = [1,2,3,4,5]; //计算数组中所有数的和。 function numbers() con...原创 2018-10-17 11:51:43 · 880 阅读 · 0 评论