Map Node
  • What is MapNode?
  • Why MapNode?
  • MapCex - Modern and Secure Centralized Exchange
  • Explore The Latest Crypto Market MapScan
  • MapMarketCap – Comprehensive Cryptocurrency Market Information Portal
  • Project
    • Team
    • Gallery
    • Social Link
    • Partners
  • HOW TO CAN I GET MAPSCAN TOKEN (MAP)
    • Token
    • Validators
  • MapWallet
    • What is the MapWallet?
    • Savings to Earn
      • Savings Policy
  • Listing
    • Dexs
    • Exchange
    • Market
  • Developer Guide
    • 🪐Ethereum DApps Integration
    • 🪐BNB Chain DApps Integration
    • 🪐Polygon DApps Integration
    • 🪐Solana DApps Integration
    • 🪐Near DApps Integration
    • 🪐Cosmos DApps Integration
    • 🪐Secret DApps Integration
    • 🪐KAVA DApps Integration
    • 🪐Persistence DApps Integration
    • 🪐Terra DApps Integration
    • 🪐Ronin DApps Integration
    • 🪐Boba DApps Integration
    • 🪐Harmony DApps Integration
    • 🪐Klaytn DApps Integration
  • Bug Bounty Program
  • Legal
    • Terms of Service
    • Privacy Policy
    • Launchpad Policy
    • AML Policy
Powered by GitBook
On this page
  • To detect MapNode Extension with BNB Chain
  • To connect MapNode Extension Wallet
  • To disconnect MapNode Extension Wallet
  • To experience functions
  • Get Current Account
  • Check wallet whether exists or not
  • Sign Transaction
  • Transfer
  • RPC Request
  • To handle events
  • List of events
  1. Developer Guide

BNB Chain DApps Integration

Welcome to MapNode Extension Wallet Developer Guide. This documentation contains guides for developers to get started developing on MapNode Extension Wallet.‌

PreviousEthereum DApps IntegrationNextPolygon DApps Integration

Last updated 2 years ago

To detect MapNode Extension with BNB Chain

To detect whether your browser is running MapNode Extension, please use:

if(window.mapnode || window.binancChain || window.binanceChain?.isMapNode){
    console.log('MapNode Extension is installed!');
}

Notice: MapNode Extension Testnet is under development and not available now. The MapNode Extension on Ethereum JavaScript provider API is specified by . Supportwindow.ethereum + window.binance and removal window.web3


To connect MapNode Extension Wallet

To connect MapNode Extension means to access the user's [blockchain - like Ethereum] account(s).

// Connect & get accounts
window.binanceChain.request({method: 'bsc_accounts'});
// Alias for connection
window.binanceChain.request({method: 'bsc_requestAccounts'});​
//Check if dapp connected
window.binancChain.isConnected();
// Connect & get accounts
window.ethereum.request({method: 'eth_accounts'});
// Alias for connection
window.ethereum.request({method: 'eth_requestAccounts'});​
//Check if dapp connected
window.ethereum.isConnected();

To disconnect MapNode Extension Wallet

To disconnect MapNode Extension, please use:

window.binanceSmartChain.disconnect()
window.ethereum.disconnect()

To experience functions

Once your account is connected, let's start experiencing more functions.‌

Get Current Account

return Promise<Array[String]>

  • If wallet can not be found, return [] instead of throw Error

window.binanceChain.request({ method: 'bsc_accounts' }).then(accounts => {
  if (accounts[0]) {
    // Do something with accounts
  } else {
    // Wallet not found
  }
})

Check wallet whether exists or not

return Promise<{data: Boolean}>

window.binChain.request({ method: 'has_wallet', params: ['binanceSmartChain']})
// Example
window.binanceChain.request({ method: 'has_wallet', params: ['binanceSmartChain'] }).then(() => {
  // Wallet Exists
}).catch(e => { 
  // Wallet not found
})

Sign Transaction

return: Promise<Signature | RPC: 2.0>

// Example Sign Transactionconst
const signature = window.binanceSmartChain.request({
    method: 'bsc_sign',
    params: {
        "undefined": "string",
        "to": "string",
        "gas": "string",
        "gasPrice": "string",
        "value": "string",
        "data": "string",
        "nonce": "string"
    }
});

Transfer

return Promise<hash>

window.binanceSmartChain.request({
  method: 'bsc_sendTransaction',
  params: [
    {
      undefined: 'string',
      to: 'string',
      gas: 'string',
      gasPrice: 'string',
      value: 'string',
      data: 'string',
      nonce: 'string'
    }
  ]
})

RPC Request

window.binanceChain.request({method: '<Your Method>', params: [args1,....]})

To handle events

List of events

Currently we only support some action event from wallet extension

window.binanceChain.on('event_name', callback);
​//Example
window.binanceChain.on('close', () => window.location.reload());
window.binanceChain.on('accountsChanged', () => window.location.reload());
Events
Trigger

accountsChanged

Receive when active account changed in Extension

networkChanged

Receive when active network changed in Extension

chainChanged

Receive when active chain changed in Extension

disconnect

Receive when disconnect from Extension

close

Alias for disconnect event

Method
Description

on(event, callback)

Add event listener

off(event, callback)

Remove event listener

return Promise<binanceSmartChain RPC> Currently only support HTTP(s) method Reference:

🪐
EIP-1193
RPC Method