128

以太坊代币制作过程

eth0003 · 于 发布 · 122 次阅读

从简单入手,首先实现一个包含基本功能的代币。只需实现代币定义和交易功能。
实现代币的过程是编写智能合约的代码。智能合约你可以理解为是一种程序,类似于C,C++。不要怕,这种语言很好懂,稍微看看就懂啦。
下面是完整的代码,可以直接部署。

/* contract 类似于C++中的类 /contract MyToken {/ 设置一个数组存储每个账户的代币信息 /mapping (address => uint256) public balanceOf;/ 设置变量 // name 代币名称 // symbol 代币图标 // decimals 代币小数点位数 /string public name;string public symbol;uint8 public decimals;/ event事件,它的作用是提醒客户端发生了这个事件,你会注意到钱包有时候会在右下角弹出信息 /event Transfer(address indexed from, address indexed to, uint256 value);/ 下面这个类似于C++的构造函数,接收用户输入,实现代币的初始化 /function MyToken(uint256 initialSupply, string tokenName, uint8 decimalUnits, string tokenSymbol) {balanceOf[msg.sender] = initialSupply; // Give the creator all initial tokensname = tokenName; // Set the name for display purposessymbol = tokenSymbol; // Set the symbol for display purposesdecimals = decimalUnits; // Amount of decimals for display purposes}/ 代币交易的函数 /function transfer(address _to, uint256 _value) {/ 检查发送方有没有足够的代币 /if (balanceOf[msg.sender] < value || balanceOf[_to] + _value < balanceOf[to])throw;/ 交易过程,发送方减去代币,接收方增加代币 /balanceOf[msg.sender] -= value;balanceOf[to] += _value;/ 提醒客户端发生了交易事件 */Transfer(msg.sender, _to, _value);}}

下面是部署方式,我使用以太坊钱包mist部署合约。
为了节省资金,我使用以太坊测试网络,测试网络是可以用以太坊钱包挖矿的,挖矿难度不大,我已经挖到20个了。做实验够用了。如果你实在挖不到币的话,请在下方留下你的地址,我可以资助你1个以太币做实验(是测试网络的以太币哦)。
其他方式有很多,这里不讲。我觉得初学者用mist最简单。下面是部署的界面.

这个页面是以太坊钱包“CONTRACTS”页面,点击"DEPLAY NEW CONTRACT"按钮就能看见。
图片的最上面是给合约输入以太币,目前不用设置,保持0即可。图中央的左侧是放置代码的地方,将拷贝的代码粘贴到这里即可。右侧的红圈位置可以选择合约,请点击下拉框选择“My Token”。选择以后,会出现图片上的样子,这里可以输入代币的总数(Initial supply),代币的名称(Token name),代币的小数点数目(Decimal units),代币的符号(Token symbol)。你可以按照图上的来填,也可以试着随便填,理解用途。
填写完成后,点击最下面的“DEPLOY”按钮,如果成功,则在钱包主页面可以看到合约正在等待验证,如果失败,会提示原因,请检查输入。

如果你的网络正常,通常1分钟内合约就验证通过,这是可以在以太坊钱包“CONTRACTS”页面看到我们建立的代币TESTCOIN.

上图标红的就是我建立的代币,点击进入代币的管理页面。

这个图就是我建立的代币的管理页面,这个页面可以查看合约持有的代币数量,每个用户持有的代币数量,执行代币交易等等。
图中左侧可以查看代币的基本信息,名称,小数点位数,符号。
图中左侧标红的位置可以查看指定用户代币的持有数量,只需将指定用户的地址填入红圈中的位置,即可自动显示。
图中右侧是代币的交易函数,可以进行代币交易。
“Select function”,这个选择transfer函数
“To-address”,这个是指接收代币用户的地址
"Value",发送代币数量
“Execute from”,这个地方可以选择发送方的地址。
点击“EXECUTE”按钮,就可以发送。

收到货币的人想要查看代币,只需要在“CONTRACTS”页面的"Watch token"输入对应的代币合约地址即可。

截止到这里,一个具备基本功能的代币就实现了。这个代币可以用于积分管理,简单的交易。
等后续实现更多功能后,可以有更多用途。
到这里还有不会的朋友加QQ:272778060

  • 暂无回复。