Skip to content

Latest commit

 

History

History
136 lines (111 loc) · 3.6 KB

integrate-with-web3.js-1.md

File metadata and controls

136 lines (111 loc) · 3.6 KB
description
Use Blocto wallet SDK with your existing web3.js integration

Integrate with Web3.js

You can use Blocto wallet service with your current web3.js integration with only a few simple lines of code.

{% hint style="warning" %} Note that Blocto SDK for EVM-compatible chains is still in Beta. APIs are subject to breaking changes. {% endhint %}

Installation

Install from npm/yarn/pnpm

{% tabs %} {% tab title="npm" %}

npm i web3 @blocto/sdk

{% endtab %}

{% tab title="yarn" %}

yarn add web3 @blocto/sdk

{% endtab %}

{% tab title="pnpm" %}

pnpm add web3 @blocto/sdk

{% endtab %} {% endtabs %}

Usage

Initiate Blocto SDK and Web3

import Web3 from 'web3'
import BloctoSDK from '@blocto/sdk'

const bloctoSDK = new BloctoSDK({
    ethereum: {
        // (required) chainId to be used
        chainId: '0x1', 
        // (required for Ethereum) JSON RPC endpoint
        rpc: 'https://mainnet.infura.io/v3/YOUR_INFURA_ID',
    },
    
    // (optional) Blocto app ID
    appId: 'YOUR_BLOCTO_APP_ID',
});

const web3 = new Web3(bloctoSDK.ethereum);

Blocto SDK Parameters

ParameterTypeDescriptionRequired
ethereum.chainIdString (hex)

EVM chain ID to connect to

Reference: EVM Networks

Yes
ethereum.rpcStringJSON RPC endpointYes (only for Ethereum)
appIdStringBlocto dApp IDNo

{% tabs %} {% tab title="Ethereum Mainnet" %}

const bloctoSDK = new BloctoSDK({
    ethereum: {
        chainId: '0x1', // 1
        rpc: 'https://mainnet.infura.io/v3/YOUR_INFURA_ID',
    },
    appId: 'YOUR_BLOCTO_APP_ID',
});

{% endtab %}

{% tab title="Ethereum Testnet (Goerli)" %}

const bloctoSDK = new BloctoSDK({
    ethereum: {
        chainId: '0x5', // 5
        rpc: 'https://rpc.ankr.com/eth_goerli',
    },
    appId: 'YOUR_BLOCTO_APP_ID',
});

{% endtab %}

{% tab title="BSC Mainnet" %}

const bloctoSDK = new BloctoSDK({
    ethereum: {
        chainId: '0x38', // 56
    },
    appId: 'YOUR_BLOCTO_APP_ID',
});

{% endtab %}

{% tab title="BSC Testnet (Chapel)" %}

const bloctoSDK = new BloctoSDK({
    ethereum: {
        chainId: '0x61', // 97
    },
    appId: 'YOUR_BLOCTO_APP_ID',
});

{% endtab %} {% endtabs %}

You can then use the web3 object for on-chain interactions. For more documentation for what you can do with web3.js, check out

Supported Chain ID

Network Chain ID
Ethereum Mainnet 1
Ethereum Sepolia Testnet 11155111
Arbitrum Mainnet 42161
Optimism Mainnet 10
Polygon Mainnet 137
Polygon Amoy Testnet 80002
BSC Mainnet 56
BSC Chapel Testnet 97
Avalanche Mainnet 43114
Avalanche Fuji Testnet 43113
Base Mainnet 8453
Zora Mainnet 7777777
Scroll Mainnet 534352
Scroll Sepolia Testnet 534351