iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 8
0
自我挑戰組

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

合約項目基礎

  • 環境準備完成後,開始著手初始化專案。
cd documents

mkdir ethereum-project

cd ethereum-project
  • 建立package.json和git,並使用vscode打開。
yarn init -y

git init

code .

建立目錄結構

  • 這邊主要多方參考官方文件,還有google各路寫法,我自己是還不太懂,先照著敲。
// 合約
mkdir contracts

// 部署編譯
mkdir scripts

// 編譯結果
mkdir compiled

// 測試,這很重要,畢竟部署後不可變更
mkdir tests

搬運工

  • 本地目錄結構建造完成,代表地基打好了,就要開始建築工。
  • 但在建築工之前,需要原物料,因此先將此前在remix上的code搬下來。
  • 搬運前,先在contract資料夾內,建立副檔名為.sol的檔案。
// 聲明版本
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;
    }
}
  • 接著需要準備編譯用的工具solc-js
yarn add solc

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

尚未有邦友留言

立即登入留言