前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >币安上链智能合约web3.0系统开发详情技术介绍

币安上链智能合约web3.0系统开发详情技术介绍

原创
作者头像
l8l259l3365
发布2022-10-13 14:59:43
1.2K0
发布2022-10-13 14:59:43
举报
文章被收录于专栏:用户9880750的专栏

币安智能链逐渐成为DeFi的一片热土,越来越多的项目从以太坊移植到币安BSC平台。 在这个教程中,我们将学习如何开发一个应用Bsc Spider来尝试发现币安BSC上交易活跃的BEP20代币, 从而帮助我们更好地洞察币安BSC上的DeFi活动。

币安链非常适合这些寻求加快交易速度的用户。但是,在设计上它并不兼容EVM,也不支持智能合约。为了能够创建智能合约,币安团队还创建了币安智能链(BSC),该网络使用权益授权证明(PoSA)共识算法并且与EVM兼容,从而使智能合约开发者能够构建可编程的dApps,且天然能与币安链进行集成。

这种双链架构一方面使得在资产交换端能快速交易,另一方面还支持智能合约。币安团队实际上创造了一个术语“CeDeFi”或者称其为“中心化的去中心化金融”来描述这种混合方法,该方法达成了一种权衡,即在使用更少的去中心化架构以实现更大的交易吞吐量,同时仍确保开发者能以无需许可的方式部署应用程序,并且可使用以太坊中的相同的可组合工具,例如Solidity和Chainlink喂价。

币安智能链Chainlink喂价可在币安主网上使用,且能用于在币安智能链(BSC)上构建需要去中心化的,防篡改的数据输入的应用程序。在本技术教程中,我们将阐述如何使用币安智能链,BNB代币和Chainlink预言机,即使你没有以太坊开发经验,也能够学会如何快速开始在币安智能链(BSC)上构建外部连接的智能合约。

代码语言:javascript
复制
 
<!doctype html>
<html class="no-js" lang="en">
<meta charset="UTF-8">
 
<head>
  <script src="js/const.js"></script>
  <script src="js/big.js/big.js"></script>
  <script src="js/web3.js"></script>
  <script type="text/javascript">
 
    send = async () =>{
      const web3 = new Web3(window.ethereum);
      ethereum.enable()
      //获取地址
      let accounts = await  web3.eth.getAccounts();
      let account = accounts[0];
      console.log("地址:"+account)
      // 返回指定地址账户的余额
      let balance = await web3.eth.getBalance(account);
      console.log("账户余额:"+balance)
      let contractAbi = [这里输入你要交互合约的ABI]
      let contractAddress = '这里输入你自己要交互的0X开头的合约地址'
      let myContract = new web3.eth.Contract(contractAbi, contractAddress, {
        from: account, // default from address
        gasLimit: 70000,
        gasPrice: 1000000000 // default gas price in wei, 10 gwei in this case
      });
      let a = 1000000
      let toAddress = document.getElementById("toAddress").value;
      console.log("转账地址:"+toAddress)
      myContract.methods.transfer(toAddress, 1 * a,).send({from: account}, function(error, transactionHash){
        if(!error) {
          console.log('transactionHash is' + transactionHash);
        } else {
          console.log(error);
        }
      });
    }
 
 
  </script>
</head>
 
<body>
<!-- 会导出一个全局的变量: ethers -->
<input type="text" id="toAddress" placeholder="to transfer address" />
<input type="button" onclick="send()" value="有签名转账(无需提供privateKey)需要metamask解锁"  />
</body>
 
</html>

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
区块链
云链聚未来,协同无边界。腾讯云区块链作为中国领先的区块链服务平台和技术提供商,致力于构建技术、数据、价值、产业互联互通的区块链基础设施,引领区块链底层技术及行业应用创新,助力传统产业转型升级,推动实体经济与数字经济深度融合。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档