区块链踩坑之智能合约代币编写及使用介绍
连载篇提前看
系列文章一:区块链踩坑之基础扫盲及搭建以太坊网络私有链(单节点)
系列文章二:区块链踩坑之搭建以太坊网络私有链(多节点)及创建多重签名钱包
系列文章三:区块链踩坑之智能合约代币编写及使用介绍
前言
上篇文章我们搭建了以太坊网络私有链,实现了多节点间的转账交易以及了解和使用了多重签名钱包。本篇 我们将继续深挖,共同探讨智能合约部分。首先我们要编写以太坊的只能合约,那就得先了解下Solitidy 语言。戳官网 http://solidity.readthedocs.io/en/develop/index.html
Solitidy简单介绍:
●它是一个面向合约的高级语言,其语法类似于JavaScript。是运行在以太坊虚拟机中的代码。
●它是静态类型的编程语言,编译期间会检查其数据类型。支持继承、类和复杂的用户定义类型。
一个面向数字加密货币最简单的合约代码示例如下:
pragma solidity ^0.4.21; contract Coin { // The keyword "public" makes those variables // readable from outside. address public minter; mapping (address => uint) public balances; // Events allow light clients to react on // changes efficiently. event Sent(address from, address to, uint amount); // This is the constructor whose code is // run only when the contract is created. function Coin() public { minter = msg.sender; } function mint(address receiver, uint amount) public { if (msg.sender != minter) return; balances[receiver] += amount; } function send(address receiver, uint amount) public { if (balances[msg.sender] < amount) return; balances[msg.sender] -= amount; balances[receiver] += amount; emit Sent(msg.sender, receiver, amount); } }
部署合约
① 创建一个新合约,具体步骤如下:
点击部署
确认后,主页面将显示合约创建成功
回到合约界面,此时合约已经创建成功
我们执行后返回主界面,已经有2个矿工确认该项交易 合约执行成功
我们复制下主账户地址,然后到合约里面查询下合约币数是否已到账
从合约中发送交易
我们现在从合约中给a节点子账户发送一笔交易(此时ACCOUNT2账户余额是为0的)
执行成功后,我们复制下Account2地址,在合约中查询下Account账户情况:
以上操作都是再同节点操作,下面我们尝试向不同节点发送合约交易
交易后我们查询下 主账户合约余额是否正确
至此,智能合约部署 和使用已经全部讲完。 接下来 我们将深入探讨学习和使用Solidity 编写智能合约以及其他应用。
未完待续。。。。
- 感谢你的阅读。如果你觉得这篇文章对你有帮助或者有启发,就请推荐一下吧~你的精神支持是博主强大的写作动力。欢迎转载!
- 博主的文章没有高度、深度和广度,只是凑字数。由于博主的水平不高(其实是个菜B),不足和错误之处在所难免,希望大家能够批评指出。
- 欢迎加入.NET 从入门到精通技术讨论群→523490820 期待你的加入
- 不舍得打乱,就永远学不会复原。被人嘲笑的梦想,才更有实现的价值。
- 我的博客:http://www.cnblogs.com/zhangxiaoyong/