Coder Social home page Coder Social logo

ankr-docs's People

Contributors

ai-slave avatar aleksey-romanov avatar antroll avatar barmaglot92 avatar bataevdaniil avatar bigbadalien avatar ddocs avatar deauthe avatar decentradude avatar denise54321 avatar dhaiwat10 avatar dllozhkin avatar ericwu2017 avatar evgeniy-bond avatar fasashen avatar fotescodev avatar fruit37 avatar galleon8 avatar gustavo341 avatar hedwig0x avatar ianlv avatar jcstein avatar kaymomin avatar mikrowelt avatar nnsw3 avatar omahs avatar raproid avatar romanankr avatar romanbon avatar scub111 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ankr-docs's Issues

Implement VWO and GA

  • Let's make sure the docs are meeting user needs by checking in with them and empowering them to easily comment and feedback.

The breadcrumbs are not clickable and don't work

The breadcrumbs in our docs don't do anything when we click on them. Aren't they supposed to be clickable? They should let me easily go back to anything in that list when I click on it. But right now it's just a piece of text that doesn't do anything. Only the home button works.

CleanShot.2022-06-15.at.11.55.12.mp4

Feedback for “Token API” - ankr_getTokenHoldersCount

Is it possible to configure ankr_getTokenHoldersCount to sort the response by balance?

Surely it would make sense for the response to default to returning the biggest holders first...

I can see other methods have a "descOrder" boolean option.

Thanks :)

Feedback for “Query API”

ankr_getTransactionsByAddress method
Works terribly.
Troubled blockchains:

  • polygon (max 100 txs per address to fetch)
  • optimism (max 30 txs per address to fetch)
  • arbitrum (max ? txs per address to fetch)
    Cannot fetch anymore than that even if I decrease the page size. If I increase, straigh to -32000 error

Here is my idea

title

Content description

Tag your content

Publication

Skill level

Rethink of Ankr Build sections

Currently top level navigation links don't link to most useful content from a user perspective.
Consider revising Sidebar sections in response to user feedback.

Feedback for “Solana”

I would like to ask if the solana chain in Ankr can support WebSocket access. We want to subscribe to transactions through wss instead of requesting transaction history through RPC.

Feedback for “Avalanche RPC error”

Hello Ankr Team,

I get this error when calling the avalanche c chain rpc endpoint when I want to get the balance of an address. The same method works well with other EVM enpoints:

rpc: service/method request ill-formed: "eth_getBalance"

Regards

Bug bounty

Hi,

Do you give bounty for XSS injection ?

Best regards,
Akincibor.eth

Gnosis Nethermind flags

