🪐Near DApps Integration

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

To detect MapNode Extension with Near

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

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

Notice: MapNode Extension Testnet is under development and not available now.

Support window.near only and removal window.web3


To connect MapNode Extension Wallet

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

// Connect DApps
window.MapNode.near.connect(<Prefix: optional>,<Contract ID: optional>);
// Get Account
window.MapNode.near.selectedAddress;
// Get Full Accounts State
window.MapNode.near.request({ method: 'near_accountState' });
// Check if DApps connected
window.MapNode.near.isConnected();

To disconnect MapNode Extension Wallet

To disconnect MapNode Extension, please use:

window.MapNode.near.disconnect()

To experience functions

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

Call View Method

const params = {
    contractId: 'token.v2.ref-finance.near',
    method: 'ft_balance_of',
    args: {
        account_id: account
    }
}
const balance = await window.MapNode?.near.request({method: 'near_view', params})
console.log("Your near wallet balance ", balance)

SignAndSend Transaction

const params = {
    transactions,
    receiver: account
}

const result = await window.MapNode?.near.request({method: 'near_signAndSendTransaction', params})
const balance = await window.MapNode?.near.request({method: 'near_view', params})
console.log("Your near wallet balance ", balance)

To handle events

List of events

Currently we only support some action event from wallet extension

window.mapnode.sol.on('event_name', callback);
//Example
window.mapnode.sol.on('close', () => window.location.reload());
window.mapnode.sol.on('accountsChanged', () => window.location.reload());

Last updated