BSC测试链部署智能合约

这篇具有很好参考价值的文章主要介绍了BSC测试链部署智能合约。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、metamask小狐狸钱包

  • 在火狐浏览器下载一个小狐狸钱包插件
  • 添加BSC测试网络
  • 创建个账号即有了自己的钱包地址

2、领取测试代币

  • 链上部署合约或交易等都需要燃料,需要gas费,即需要有测试代币
  • 复制刚才的钱包地址去领取地址领取测试代币 BNB Smart Chain (BSC) Testnet Faucet - BNB Chain

3、部署智能合约

  • 打开网页写一个自己的智能合约 Remix - Ethereum IDE
  • 连接钱包

       bsc测试网,智能合约,智能合约,区块链,BSC,币安测试文章来源地址https://www.toymoban.com/news/detail-840435.html

  • 部署:设置一些构造函数中的参数或者转钱进合约后,点击部署按钮bsc测试网,智能合约,智能合约,区块链,BSC,币安测试
  • 部署后可以在浏览器查看TESTNET BNB Smart Chain (BNB) Blockchain Explorer

4、go语言获取事件日志

  • 在remix文件中查找abi,把[]及中括号中的内容,复制在一个json格式的文件中bsc测试网,智能合约,智能合约,区块链,BSC,币安测试
  • go安装abigen,使用abigen将abi生成go文件 例如abigen --abi erc20.json -pkg json -type erc20 --out erc20.go
  • 使用github.com/ethereum/go-ethereum库进行日志事件的获取,具体使用可以参考文档读取事件日志 - 用 Go 来做以太坊开发 - 开发文档 - 文江博客
    package main
    
    import (
    	"context"
    	"github.com/ethereum/go-ethereum"
    	"github.com/ethereum/go-ethereum/common"
    	"github.com/ethereum/go-ethereum/crypto"
    	"github.com/ethereum/go-ethereum/ethclient"
    	"github.com/wonderivan/logger"
    	"math/big"
    	"XXXX/abi" //自己使用abigen生成的那个go文件夹地址,我的pkg设置了为abi,所以这里就叫abi
    )
    // abigen --abi erc20.json -pkg abi -type erc20 --out erc20.go
    func main() {
    	//部署后在remix上面可以看到刚刚部署的合约地址
    	contractAddress := common.HexToAddress("0x12345...")
    	//rpcURL可以参考 https://docs.bnbchain.org/docs/rpc
    	client, err := ethclient.Dial("https://data-seed-prebsc-1-s2.binance.org:8545/") //如果实在拿不到可注册https://getblock.io/nodes/bsc,有免费调用次数
    	if err != nil {
    		panic(err)
    	}
    
    	query := ethereum.FilterQuery{
    		FromBlock: big.NewInt(36660000), //生产环境中,查找当前区块高度,查询后修改区块记录,下一次就从后一个有记录的区块数开始
    		ToBlock:   big.NewInt(36660020),
    		Addresses: []common.Address{
    			contractAddress,
    		},
    	}
    	logs, err := client.FilterLogs(context.Background(), query)
    	if err != nil {
    		panic(err)
    	}
    	erc20, _ := abi.NewAbi(contractAddress, client)
    	for _, log := range logs {
    		if len(log.Topics) == 0 {
    			continue
    		}
    		switch log.Topics[0].Hex() {
    		case TransferEvent():
    			logger.Info("TransferEvent:%v\n", log.Data)
    			data, err := erc20.ParseTransfer(log)
    			logger.Debug(data.From.Hex(), data.To.Hex(), data.Value.String(), err)
    		case MintEvent():
    			logger.Info("MintEvent:%v\n", log)
    			data, err := erc20.ParseMint(log)
    			logger.Debug(data.To.Hex(), data.Value.String(), err)
    		default:
    			logger.Info("default:%v\n", log)
    		}
    	}
    }
    
    func TransferEvent() string {
    	event := crypto.Keccak256Hash([]byte("Transfer(address,address,uint256)")).Hex()
    	return event
    }
    
    func MintEvent() string {
    	event := crypto.Keccak256Hash([]byte("Mint(address,uint256)")).Hex()
    	return event
    }
    

