區塊鏈研究(三)搭建基於以太坊私人鏈的簡單智能合約

來源:互聯網
上載者:User

1.賬戶錢包互轉

開啟Ethereum-Wallet.exe 


點擊ACCOUNT 1


點擊Copy address


提示你在測試網路,不要轉入真正的以太幣到這個帳號

點擊COPY ANYWAY 複製地址:0x102f3f760a9f34B0b6c917EE20F8Bc155e39e8D3

點擊SEND,將複製來的地址填入TO輸入框


在AMOUNT中輸入要轉賬的金額,比如2018


點擊SHOW MORE OPTIONS 可以添加與事務一起發送的額外資料。如果你不知道這是什麼,那就不要碰它,否則壞事就會發生。


左右滑動SELECT FEE 這是用於處理此事務的最多金額。您的交易將在30秒之內被開採。手續約越高,速度越快,但只適用於公有鏈


點擊最下方藍色SEND發送,輸入密碼後等待礦工確認,確認完畢賬戶就會收到2018個以太幣。




錢包最下方可以看到最近的交易,點擊後還可以看到一些具體的交易資訊


最下方的Send data只有當你在send時填入的SHOW MORE OPTIONS裡的data框之後才會出現,但似乎只能輸入十六進位的數


2.部署智能合約

點擊首頁面的CONTRACTS 進入智能合約管理頁面


點擊DEPLOY NEW CONTRACT 開始部署只能合約


FROM選擇部署智能合約的賬戶,在SOLIDITY CONTRACT SOURCE CODE輸入智能合約代碼,在SELECT FEE選擇手續約,由此可知部署合約是要錢的...


由於編寫智能合約只能用Solidity語言,這裡附上Solidity的官方中文文檔

地址:http://wiki.jikexueyuan.com/project/solidity-zh/

輸入合約,並在右邊選擇你建立的合約後,你可以填入一些參數


代碼如下:

pragma solidity ^0.4.18;contract MyTokenTest1 {        /* This creates a map with all balances */    mapping(address => uint256) balanceOf;    /* This have some basic information about the contract */    string public name;  //    string public symbol;    uint8 public decimals;    /* This keep track of activities happening int the contract */    event Transfer1(address indexed _from, address indexed _to, uint256 _value);        /* Constructor     function MyTokenTest1() public {        balanceOf[msg.sender] = 19940326;    }*/        /* supply it as a parameter for the function     function MyTokenTest1(uint256 initialSupply) public {        balanceOf[msg.sender] = initialSupply;    }*/        /* Initializes contract with initial supply tokens to the creator of the contract */    function MyTokenTest1(uint256 initialSupply, string tokenName, string tokenSymbol, uint8 decimalUnits) public{        balanceOf[msg.sender] = initialSupply;        name = tokenName;        symbol = tokenSymbol;        decimals = decimalUnits;    }        /* This transfer balance with in two account*/    function transfer1(address _to, uint256 _value) public{        /*to check for overflows and to avoid the acount becomes zero*/        require(balanceOf[msg.sender] >= _value && balanceOf[_to] + _value >= balanceOf[_to]);                balanceOf[msg.sender] -= _value;        balanceOf[_to] += _value;                /* Notify anyone listening that this transfer took place */        Transfer1(msg.sender, _to, _value);    }}

輸入完成後點擊最下面的藍色DEPLOY按鈕


輸入密碼,SEND TRANSACTION,這就部署成功了。

3.運行智能合約

點擊CONTRACTS ,在CUSTOM CONTRACTS點擊選擇你剛剛建立的合約


在右邊的WRITE TO CONTRACT 中select function為你剛剛建立的函數,並填入地址和值


點擊EXECUTE執行,輸入密碼後SEND TRANSACTION


勾選下方LATEST EVENTS中的Watch contract events可以看到剛剛跟蹤到的事件


花幾分鐘確認後,可以看到已經發送成功



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.