Multiple RPC providers that support Gnosis are using Nethermind as a client, Ankr being one of those. There is an open ticket on Nethermind (NethermindEth/nethermind#5936) related to the trace_transaction method where multiple RPC providers either return Not Found or fail with an exception, while Ankr is able to produce the correct result.

As part of the debugging process on Nethermind, it would be really useful if you could share which options are you using to run Nethermind in your public RPC (https://rpc.ankr.com/gnosis). The only information that we have right now is the result of web3_clientVersion which is Nethermind/v1.20.1+9f39c0c7/linux-x64/dotnet7.0.9, but this is not enough.

Launching a Full Node on Binance Smart Chain with Erigon


title: Launching a Full Node on Binance Smart Chain with Erigon
author: Corey Wooten
id: bsc-full-node-erigon

Erigon Ankr Binance banner

Launching a Full Node on Binance Smart Chain with Erigon

Introduction

This tutorial will demonstrate the following processes:

  1. Configuring the remote server to run a full node.
  2. Building the Erigon Client on Binance Smart Chain from the source code.
  3. Using Erigon to deploy the full node on Binance Smart Chain.

00 Getting Started

0.1 Essential Hardware

Specifications Hardware Requirements
System Mac, Linux, or Windows machine with
the latest operating system (OS) installed
Server OS Linux Ubuntu
Free Hard
Drive Space
2 TB
RAM 16 GB

0.2 Essential Software

Specifications Software Requirements
Terminal
Emulator
- Linux: Terminal (native)
- Mac OS: Terminal (native) :: Termius (free / paid)
- Windows: Windows Terminal (native) :: PuTTy (free)
Recommended
Settings
- SSH Enabled
- TDP/UDP traffic enabled
Virtual Machine
(Optional)
- Ubuntu Desktop
- Ubuntu Server

0.3 Enabling / Disabling Secure Shell (SSH)

To access the remote server, the user must enable Secure Shell (SSH) on their system.

# Enable SSH

sudo systemsetup -setremotelogin on
Password: [*****]   # System password
# Disable SSH

sudo systemsetup -setremotelogin off

01 Updating and Configuring the Server

1.1 Connect to the Server via SSH

# Log in with your server admin credentials

ssh <your_username>@<server_ip_address>
Password: [*****]

Tip: Press CTRL+D at anytime to suspend the connection.

1.2 System Updates and Installations

1.2.1 Run Linux Updates

# Update Linux OS
# Upgrade packages
# Remove outdated programs

sudo apt update && sudo apt-dist upgrade -y && sudo apt autoremove -y

1.2.2 Install Go – (Get it Here)

# Download & extract the latest version of Go
# Current: v1.17.8

wget -c https://go.dev/dl/go1.17.8.linux-amd64.tar.gz && sudo tar -C /usr/local -xzf go1.17.8.linux-amd64.tar.gz
# Create a new directory
# Set the $GOPATH environment variable
# Set the $PATH variable to include $GOROOT and $GOPATH

mkdir ~/.go

GOROOT=/usr/local/go && GOPATH=~/.go && PATH=$PATH:$GOROOT/bin:$GOPATH/bin
# Replace existing Go version with the latest version

sudo update-alternatives --install "/usr/bin/go" "go" "/usr/local/go/bin/go" 0 && update-alternatives --set go /usr/local/go/bin/go
# Check for updated version

go version

Go version screenshot

1.2.3 Create the Server's Home Folder

mkdir ~/srv/svc && cd srv/svc

1.2.4 Install the Essential Ubuntu Packages

# Run as super ('sudo') user

apt install snap
apt install npm
apt install git
apt install make
apt install mdadm

# Install Axel with Snap package

snap install axel

02 Building the Erigon Client

2.1 Install Build Essentials

apt install build-essential

2.2 Clone the Erigon Repository

git clone https://github.com/ledgerwatch/erigon --recursive

github repo

2.3 Create a New Folder to Run Erigon

mkdir erigon && cd erigon

make all

2.4 Review the Erigon Files

cd build/bin

echo $PATH

ls -ai

Erigon Directory

2.5 Copy the Erigon Files to the Local Directory

sudo cp ./* /usr/local/bin

2.6 Move Back into the Erigon Folder

cd ~/srv/svc/erigon/

cd ..

2.7 Verify the Launch Path

which erigon

2.8 List Erigon Commands

erigon --help

03 Running the BSC Node with Erigon

3.1 Update Your Server's Security Settings

3.1.1 Block Unauthorized Access with Fail2Ban

sudo apt install fail2ban -y

3.1.2 Activate Ubuntu Firewall

# Check the Ubuntu Firewall (ufw) status
# Activate Ubuntu Firewall

sudo ufw status

sudo ufw allow ssh

UFW

3.2 Sync with Binance Smart Chain

Important: This step will likely take a while to complete.

3.2.1 Sync Normally

erigon --chain=bsc --datadir=/srv/svc --metrics --metrics.addr=0.0.0.0 --metrics.port=6060 --private.api.addr=0.0.0.0:9090 --pprof --pprof.addr=0.0.0.0 --pprof.port=6061

3.2.2 Sync in the Background

nohup bash -c 'erigon --chain=bsc --datadir=/srv/svc --metrics --metrics.addr=0.0.0.0 --metrics.port=6060 --private.api.addr=0.0.0.0:9090 --pprof --pprof.addr=0.0.0.0 --pprof.port=6061'

BSC Sync

3.3 Monitor Your Node's Performance with NetData (Optional)

  1. Register for a free account.
  2. Log into the user portal and select "Connect Nodes."
  3. Copy the provided script and run it in the terminal.
wget -O /tmp/netdata-kickstart.sh...

NetData

ankr_getTokenHolders returns unsorted holders

The ankr_getTokenHolders is not returning holders ordered by balance.
Is this by design? What is the reasoning behind it?

I would really like to have an endpoint that returns token holders sorted by balance.

Basically I want to get the top xx holders for a token. But with the current behaviour I would have to query all token holders first (which could be more than one request as the page size is 10k max). Then sort them myself by balance.
Looks like this can be handled more easily server side

Here is a getholders call example:

curl --request POST \
     --url 'https://rpc.ankr.com/multichain/<key>/?ankr_getTokenHolders=' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "jsonrpc": "2.0",
  "method": "ankr_getTokenHolders",
  "params": {
    "blockchain": "eth",
    "contractAddress": "0x9F9c8ec3534c3cE16F928381372BfbFBFb9F4D24",
    "pageSize": 10
  },
  "id": 1
}
'

Returns an array with a seamingly random sorting. Maybe it's listing oldest holders first, not sure.

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "blockchain": "eth",
    "contractAddress": "0x9f9c8ec3534c3ce16f928381372bfbfbfb9f4d24",
    "tokenDecimals": 18,
    "holders": [
      {
        "holderAddress": "0x000000000000000000000000000000000000dead",
        "balance": "0.000000000000000287",
        "balanceRawInteger": "287"
      },
      {
        "holderAddress": "0x000000000000084e91743124a982076c59f10084",
        "balance": "0.000000000000000001",
        "balanceRawInteger": "1"
      },
      {
        "holderAddress": "0x000000000000294a0d3b43ec78199a84587ae012",
        "balance": "0.000000000000000006",
        "balanceRawInteger": "6"
      },
      {
        "holderAddress": "0x0000000000007f150bd6f54c40a34d7c3d5e9f56",
        "balance": "0.000000004028533483",
        "balanceRawInteger": "4028533483"
      },
      {
        "holderAddress": "0x000000000005af2ddc1a93a03e9b7014064d3b8d",
        "balance": "0.000000000000000001",
        "balanceRawInteger": "1"
      },
      {
        "holderAddress": "0x0000000000208d4805eb97db796e74b48547445d",
        "balance": "0.00000000000015216",
        "balanceRawInteger": "152160"
      },
      {
        "holderAddress": "0x000000000035b5e5ad9019092c665357240f594e",
        "balance": "0.000000000000000065",
        "balanceRawInteger": "65"
      },
      {
        "holderAddress": "0x00000000003b3cc22af3ae1eac0440bcee416b40",
        "balance": "0.033757757619980131",
        "balanceRawInteger": "33757757619980131"
      },
      {
        "holderAddress": "0x00000000007079010d6e70a9b6e6d70a43f58300",
        "balance": "15.238310408853462243",
        "balanceRawInteger": "15238310408853462243"
      },
      {
        "holderAddress": "0x0000000000710a9c1f6db5f504be77ffb3b583ec",
        "balance": "0.000000000000000001",
        "balanceRawInteger": "1"
      }
    ],
    "holdersCount": 7879,
    "nextPageToken": "HUAk46AT4FNtnkuGjueMtqGagGMwaHR5bvyvnCf7u84StLsWcNGNUQ8YSzPBX4Fx9hnPzNvPuSHiZZDjtTZ",
    "syncStatus": {
      "timestamp": 1711217555,
      "lag": "-4m",
      "status": "synced"
    }
  }
}

Feedback for “Service plans”rate limit exceeded'

I have already made the payment and upgraded to advanced, but why would I still report the following error

Get the token price result: {'jsonrpc': '2.0', 'id': None, 'error': {'message': 'rate limit exceeded', 'data': 'You’ve reached the request limit for free users! Top up your balance to unlock Premium now to skip interruptions and access advanced features https://www.ankr.com/rpc/account/', 'code': -31999}}

Feedback for “Token API”

Hello my dear Dev colleagues,

I recently tried your Advanced Token API and it's great!

There's one optimization idea for your 'ankr_getTokenPriceHistory'-method though, as I sometimes didn't receive the right token prices on certain requests.
I suggest, that you could implement a 'pairAddress' parameter besides or instead of the already used 'contractAddress' parameter to specify exactly of which token pair liquidity pool the token price has to be fetched from (as there are often multiple and also inofficial pools with totally different token prices) .

Greetings from Germany
Peet

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.