当前位置:网站首页>如何在BNB鏈上創建BEP-20通證

如何在BNB鏈上創建BEP-20通證

2022-04-23 19:30:00 Chainlink資訊

在這裏插入圖片描述
BEP-20通證是在BNB Chain上進行交易的基礎。在本教程中,你將學習如何創建一個BEP-20通證並部署到BNB Chain。

什麼是BEP-20通證?

BEP-20是BNB Chain上的一種通證標准,它基於ERC-20標准框架建立。BEP-20和ERC-20標准都是用於創造互換的同質化通證。同質化錶示你只需要關心其數量–它們不是獨特的。法定貨幣就是一個很好的例子。你不需要關心你有哪個美元,而是有多少。非同質化物品是不能互換的,你關心的是你擁有哪一個。

什麼是BNB Chain?

BNB Chain是通過對Go Ethereum協議(Geth)的硬分叉,或者說是永久分叉而產生的。雖然它與以太坊相似,但也有一些明顯的區別。

其中最明顯的區別是BNB Chain使用了不同的共識機制。BNB Chain使用了21個驗證人,它們輪流生產區塊。這些驗證者由持有BNB(BNB Chain的原生通證)的委托人支持。這種共識機制被稱權益證明(PoSA)。驗證人是根據抵押金額來選擇的,前21名候選人被選為驗證人。

BNB Chain的優勢

由於BNB Chain是通過Geth的分叉創建的,它是與EVM兼容的網絡。這意味著你可以在BNB Chain上部署與Ethereum上相同的合約。作為一個權益證明網絡,BNB Chain與以太坊有不同的權衡。這形成了一些特定用例的優勢。值得注意的是,BNB Chain的速度相對較快,成本較低,這吸引了開發者們對該網絡的關注。

橋接資產到BNB Chain

如何將你的資產從以太坊主鏈轉移到BNB Chain?

要將資產從以太坊轉移到BNB Chain,可以使用幣安橋。這是一個合約,它將在以太坊鏈上保管你的資產,並在稍作延遲後,在BNB Chain創建該資產的一個版本。

這有點像在街機中使用遊戲幣。你把你的錢(ETH)交給電玩城員工(橋合約),反過來,他們創造遊戲幣(ETH BEP-20,ETH的BEP-20版本),在街機(BNB Chain)內使用。你可以在街機內使用遊戲幣(ETH BEP-20)。如果你想退出,你可以把你的遊戲幣(ETH BEP-20)還給員工(橋合約),他們會銷毀或燒毀遊戲幣(ETH BEP-20)。然後他們會把遊戲幣(ETH BEP-20)的錢(ETH)還給你。

你需要什麼?

在BNB Chain上開發,需要和在任何EVM兼容的鏈上開發時一樣的工具。這就是使用EVM兼容鏈的好處。通常它們都支持相同的工具。

在本教程中,我們將使用:
Remix– 一個基於Web的Solidity集成開發環境
Brave錢包–一 個類似於Metamask的加密貨幣錢包
BNB Chain測試網– BNB Chain的測試網絡
幣安水龍頭– 獲取測試網絡BNB
OpenZeppelin– 區塊鏈合約的安全標准

連接到BNB Chain Testnet

在BNB Chain測試網上構建一個應用程序之前,需要設置錢包。一個很好的工具是Chainlist,它允許你簡單地連接你的錢包並從那裏添加鏈(你需要先設置錢包。)自己添加鏈的細節可以在文檔中找到。

Network Name: Binance Testnet
New RPC URL: https://bsc-dataseed.binance.org/
ChainID: 97
Symbol: BNB
Block Explorer URL: https://testnet.bscscan.com

獲得測試網BNB

BNB Chain測試網的原生通證是BNB。為了部署以及與合約交互,我們需要獲得一些BNB。前往Binance水龍頭獲得一些測試網BNB。需要提供你的錢包地址,並點擊“給我BNB”。
在這裏插入圖片描述

