上一篇呢,我們用最原始的方法來寫一整個ERC20及把它發佈到鏈上,及進行相關的使用,其實一般情況不太可能會這樣從頭開始寫,一方面是不確定自己寫的程式碼有沒有問題、一方面是不確定有沒有漏洞,所以正常情況都是引用程式庫來使用,也就是照抄就可以了,而且在區塊鏈的世界裡面,程式碼是公開的,所以在很多的地方都能看到原始碼,目前最常用的是
Open Zepplin,我們在程式中引用的是下面這個:
https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol
上面也有其他的程式碼,各位有興趣的可以上去看看。
下面就直接上程式碼:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol";
contract MyToken is ERC20 {
constructor (string memory name, string memory symbol) ERC20(name, symbol) {
_mint(msg.sender, 100 * 10 ** uint(decimals()));
}
function decimals() public pure override returns (uint8) {
return 0;
}
}
程式碼很簡單,主要就是跟上一篇一樣,不過可以看出,引用的話就變成只要少少的幾行就可以了,不像上一篇一樣寫的那麼長的一串,接下來我們來看一下發佈上去的效果是不是也和上一篇一樣。
一樣用Web3連結你的狐狸錢包,因為會收Gas fee,所以沒有錢的該照著上一篇的作法去跟水龍頭要點錢。
記得CONTRACT要選對,是我們的這個MyToken:
然後在DEPLOY裡面,我們一樣設定和上一篇一樣,
NAME:cryptolin.finance、SYMBOL:lin,之後就可以按下transact了。
之後你應該會看到新的lin幣
接下來把部屬好的合約打開來,可以看到和上一篇相同的一些function
基本上功能和上一篇是一模一樣的,有興趣的各位可以玩一下,我這邊就不再重覆了,可以看出用這種引用的方式是不是很快,不用自己寫那麼長的代碼,結果效果是一樣的,好了,以上就是介紹怎麼引用Open Zepplin的代碼來完成發幣的動作,謝謝大家。
有什麼想要了解或是不清楚的部份,歡迎留言和我分享。
如果喜歡我的文章歡迎追隨,按愛心,我每週都會上新文章。