欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Ethereum Wallet 发币

程序员文章站 2024-02-15 21:04:16
...

本内容是基于Ethereum Wallet 进行发币和转账(也可以进行智能合约编写,还有Remix,是以太坊在线solidity idea,全部在测试环境下进行)

一、准备Ethereum wallet

(也可以直接用网页版的Ethereum Wallet,操作都比较相似)
下载Ethereum Wallet(这里我的版本为0.10.0 for mac)

1.切换网络(这里选择的是Ropsten-Test network)

Ethereum Wallet 发币
2.创建账号,然后设置密码(一定要记住自己的私钥)

Ethereum Wallet 发币

二、创建智能合约并发币

1.创建智能合约
点击CONTRACTS ==> 点击DEPLOY NEW CONTRACT
Ethereum Wallet 发币

pragma solidity ^0.4.18;

contract MyContract {
    //币名字
    string public name;
    //token 标志
    string public symbol;
    ////token 小数位数
    uint public decimals;

    //转账事件通知
    event Transfer(address indexed from, address indexed to, uint256 value);

    // 创建一个数组存放所有用户的余额
    mapping(address => uint256) public balanceOf;


    /* Constructor */
    function MyContract(uint256 initialSupply,string tokenName, string tokenSymbol, uint8 decimalUnits) public {
        //初始发币金额(总额要去除小数位数设置的长度)
        balanceOf[msg.sender] = initialSupply;
        name = tokenName;                                 
        symbol = tokenSymbol;                               
        decimals = decimalUnits; 
    }

    //转账操作
    function transfer(address _to,uint256 _value) public {
        //检查转账是否满足条件 1.转出账户余额是否充足 2.转出金额是否大于0 并且是否超出限制
        require(balanceOf[msg.sender] >= _value && balanceOf[_to] + _value >= balanceOf[_to]);
        balanceOf[msg.sender] -= _value;
        balanceOf[_to] += _value;
        //转账通知
        emit Transfer(msg.sender, _to, _value);
    }

}

选择合约进行部署,然后分别填入 发币总额(总数要去除小数位数设置的长度)、代币名称、代币简称、小数位数
Ethereum Wallet 发币
2.发币
Ethereum Wallet 发币
确认后会有一条Create contract的记录 过一会就回创建完成
Ethereum Wallet 发币

然后点击contract 查看合约
Ethereum Wallet 发币
代表发币成功
Ethereum Wallet 发币
这里可以查看发布的代币,也可以进行转账