区块链转账
区块链转账
信息
在DeBox的小程序中可以通过Web3js标准接口实现获取钱包地址、钱包授权、签名转账等功能;
DeBox App中支持的所有链,在小程序中都可以进行连接,并进行相关操作;
截止到2024年1月3号,支持ETH , BNB , Polygon , Arbitrum One , Optimism , zkSync Era,其对应chainId如下:
ETH:0x1 , BNB:0x38 , Polygon:0x89 , Arbitrum One:0xa4b1 , Optimism:0xa , zkSync Era : 0x144
技术支持
欢迎加入技术支持群:https://m.debox.pro/group?id=cc0onr82
下面是一个在小程序中进行区块链转账的Demo,支持上面六条链。
可以通过选择框切换公链,实际项目中请根据自身业务构造自己的UI
请确保对应钱包中有足够的资产,并给予足够的gasprice,否则可能因gas费不足、资产不足而无法拉起转账页面。
Demo体验地址:https://docs.debox.pro/demo/web3.html ,复制地址在DeBox中打开即可体验。
Demo下载链接:点击下载Demo的代码
第一步,引入web3.js
<script src="https://cdn.jsdelivr.net/npm/web3@latest/dist/web3.min.js"></script>
第二步,检查浏览器环境中web3对象是否被正常注入
1、检查 Web3是否存在
2、检查window.ethereum是否存在
3、用new Web3(window.ethereum);构造web3对象
示例代码如下:
<script>
window.str = "";
function checkWallet() {
if (typeof Web3 !== 'undefined') {
str= "存在Web3 type";
if (window.ethereum) {
// 使用 window.ethereum
str += "<br/>存在window.ethereum对象";
window.web3 = new Web3(window.ethereum);
str += "<br/>生成window.web3对象";
} else if (window.web3) {
// 使用 window.web3.currentProvider(Web3.js v0.x.x)
str += "存在window.web3对象";
window.web3 = new Web3(window.web3.currentProvider);
} else {
// 提示用户安装以太坊提供的钱包
str += '请安装 MetaMask 或其他以太坊提供的钱包';
}
str += "<br/>" + "web3.currentProvider.isMetaMask==" + web3.currentProvider.isMetaMask;
$("#account").html(str);
} else {
$("#env").html("No web3? 需要安装<a href='https://metamask.io/'>MetaMask</a>!");
}
}
</script>
如果js正常引入,代码运行结果如下: