BSC/BNB币安智能链代币质押分红dapp系统开发代码部署

简介: BSC/BNB币安智能链代币质押分红dapp系统开发代码部署,合约定制

BSC币安智能链 Binance Smart Chain,作为币安链的平行运行链,可实现智能合约创建以及 BNB 质押挖矿等功能。其于2020年4月创建,项目开发对接威hkkf5566不仅可以创建代币智能合约,还引入 BNB 形成质押挖矿机制。 BSC 是以太坊虚拟机兼容的区块链,是加密资产行业顶尖项目的测试和前沿探索。

Switch network
下例中仅支持BSC
import Web3 from 'web3'

const BSC_CHAIN_ID = 56

export const changeToBscNetwork = async (
library: any,
onError?: () => void
) => {
try {

await library.provider.request({
  method: 'wallet_switchEthereumChain',
  params: [{ chainId: Web3.utils.toHex(BSC_CHAIN_ID) }]
})

} catch (error: any) {

if (error.code === 4902) {
  try {
    library.provider.request({
      jsonrpc: '2.0',
      method: 'wallet_addEthereumChain',
      params: [
        {
          chainId: '0x38',
          chainName: 'Binance Smart Chain Mainnet',
          rpcUrls: ['https://bsc-dataseed.binance.org/'],
          nativeCurrency: {
            name: 'BNB',
            symbol: 'BNB',
            decimals: 18
          },
          blockExplorerUrls: ['https://bscscan.com']
        }
      ],
      id: 0
    })
  } catch (e) {
    console.error('changeNetwork addEthereumChain error', e)
  }
}
onError?.()
console.error('changeNetwork error', error)

}
}

常见 API
wallet_addEthereumChain
添加网络,切换网络时,错误返回 code 为4902时表示该网络未添加,下面以添加 bsc 到钱包网络中为例:
library.provider.request({
jsonrpc: '2.0',
method: 'wallet_addEthereumChain',
params: [

{
  chainId: '0x38',
  chainName: 'Binance Smart Chain Mainnet',
  rpcUrls: ['https://bsc-dataseed.binance.org/'],
  nativeCurrency: {
    name: 'BNB',
    symbol: 'BNB',
    decimals: 18
  },
  blockExplorerUrls: ['https://bscscan.com']
}

],
id: 0
})

相关文章
|
6月前
|
JavaScript Linux 内存技术
Debian 11系统下Node.js版本更新方法详解
本指南详细介绍在Linux系统中安装和管理Node.js的步骤。首先检查现有环境,包括查看当前版本和清除旧版本;接着通过NodeSource仓库安装最新版Node.js并验证安装结果。推荐使用nvm(Node Version Manager)进行多版本管理,便于切换和设置默认版本。同时,提供常见问题解决方法,如权限错误处理和全局模块迁移方案,以及版本回滚操作,确保用户能够灵活应对不同需求。
534 0
|
iOS开发 开发者
解决 Objective-C 中的 EXC_CRASH (SIGABRT) 错误
在Objective-C开发中,EXC_CRASH (SIGABRT) 是常见的运行时错误。面对此类问题,首先要解析Xcode提供的详细错误信息以定位问题所在。随后,仔细审查相关代码,特别是涉及空对象处理的部分,并考虑增加条件判断。利用断言如`NSAssert`可以帮助检测潜在错误,提前中断程序避免崩溃。此外,采用异常处理机制如`@try`/`@catch`可在异常发生时优雅地捕获并处理错误,避免程序终止。结合使用断点、Xcode调试器及打印调试信息等技术,开发者能够更有效地诊断并修复这类错误。
905 1
|
网络协议 C++
什么是Socket?
Socket(套接字)是网络通信的基本单位,它允许在不同计算机之间进行数据交换。Socket在网络编程中起着至关重要的作用,它为应用程序提供了一个机制,通过网络发送和接收数据。简单地说,Socket是进程间双向通信的端点。
538 2
|
存储 关系型数据库 MySQL
MySQL是怎样存储数据的?
MySQL是怎样存储数据的?
|
机器学习/深度学习 人工智能 算法
鱼类识别Python+深度学习人工智能+TensorFlow+卷积神经网络算法
鱼类识别Python+深度学习人工智能+TensorFlow+卷积神经网络算法
377 2
鱼类识别Python+深度学习人工智能+TensorFlow+卷积神经网络算法
|
存储 监控 安全
|
机器学习/深度学习 人工智能 搜索推荐
【AI 场景】如何使用 AI 向客户推荐个性化产品?
【5月更文挑战第3天】【AI 场景】如何使用 AI 向客户推荐个性化产品?
【AI 场景】如何使用 AI 向客户推荐个性化产品?
|
存储 算法 区块链
合约跟单/永续合约/秒合约交易所系统开发详细逻辑丨源码说明
  基于区块链技术的智能合约不仅可以发挥智能合约在成本效率方面的优势,而且可以避免恶意行为对合约正常执行的干扰。将智能合约以数字化的形式写入区块链中,由区块链技术的特性保障存储、读取、执行整个过程透明可跟踪、不可攥改。同时,由区块链自带的共识算法构建出一套状态机系统,使得智能合约能够高效地运行。
api一键自动合约跟单模式 | 程序化交易系统开发讲解【附样板源码实例分析】
“量化交易”有着两层含义:一是从狭义上来讲,是指量化交易的内容,将交易条件转变成为程序,自动下单;二是从广义上来讲,是指系统交易方法,就是一个整合的交易系统。
|
前端开发 API 区块链
合约交易丨秒合约丨永续合约丨合约跟单系统开发指南步骤
合约交易、秒合约、永续合约和合约跟单系统的开发基本要素和指南如下: