- 博客(15)
- 收藏
- 关注
原创 Solidity案例:投票
pragma solidity ^0.4.22;contract Ballot{ //声明结构体,选民 struct Voter { uint weight;//投票权重 bool voted;//是否投过票:true为投过 address delegate;//被委托人 uint vote;//投票提案的索引 } //提案类型 struct Proposal { .
2021-08-20 20:22:26 258
原创 Solidity案例:经典众筹
pragma solidity ^0.4.0;contract zhongchou{ struct needer{ address neederAdd; uint goalMoney; uint existingMoney; uint donorNum;//捐赠者人数 mapping(uint=>donor) map; } struct donor{ .
2021-08-15 17:11:06 316
原创 Solidity学习过程:storage与memory
pragma solidity >=0.5.0;contract memoryTest{ uint[] arrx;//这个状态变量存储在区块链网络上 //会为arry在内存中分配空间 function test(uint[] memory arry) public returns(uint){ arrx = arry;//将内存中的arry拷贝到区块链的arrx上 //当我们在函数体内部定义了一个可变长度的数组时,实际上,它默认.
2021-08-15 16:00:42 5265
原创 Solidity学习过程:getter函数
pragma solidity>=0.5.0;contract getter{ //public修饰符默认生成的get方法,供我们外部调用 uint public num = 100; //默认生成的get函数时external权限的,不能在合约的内部调用 function test() public { this.num; } function test2() public { map.
2021-08-15 10:32:11 534
原创 Solidity学习过程:面向对象--继承
继承pragma solidity>=0.5.0;contract father{ uint public money = 1000000; function NB() public returns(string memory){ return "niubi"; }}//son这个合约继承了father这个合约contract son is father{ //继承了父亲的money属性 functi.
2021-08-15 10:06:34 249
原创 Solidity学习过程:modifier修改器
pragma solidity^0.5.0;contract modifierTest{ address public owner; uint public num = 0; constructor() public{ owner = msg.sender; } //定义modifier modifier OnlyOwner{ require(msg.sender == owner);//判断当前调用合约的地址是不是ow.
2021-08-15 09:30:04 435
原创 Solidity学习过程:新版本的构造函数
构造函数只能有一个,是在部署的时候执行的。在 0.5 以上版本, solidity 采用了类似于我们其他高级语言如java等通用的关键字 constructor 来定义构造函数。pragma solidity^0.5.0;contract createfun{ uint public a; //构造函数可以有参数 constructor(uint _a,uint _b) public { a = _a; }}contract create
2021-08-14 22:15:11 585
原创 Solidity学习过程:值传递
pragma solidity^0.5.0;contract zhichuandi{ uint public a = 100; uint public b = a; function changeIt() public{ b = 999; } function changeIt2() public view returns(uint,uint){ uint a1 = 100; uint .
2021-08-14 21:52:53 153
原创 Solidity学习过程:变量
重复错误编译通过,返回1999.pragma solidity^0.5.0;contract valueCopy{ uint a = 100; uint b = 200; function test() public view returns(uint){ uint a = 1999; a = 300; return a; } function test2(uint a).
2021-08-14 21:38:14 87
原创 Solidity学习过程:返回值特性
pragma solidity^0.5.0;contract funreturn{ //返回值可以有名字 function returnTest()public view returns(uint mul){ uint a= 10; return a; } //可以直接为返回值赋值 function returnTest2()public view returns(uint mul){ mul = 10; .
2021-08-14 21:29:16 351
原创 Solidity学习过程:函数命名参数
pragma solidity^0.5.0;contract funcParam{ uint public num; string public name; function setParam(uint _num,string memory _name) public{ num = _num; name = _name; } function Test() public { setPar.
2021-08-14 21:12:48 204
原创 Solidity学习过程:函数重载
正所谓当我们的一些行为模式一致时,但是当这个行为所输入的参数不一样时,便构成了重载 。具体表现如下:1.函数的名字相同编译不通过2.函数的参数(类型、数量)不同编译通过3.不考虑函数的返回值是否相同编译不通过错误问题加了256以后不能匹配下边test1里的uint8,但是可以匹配上边的test1里的uint,所以编译通过。uint160和address在高版本编译下,数字直接匹配uint160,十六进制地址匹配address,编译可以通过...
2021-08-14 21:03:06 274
原创 Solidity学习过程:mapping映射
pragma solidity^0.5.0;contract mappingTest{ //idmapping代表地址与id映射到了一起,namemapping代表id与名字的字符串映射到了一起 mapping(address => uint) idmapping;//0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2 => 1 mapping(uint => string) namemapping;//1 =>.
2021-08-14 20:33:16 497
原创 Solidity学习过程:全局属性
block.blockhash(uint blockNumber) returns (bytes32):指定区块的区块哈希——仅可用于最新 的 256 个区块且不包括当前区块;而 blocks 从 0.4.22 版本开始已经不推荐使用, 由 blockhash(uint blockNumber) 代替block.coinbase (address): 挖出当前区块的矿工地址block.difficulty (uint): 当前区块难度block.gaslimit (uint): 当前区块 gas
2021-08-14 18:15:06 257
原创 Solidity学习过程:transfer转移资金
跟视频敲的一些代码和总结,视频课地址:https://www.bilibili.com/video/BV1St411a7Pk?p=1
2021-08-14 18:04:32 1215
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人