Ethereum
The official document has more detailed information :
We provide support for the following network types :
- Ethereum Full Mainnet
- Ethereum Full Ropsten
- Ethereum Full Rinkeby
- Ethereum Full Goerli
- Ethereum Archive Mainnet
package main
import (
"context"
"fmt"
"github.com/ethereum/go-ethereum/ethclient"
)
func main() {
const url_auth = "https://username:password@apis.ankr.com/xxxxx/xxxxx/eth/fast/main" // authentication
const url_token = "https://apis.ankr.com/xxxxx/xxxxx/eth/fast/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/eth/fast/main' // authentication
const url_token = 'https://apis.ankr.com/xxxxx/xxxxx/eth/fast/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/eth/fast/main' # authentication
url_token = 'https://apis.ankr.com/xxxxx/xxxxx/eth/fast/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/eth/fast/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/eth/fast/main
# token
$ curl -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' https://apis.ankr.com/xxxxx/xxxxx/eth/fast/main
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/eth/fast/main" // authentication
const url_token = "wss://apis.ankr.com/wss/xxxxx/xxxxx/eth/fast/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/eth/fast/main' // authentication
const url_token = 'wss://d@apis.ankr.com/wss/xxxxx/xxxxx/eth/fast/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/eth/fast/main' // authentication
const url_token = 'wss://d@apis.ankr.com/wss/xxxxx/xxxxx/eth/fast/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/eth/fast/main
# token
$ wscat -c wss://apis.ankr.com/wss/xxxxx/xxxxx/eth/fast/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}