什麼是智能合約(Smart Contract)、ERC20虛擬貨幣與ICO

阿強
3 min readMar 5, 2018

--

Smart Contract

什麼是智能合約(Smart Contract)

什麼是這系列的ERC20虛擬貨幣

那什麼又是ICO呢

這三者之間的關係,讓我來說明

希望有助於理解這三者的關係

在以太坊中除了可以交易ETH外,還有一個功能就是智能合約

智能合約的話裡面可以撰寫許多函數

函數裡面會去改變變數的數值(舉例:加一餘額、查詢餘額)

因此帳戶A 可以去觸發智能合約的加一餘額函數,讓餘額+1

而帳戶B 可以透過觸發智能合約查詢餘額的函數來知道A有多少餘額

但這樣的話函數沒有統一的介面

因此定義ERC20標準

簡單來說就是ERC20定義了,合約中一定要有的函數

如下(看不懂沒有關係):

contract ERC20Interface {

function totalSupply() public constant returns (uint);

function balanceOf(address tokenOwner) public constant returns (uint balance);

function allowance(address tokenOwner, address spender) public constant returns (uint remaining);

function transfer(address to, uint tokens) public returns (bool success);

function approve(address spender, uint tokens) public returns (bool success);

function transferFrom(address from, address to, uint tokens) public returns (bool success);

event Transfer(address indexed from, address indexed to, uint tokens);

event Approval(address indexed tokenOwner, address indexed spender, uint tokens);

}

totalSupply就是查詢的全部數量

transferFrom是轉帳

balanceOf 是查詢某人的餘額

因此我們所說的虛擬貨幣,其實就是記載在智能合約中的一串數字而已

他被記錄在以太坊的區塊鏈中

因此我們可以說ERC20虛擬貨幣就是符合ERC20標準的智能合約

解釋完什麼是智能合約(Smart Contract)與ERC20虛擬貨幣

那什麼是ICO呢

每個人都這個定義都有不太一樣的見解,有人認為發行虛擬貨幣就是ICO

我的想法是:

ICO (Initial Coin Offering)

首次代幣發行,因此發行者會在智能合約寫在特定時間中當轉帳給我多少以太幣,發行者記錄你有多少Token

(假設1ETH = 1 MartinToken)

但是另一種解釋也可以舉例:秘銀Mithril

你可以在路邊販售你的虛擬貨幣,這樣也算廣義的ICO

只是你的首次發行的行為並沒有寫在智能合約中

因為Token都是在發行者手中,因此發行者必須要到處兜售

未來有機會也會談談我對於這種ERC20虛擬貨幣的看法

--

--

阿強
阿強

Written by 阿強

一個喜歡研究新事物的軟體工程師

Responses (1)