Arbitrum

Docs

The official document has more detailed information :

Network Type

We provide support for the following network types :

  • Arbitrum Full Mainnet
  • Arbitrum Full Testnet

arbitrum_network

arbitrum_full

Blockchain Explorer

Mainnet explorer

Testnet explorer

Simple example

Https endpoint

package main

import (
    "context"
    "fmt"
    "github.com/ethereum/go-ethereum/ethclient"
)


func main() {
    const url_auth = "https://username:password@apis.ankr.com/xxxxx/xxxxx/arbitrum/full/main"    // authentication
    const url_token = "https://apis.ankr.com/xxxxx/xxxxx/arbitrum/full/main"                     // token
    
    rpcClient,err := ethclient.Dial("choose url_auth or url_token by your created type")
    
    if err != nil {
        panic(err)
    }
    
    blockNumber, err := rpcClient.BlockNumber(context.Background())
    
    if err != nil {
        panic(err)
    }
    
    fmt.Println(blockNumber)
}
const Web3 = require('web3');


const url_auth = 'https://username:password@apis.ankr.com/xxxxx/xxxxx/arbitrum/full/main'    // authentication
const url_token = 'https://apis.ankr.com/xxxxx/xxxxx/arbitrum/full/main'                     // token

const web3 = new Web3(new Web3.providers.HttpProvider('choose url_auth or url_token by your created type'));

web3.eth.getBlockNumber((error, blockNumber) => {
    if(!error){
        console.log(blockNumber);
    }else{
        console.log(error);
    }
})
from web3 import Web3


def test_block_number(self):
    url_auth = 'https://username:password@apis.ankr.com/xxxxx/xxxxx/arbitrum/full/main'  # authentication
    url_token = 'https://apis.ankr.com/xxxxx/xxxxx/arbitrum/full/main'                   # token
    
    web3 = Web3(HTTPProvider('choose url_auth or url_token by your created type'))
    print(web3.eth.block_number)
# authentication
$ curl -H "Content-Type: application/json" -u "username:password" -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' https://apis.ankr.com/xxxxx/xxxxx/arbitrum/full/main
$ curl -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' https://username:password@apis.ankr.com/xxxxx/xxxxx/arbitrum/full/main

# token
$ curl -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' https://apis.ankr.com/xxxxx/xxxxx/arbitrum/full/main

Wss endpoint

package main

import (
    "context"
    "fmt"
    "github.com/ethereum/go-ethereum/core/types"
    "github.com/ethereum/go-ethereum/ethclient"
    "time"
)


func main() {
    const url_auth = "wss://username:password@apis.ankr.com/wss/xxxxx/xxxxx/arbitrum/full/main" // authentication
    const url_token = "wss://apis.ankr.com/wss/xxxxx/xxxxx/arbitrum/full/main"                  // token
    
    client, err := ethclient.Dial(`choose url_auth or url_token by your created type`)
    
    if err != nil {
        panic(err)
    }
    
    ch := make(chan *types.Header, 1024)
    sub, err := client.SubscribeNewHead(context.Background(), ch)
    
    if err != nil {
        panic(err)
    }
    
    fmt.Println("---subscribe-----")

    go func() {
        time.Sleep(10 * time.Second)
        fmt.Println("---unsubscribe-----")
        sub.Unsubscribe()
    }()

    go func() {
        for c := range ch {
            fmt.Println(c.Number)
        }
    }()

    <-sub.Err()

}
const ethers = require("ethers");

const url_auth = 'wss://username:password@apis.ankr.com/wss/xxxxx/xxxxx/arbitrum/full/main'    // authentication
const url_token = 'wss://d@apis.ankr.com/wss/xxxxx/xxxxx/arbitrum/full/main'                   // token

const init = function () {

    const wsProvider = new ethers.providers.WebSocketProvider('choose url_auth or url_token by your created type');

    wsProvider.on("pending", (tx) => {
        console.log("tx", tx)
        setTimeout(function () {
            wsProvider.destroy()
        }, 1000);

    });

};

init();
const WebSocket = require('ws');

const url_auth = 'wss://username:password@apis.ankr.com/wss/xxxxx/xxxxx/arbitrum/full/main'    // authentication
const url_token = 'wss://d@apis.ankr.com/wss/xxxxx/xxxxx/arbitrum/full/main'                   // token

const request = '{"id": 1, "method": "eth_subscribe", "params": ["newPendingTransactions"]}';  

const ws = new WebSocket('choose url_auth or url_token by your created type');

ws.on('open', function open() {
    ws.send(request);
});
ws.on('message', function incoming(data) {
    res = JSON.parse(data)
    if (res.result != null) {
        console.log(`Subscription: ${res.result}`);
    } else if (res.params != null && res.params["result"] != null) {
        console.log(`New pending transaction: ${res.params["result"]}`);
    } else {
        console.log(`Unexpected: ${data}`);
    }
});
# authentication
$ wscat -c wss://username:password@apis.ankr.com/wss/xxxxx/xxxxx/arbitrum/full/main

# token
$ wscat -c wss://apis.ankr.com/wss/xxxxx/xxxxx/arbitrum/full/main

wait connected...

# subscribe
> {"jsonrpc":"2.0","method":"eth_subscribe","params":["newHeads"],"id":1}

# unsubscribe
> {"jsonrpc":"2.0","method":"eth_unsubscribe","params":["0xxxxxxxxxxxxxxx"],"id":1}