到了这里,关于BSC测试链部署智能合约的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【】BSC链只涨不跌的合约学习【完整源码】

    要想做到BSC链如何做到只涨不跌,那首先我们就来了解下薄饼交易所(pancakeswap)价格产生原理; 市场价格 =池子里DAI的数量/池子里BNB的数量(P市场=X/Y)。假设市场数量趋近于无穷大,兑换价格无限趋近于X/Y 兑换价格 =支付DAI的数量/获得BNB的数量(P兑换=△x /△y) 总结: 池

    2024年02月16日
    浏览(25)
  • 区块链3链(TRC ERC BSC)授权持币生息源码

    分享一款3链(TRC ERC BSC)授权持币生息源码、来自群友投稿的资源、据说是运营级的。简单的看了下没有问题什么大问题、有能力的可以拿来二开其他的模板。 搭建非常简单,教程就不写了、环境NGINX1.2+PHP7.2+MYSQL5.6+TP默认伪静态 此类源码需要自己查有无后门,见过太多人放

    2024年02月11日
    浏览(30)
  • Web3 处理智能合约部署到本地区块链,并在本地进行测试

    上文 Web3 在Truffle项目中编写出自己的第一个solidity智能合约我们演示了 在Truffle环境下写一个智能合约并编译的功能 编译出的文件夹中的这个JSON就非常重要了 我们就可以通过 它这个ABI链接到需要的智能合约程序上去 但这也仅仅是编译完了 我们的智能合约还没有部署到我们

    2024年02月13日
    浏览(31)
  • ERC/BSC314协议代币源代码部署、添加流动性、锁仓LP固定时间操作全流程

    一、说明 ERC314协议标准为通过实现IERC314接口标准,创建可以直接通过合约地址进行代币的买卖交易的合约。不再需要借助去中心化的dex(uniswap,sushiswap,pancakeswap)进行代币的定价和线上交易。从而可以有效的降低交易的gas费用。ETH链上代币在uniswap进行交易时,交易比较拥

    2024年04月16日
    浏览(62)
  • 区块链java开发智能合约nf(部署第一个NFT智能合约)

    手把手教你区块链java开发智能合约nft-第二篇(部署第一个NFT智能合约) 刚搞区块链开发真的是太累了,自己摸石头过河,动不动就报错,网上搜索错误,一律看不出什么问题,或者报错的信息太少,问同事同事不鸟,问领导,领导也烦,无奈,对于英文不好的我,只能被迫

    2024年02月12日
    浏览(41)
  • 区块链智能合约测试框架Foundry技术指南

    在区块链开发领域,智能合约的安全性和可靠性至关重要。鉴于区块链的不可变性,智能合约中的任何错误都可能导致不可逆转的后果,包括重大的财务损失。这凸显了彻底测试的关键重要性。Foundry 是一种 Solidity 测试框架,在这一领域中成为一个强大的工具,为开发人员提

    2024年02月03日
    浏览(37)
  • Python批量创建BSC钱包地址

    如果你需要在Binance Smart Chain(BSC)上创建多个钱包地址,可以使用Python编写一个脚本来自动化这个过程。下面是一个示例脚本,可以帮助您批量创建BSC钱包地址。 首先,您需要安装web3.py库。您可以使用以下命令来安装它: 接下来,您需要导入Web3和eth_account库: 然后,您需

    2024年02月11日
    浏览(30)
  • 用Python实现BSC批量转账

    在BSC网络上,通过编写Python脚本可以实现批量转账功能。下面是一些基本实现步骤: 导入必要的库和模块:在Python脚本中,需要导入web3、eth_account等库和模块。 连接BSC网络:通过web3库连接到BSC网络并获取账户信息。 准备转账列表:将需要转账的地址和金额按照一定的格式写

    2024年04月25日
    浏览(23)
  • MetaMask 添加BSC、Polygon网络配置

    打开浏览器,点击MetaMask插件,选择网络,点击弹窗中的“Add Network”按钮 添加各网络配置如下: key value 网络名称(Network Name) Binance Smart Chain Mainnet 或 BSC Mainnet (可随意取名) 新RPC网址(New RPC URL) https://bsc-dataseed1.binance.org 链ID(Chain ID) 56 货币符号(Currency Symbol) BNB

    2023年04月08日
    浏览(25)
  • 【BSC】使用Python玩转PancakeSwap(入门篇)

    最近我们需要在BSC上实现代币的自动化兑换,比如自动把BNB兑换成USDT,自动把USDT兑换成CAKE等其它代币,同时也要监视价格,在价格合适的时候再兑换代币。而PancakeSwap正是BSC上最大的去中心化平台,我们已经学会了手动在PancakeSwap上进行代币兑换,那么如何使用Python对这个操

    2024年02月03日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包