iT邦幫忙

2024 iThome 鐵人賽

DAY 18
0
佛心分享-IT 人自學之術

區塊鏈技術應用系列 第 18

Solidity 中的代幣合約

  • 分享至 

  • xImage
  •  

1.代幣的基本屬性
除了名稱、符號外,通常還會包含其他屬性:
* 總供應量(Total Supply):表示此代幣最多可以發行多少。
* 小數位數(Decimals):定義代幣的小數位數,這對於表示小單位代幣很有幫助。
solidity
https://ithelp.ithome.com.tw/upload/images/20240930/20169238N7LivAFPYu.png
* uint8:表示無符號的 8 位元整數,範圍從 0 到 255。
* decimals = 18:這裡 decimals 定義了代幣的小數位數。18 表示該代幣可以有最多 18 個小數位。
* uint256:表示無符號的 256 位元整數,這是 Solidity 中常用的類型,用於存儲較大的數值。
2. 基本操作函數
* balanceOf(address account):查詢指定地址的代幣餘額。
* transfer(address recipient, uint256 amount):將代幣從調用者地址轉移給接收 者。
* approve(address spender, uint256 amount):授權其他地址(如智能合約)代表自 己花費一定數量的代幣。
* transferFrom(address sender, address recipient, uint256 amount):從另一 個地址轉移代幣,前提是先被授權。
3. 增加代幣的功能
* 鑄幣(Minting):某些代幣需要增加供應量,可以通過鑄幣功能來實現,通常限制只有合約所有者可以鑄幣。
* 銷毀代幣(Burning):用於減少供應量,通常是為了減少流通數量,使代幣變得更稀有。
https://ithelp.ithome.com.tw/upload/images/20240930/20169238SBNSWheYMb.png
_burn 函數通常在像 OpenZeppelin 的 ERC20 合約中實現。如果你想使用 _burn 函數,可以引入 OpenZeppelin 的 ERC20 實現,並繼承它們的合約。


上一篇
Solidity 中的匯款與支付
下一篇
DApp 的基本概念
系列文
區塊鏈技術應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言