Solidity
houyanhua1
这个作者很懒,什么都没留下…
展开
-
Solidity truffle,部署合约到Ropsten测试链或主链,调用合约
Infura是⼀个托管的以太坊节点集群,可以将你开发的以太坊智能合约部署到infura提供的节点上,⽽⽆需搭建⾃⼰的以太坊节点,它是MetaMask背后的以太坊供应商。1、Chrome浏览器安装MetaMask插件。https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn/relat...原创 2019-04-04 10:13:06 · 4687 阅读 · 3 评论 -
Solidity 内置全局函数
demo.sol(内置全局函数):pragma solidity ^0.4.21;contract Test { bytes32 public blockhash; address public coinbase; uint public difficulty; uint public gaslimit; uint public ...原创 2019-04-01 20:21:28 · 1375 阅读 · 0 评论 -
Solidity 货币单位,时间单位
demo.sol(货币单位):pragma solidity ^0.4.0;contract EthUnit{ uint a = 1 ether; // 货币单位。 数字与单位之间有空格。 uint b = 10 ** 18 wei; // ** 表示次方 uint c = 1000 finney; uint d = 100000...原创 2019-04-02 09:35:10 · 866 阅读 · 0 评论 -
Solidity constant常量,view修饰函数,pure修饰函数
demo.sol(constant常量,view,pure):pragma solidity ^0.4.20;contract Test { // 一、constant介绍 uint public v1 = 10; uint constant v2 = 10; string str1 = "hello!"; s...原创 2019-04-02 10:06:18 · 987 阅读 · 0 评论 -
Solidity 错误处理,require()
demo.sol(错误处理,require()):pragma solidity ^0.4.21;contract HasAnOwner { address public owner; uint public a; constructor() public { owner = msg.sender; } f...原创 2019-04-02 10:55:05 · 3568 阅读 · 0 评论 -
Solidity delete 删除
demo.sol(delete,删除):pragma solidity ^0.4.21;contract deleteTest { string public str1 = "hello"; // delete操作符可以用于任何变量(mapping除外),将其设置成默认值。 function delStr() public{...原创 2019-04-02 11:26:29 · 1462 阅读 · 0 评论 -
Solidity modifier 修饰器
demo.sol(modifier,修饰器):pragma solidity ^0.4.21;contract HasAnOwner { address public owner; uint public a ; constructor() public { owner = msg.sender; } ...原创 2019-04-02 12:14:33 · 1839 阅读 · 0 评论 -
Solidity 投票案例
demo.sol(投票合约案例):pragma solidity ^0.4.21;pragma experimental ABIEncoderV2;contract VoteContract { // 投票人 struct Voter { uint voteNumber; // 投票给第几个候选人 bool i...原创 2019-04-02 14:25:04 · 748 阅读 · 0 评论 -
Solidity truffle,通过web3.js部署合约、调用合约
安装truffle: npm install -g truffle (依赖Node.js和npm)测试安装是否成功:truffle version创建truffle项目:truffle init启动truffle的开发环境(虚拟私有链):truffle develop (每次启动都会自动创建10个账户,账户不会持久化)contracts/math.sol(创建一个简...原创 2019-04-03 14:47:31 · 3731 阅读 · 1 评论 -
Solidity truffle,通过truffle部署合约到开发环境的虚拟网络,调用合约
命令行中创建truffle项目:truffle initcontracts/Math.sol(创建一个简单合约):pragma solidity ^0.4.21;contract Math { function addFunc(uint a, uint b) pure public returns (uint){ return a + b; }...原创 2019-04-03 16:25:41 · 680 阅读 · 0 评论 -
Solidity truffle,单元测试
test/TestMath.sol(合约的单元测试):pragma solidity ^0.4.24;import "truffle/Assert.sol";import "truffle/DeployedAddresses.sol";import "../contracts/Math.sol"; // 要测试的合约// 测试合约名必须以Test开头contract T...原创 2019-04-03 16:43:12 · 862 阅读 · 0 评论 -
Solidity var 自动推导类型
原创 2019-04-01 20:03:57 · 542 阅读 · 0 评论 -
Solidity 字典类型(mapping,映射)
demo.sol(字典类型(mapping,映射)):pragma solidity ^0.4.20;contract test { // key => value (key不能重复) mapping(uint => string) map; // 字典(mapping)类型 (映射类型) constructor() pub...原创 2019-04-01 19:46:58 · 1829 阅读 · 0 评论 -
Solidity 智能合约,demo
demo.sol:pragma solidity ^0.4.21;// 定义合约contract SimpleStorage { // 状态变量(成员变量) uint storedData; // 构造函数 constructor() public { storedData = 100; } /...原创 2019-03-31 15:06:01 · 584 阅读 · 0 评论 -
Solidity 智能合约,import导入其他文件
demo.sol(import导入其他文件):pragma solidity ^0.4.20;import "./demo2.sol"; // 导入外部的sol文件。(Test合约)contract ImportTest { function setString(Test test, string str) public { test.set...原创 2019-03-31 15:58:25 · 4525 阅读 · 0 评论 -
Solidity 数据类型,值类型,引用类型
demo.sol(引用类型):pragma solidity ^0.4.20;contract Student { string _name = "lily"; function execute() public{ changeName(_name); } function changeName(string storag...原创 2019-03-31 17:29:52 · 354 阅读 · 0 评论 -
Solidity 布尔类型
demo.sol(bool类型):pragma solidity ^0.4.20;contract BoolTest { uint v1 = 10; uint v2 = 20; bool flag1 = true; bool flag2 = false; function f1() constant public...原创 2019-03-31 18:27:44 · 1050 阅读 · 0 评论 -
Solidity 整型类型
demo.sol(整型类型):pragma solidity ^0.4.21;contract IntegerTest { uint8 _v1 = 10; // 0~255 constructor(uint8 para) public { _v1 = para; } function getVal...原创 2019-03-31 20:34:05 · 283 阅读 · 0 评论 -
Solidity 地址类型,balance余额,sender调用者,this合约地址,transfer、send转账
demo.sol(地址类型与整型转换):pragma solidity ^0.4.20;contract AddressTest { address _add1 = 0x4b0897b0513fdc7c541b6d9d7e929c4e5364d2db; // 地址类型 address _add2 = 0x583031d1113ad414f02576bd6afab...原创 2019-03-31 22:08:39 · 9295 阅读 · 0 评论 -
Solidity 枚举类型
demo.sol(枚举类型):pragma solidity ^0.4.0;contract enumTest { enum ActionChoices { GoLeft, GoRight, GoStraight, SitStill } // 定义枚举类型 uint8(0,1,2,3) ActionChoices _choice; // 定义枚举类型的变量...原创 2019-04-01 09:21:58 · 1253 阅读 · 0 评论 -
Solidity 函数类型
demo.sol(函数类型):pragma solidity ^0.4.5;contract FunctionTest{ uint public v1; uint public v2; function internalFunc() internal{ v1 = 10; } function externalFun...原创 2019-04-01 13:17:07 · 629 阅读 · 0 评论 -
Solidity 数组类型。定长数组(bytes1)、不定长数组(bytes)与string之间的转换
demo.sol(定长数组,bytes1 ... bytes32):pragma solidity ^0.4.20;contract fixedArray { //bytes1 ... bytes32 bytes2 b2 = "xy"; // bytes2 长度必须是2个字符。 定义之后不可以修改。 bytes3 public b3 = "x...原创 2019-04-01 18:37:30 · 4901 阅读 · 1 评论 -
Solidity 结构体,struct
demo.sol(结构体类型,struct):pragma solidity ^0.4.5;contract Test { // 定义结构体类型 struct Student { string name; uint age; uint score; string sex; } ...原创 2019-04-01 19:30:46 · 1635 阅读 · 0 评论 -
Solidity truffle,部署合约到ganache环境、geth私有链环境
安装以太坊客户端Ganache: npm install-g ganache-cli (以前的名字是TestRPC)命令行中启动ganache客户端(服务): ganache-cli -p 7545 (-p指定端口号)也可以安装图像化界面的Ganache:https://truffleframework.com/ganachetruffle.js(truffle的配置...原创 2019-04-03 18:00:43 · 2946 阅读 · 0 评论