编写简单的合约
-
智能合约的代码(简单的数据存取)
pragma solidity ^0.4.0; contract SimpleStorage { uint storedData; function set(uint x) public { storedData = x; } function get() public view returns (uint) { return storedData; } function gettwice() public view returns (uint) { return storedData*2; } }
-
编译(按照课件的版本)
- 连接到自己的私有链,选择有余额的账户进行运行
连接的时候可能出现无法连接的情况,具体的解决方法有以下两种:
1.对于chrome,可以在打开节点的时候加入命令-rpccorsdomain ”*“
2.对于其他的浏览器,将remix的网址,改成http作为前缀,不要用https
-
部署到私有链上,点击at address。再在自己的私有链上进行挖矿进行写入到区块中即可
-
运行的结果
- 查询交易
对交易的字段进行解释
- blockHash:该交易所在区块的区块头的哈希值
- blockNumber:该交易所在区块的高度
- from:交易由哪个账号发起的
- gas:这个交易允许消耗的最大Gas数量
- gasprice:发送者愿意支付给矿工的Gas价格,注意这里使用的单位是wei
- hash:以上信息生成的哈希值,作为交易的ID
- input:作为该交易的输入
- nonce:用来区别同一用户发出的不同交易的请求
- r、s、v:交易签名的三个部分,由发送者的私钥对jiaoyihash进行签名生成的。用来确定发送者的身份
- to:发往到哪个账号(这里空意味着这是一个智能合约)
- transactionIndex:该交易在所在区块中交易的序号
- value:发送者要转移给接收者的货币的数量,这里由于是智能合约,不涉及交易的金额