構建合約

首先前往Remix集成開發環境

現在可以忽略樣本合約。
在這裏插入圖片描述
在合約目錄中創建一個新的合約。
在這裏插入圖片描述
並將其命名為BSCCoin.sol。

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/token/ERC-20/ERC-20.sol";
contract BSCCoin is ERC-20 {
    constructor(uint256 initialSupply) ERC-20("BSCCoin", "BSCC") {
        _mint(msg.sender, initialSupply);
    }
}

讓我們來看看這段代碼。

首先,我們定義我們將使用的Solidity的版本。

pragma solidity ^0.8.2;

這是OpenZeppelin的基本ERC-20通證。我們把它導入到我們的合約中。在創建BEP-20通證時,請記住它們與ERC-20通證非常相似。因此,我們可以利用OpenZeppelin的ERC-20合約來創建我們的通證。

import "@openzeppelin/contracts/token/ERC-20/ERC-20.sol";

可參考OpenZeppelin的的入門頁面了解更多細節。

使用OpenZeppelin的合約意味著我們的合約可以更簡約。我們繼承了ERC-20合約並使用它來創建我們的BEP-20通證。

// Define our contract and inherit the ERC-20 contract
contract BSCCoin is ERC-20 {
 // When the contract is run create a BEP-20 Token
 // The token will be names "BSCCoin"
 // The token will have the symbol "BSCC"
    constructor(uint256 initialSupply) ERC-20("BSCCoin", "BSCC") {
 // Create an initial value for the runner of the contract
        _mint(msg.sender, initialSupply * 10 ** decimals());
    }
}

關於小數的說明

這意味著當你想使用小數時,就需要使用定點運算。你需要在數值中存儲固定數量的小數。在這個例子中,digimals()被設置為18,這意味著我們要用10^18乘以我們鑄造的通證的數量。

部署

有了這個合約,你就有了一個功能完備的BEP-20通證!現在是時候把它部署到BNB Chain測試網了。

首先,將環境改為“Injected Web3”。這將使Remix能够通過你的錢包與區塊鏈互動。

在這裏插入圖片描述

接下來,確保你部署的是正確的合約。在這個例子中是“BSCCoin”。
在這裏插入圖片描述

指定要創建的通證數量,然後點擊“部署”按鈕,你應該看到一個確認按鈕。我們正在部署合約到一個運行中的區塊鏈上。因此,會涉及gas費用。
在這裏插入圖片描述在這裏插入圖片描述

該合約可能需要一段時間才能完成部署。一旦完成,你會在“已部署的合約”下看到它。你都可以看到合約中的所有可用功能。這些功能都是從OpenZeppelin合約中導入的。
在這裏插入圖片描述

驗證

一旦合約部署完成,我們可以仔細檢查它是否顯示在BNB Chain測試網中。

複制合約的地址,然後去BNB Chain瀏覽器

在這裏插入圖片描述

輸入合約地址並搜索它。

你可以看到合約和通證。

在這裏插入圖片描述

恭喜你,你剛剛成功部署了一個BEP-20通證到BNB Chain的測試網中。

下一步該怎麼做

從這裏開始,你可以把你的通證部署到BNB Chain主網,或者你可以為它添加更多的功能。OpenZeppelin合約支持額外的鑄造、銷毀、投票等功能。可查看OpenZeppelin文檔了解完整的細節。

現在你知道了如何創建一個BEP-20通證,許多新的機會向你敞開。你可以用它來與DeFi應用程序互動,創建一個治理協議,或啟動一個Chainlink Price Feed來跟踪其價格。

你也可以查看下面的完整的視頻教程,學習如何在BNB Chain上創建一個BEP-20通證。

獲取更多關於Chainlink的信息,請訪問chain.link或在docs.chain.link閱讀文檔。要討論集成問題,請聯系專家。

版权声明
本文为[Chainlink資訊]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204231928494297.html