想通过主链代币购买一个NFT产品,需要授权,获取主链代币(如BNB)余额,这个该如何操作?经查BNB的代币合约是在ETH上创建的,而我的DAPP是部署在BSC的,另外接收代币的合约该如何写?
代币有两种,一个是 Token(ERC20)代币,一个是Coin(原生币)。
在以太坊上,原生币是 ETH, 相对应的Token 是 WETH(Wraped ETH 包装后的 ETH)。
BNB,HT,OKT 原来都是在以太坊坊发行的 ERC20 Token,后来他们各自发行了自己的链, 因此相应的称为了各自链的原生币。比如BSC链上的原生币就是 BNB。
在 BSC链上 的原生币,有对应的 WBNB。 如果应用中需要使用授权,那么都是指包装币 (如:WBNB 或 WETH),原生币是没有授权概念。
因此需要找到 WBNB 合约地址(0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c),进行授权和查询余额。
备注,调用WBNB 的 deposit 刻意把原生币 BNB 转为 WBNB