iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 6
0
自我挑戰組

從零開始摸索智能合約系列 第 7

虛擬貨幣開發

  • 分享至 

  • xImage
  •  
  • 承前章
// 聲明版本
pragma solidity ^0.4.20;

// 建立合約
contract PittToken {

    // 建立一個變數來確認每個帳戶的餘額
    mapping(address => uint256) public balance0f;

    // 建立一個構造函數,以及我希望這個貨幣供應多少數量
    constructor(uint256 initSupply) public {
        // 貨幣建立者初始持有所有貨幣
        balance0f[msg.sender] = initSupply;
    }
    
    // 帳戶交易,從A地址轉到B地址
    function transfer(address _to, uint256 _value) public {
        
        // 檢查支付方是否有足夠餘額轉帳
        require(balance0f[msg.sender] >= _value);
        require(balance0f[_to] + _value >= balance0f[_to]);
        
        balance0f[msg.sender] -= _value;
        balance0f[_to] += _value;
    }
}

測試轉帳

  • 點擊右側Deploy下拉式按鈕。
  • 輸入你想超發的貨幣數量進行通貨膨脹。
  • 按下transact。

  • 此時下方區域即生成合約。

檢查帳戶餘額

  • 在上方account複製帳戶地址

  • 將複製的地址貼到下方合約的balance0f欄位,並點擊balance0f。
  • 此時可以看到該帳戶餘額。

轉入貨幣

  • 測試將創建者的部分餘額轉入測試帳號。
  • 點擊合約的地址,並將其貼到合約中transfer欄位。
  • 並在地址後方加上逗號,與要轉入的數字。
  • e.g. 我轉入500元貨幣。

  • 接著點擊transfer,即完成轉帳貨幣。
  • 此時,我們先不改動balance0f的地址,重新點擊balance0f,可以看到已轉出500元。
  • 接著貼上我們剛剛轉入貨幣帳戶的地址,再次點擊balance0f,則可看到轉入貨幣的數量,這樣就完成了最簡單的貨幣開發。

上一篇
Remix集成開發環境
下一篇
Remix開發的困境?
系列文
從零開始摸索智能合約12
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言