Skip to content

Commit

Permalink
Rpc nodes.json (#3106)
Browse files Browse the repository at this point in the history
* feat: adding docs/rpc_nodes.json

re #3105

* chore: updated dotenv and axios version to fix dependencies vulnerabilities

* docs: updated rpc json file and added a convert-to-md file
  • Loading branch information
hui-an-yang authored Jan 17, 2025
1 parent fa8b6f0 commit dd6eddb
Show file tree
Hide file tree
Showing 6 changed files with 176 additions and 43 deletions.
33 changes: 18 additions & 15 deletions docs/rpc_nodes.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,21 +23,24 @@ values={[

| Provider | Net | URL | Header |
|------------------|--------------|------------------------------------------|---------------------------------------------------------------------------------|
| ECAD Labs | Mainnet | https://mainnet.tezos.ecadinfra.com | [Check](https://mainnet.tezos.ecadinfra.com/chains/main/blocks/head/header) |
| ECAD Labs | Ghostnet | https://ghostnet.tezos.ecadinfra.com | [Check](https://ghostnet.tezos.ecadinfra.com/chains/main/blocks/head/header) |
| SmartPy | Mainnet | https://mainnet.smartpy.io | [Check](https://mainnet.smartpy.io/chains/main/blocks/head/header) |
| SmartPy | Ghostnet | https://ghostnet.smartpy.io | [Check](https://ghostnet.smartpy.io/chains/main/blocks/head/header) |
| Tezos Foundation | Mainnet | https://rpc.tzbeta.net/ | [Check](https://rpc.tzbeta.net/chains/main/blocks/head/header) |
| Tezos Foundation | Ghostnet | https://rpc.ghostnet.teztnets.com/ | [Check](https://rpc.ghostnet.teztnets.com/chains/main/blocks/head/header) |
| Tezos Foundation | Parisnet | https://rpc.pariscnet.teztnets.com/ | [Check](https://rpc.pariscnet.teztnets.com/chains/main/blocks/head/header) |
| Tezos Foundation | Quebecnet | https://rpc.quebecnet.teztnets.com/ | [Check](https://rpc.quebecnet.teztnets.com/chains/main/blocks/head/header) |
| Tzkt | Mainnet | https://rpc.tzkt.io/mainnet/ | [Check](https://rpc.tzkt.io/mainnet/chains/main/blocks/head/header) |
| Tzkt | Ghostnet | https://rpc.tzkt.io/ghostnet | [Check](https://rpc.tzkt.io/ghostnet/chains/main/blocks/head/header) |
| Tzkt | Parisnet | https://rpc.tzkt.io/parisnet | [Check](https://rpc.tzkt.io/parisnet/chains/main/blocks/head/header) |
| Tzkt | Quebecnet | https://rpc.tzkt.io/quebecnet | [Check](https://rpc.tzkt.io/quebecnet/chains/main/blocks/head/header) |

https://api.mainnet.tzkt.io/
*If you are aware of a public node missing from our list or our information is inaccurate, please help us by submitting an issue or pull request on our GitHub page.*
| ECAD Infra | mainnet | https://mainnet.tezos.ecadinfra.com | [Check](https://mainnet.tezos.ecadinfra.com/chains/main/blocks/head/header) |
| ECAD Infra | ghostnet | https://ghostnet.tezos.ecadinfra.com | [Check](https://ghostnet.tezos.ecadinfra.com/chains/main/blocks/head/header) |
| SmartPy | mainnet | https://mainnet.smartpy.io | [Check](https://mainnet.smartpy.io/chains/main/blocks/head/header) |
| SmartPy | ghostnet | https://ghostnet.smartpy.io | [Check](https://ghostnet.smartpy.io/chains/main/blocks/head/header) |
| Tezos Foundation | mainnet | https://rpc.tzbeta.net | [Check](https://rpc.tzbeta.net/chains/main/blocks/head/header) |
| Tezos Foundation | ghostnet | https://rpc.ghostnet.teztnets.com | [Check](https://rpc.ghostnet.teztnets.com/chains/main/blocks/head/header) |
| Tezos Foundation | parisnet | https://rpc.pariscnet.teztnets.com | [Check](https://rpc.pariscnet.teztnets.com/chains/main/blocks/head/header) |
| Tezos Foundation | quebecnet | https://rpc.quebecnet.teztnets.com | [Check](https://rpc.quebecnet.teztnets.com/chains/main/blocks/head/header) |
| TzKT | mainnet | https://rpc.tzkt.io/mainnet | [Check](https://rpc.tzkt.io/mainnet/chains/main/blocks/head/header) |
| TzKT | ghostnet | https://rpc.tzkt.io/ghostnet | [Check](https://rpc.tzkt.io/ghostnet/chains/main/blocks/head/header) |
| TzKT | parisnet | https://rpc.tzkt.io/parisnet | [Check](https://rpc.tzkt.io/parisnet/chains/main/blocks/head/header) |
| TzKT | quebecnet | https://rpc.tzkt.io/quebecnet | [Check](https://rpc.tzkt.io/quebecnet/chains/main/blocks/head/header) |

<!-- when updating this table make sure to update the website/static/docs/rpc_nodes.json first and rerun example/convert-rpc-json-to-md.ts to replace the output table above -->
*- You can also find a machine readable list in [rpc_nodes.json](https://taquito.io/docs/rpc_nodes.json).*

*- If you are aware of a public node missing from our list or our information is inaccurate, please help us by submitting an issue or pull request on our GitHub page.*

</TabItem>
<TabItem value="commercialNodes">

Expand Down
29 changes: 29 additions & 0 deletions example/convert-rpc-json-to-md.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
const path = require('path');
const rpcData: RpcType = require(path.resolve(__dirname, '../website/static/docs/rpc_nodes.json'));

type Provider = {id: string, name: string, website: string, status_page: string};
type RpcEndpoint = {provider: string, url: string, net: string}
type RpcType = {providers: Provider[], rpc_endpoints: RpcEndpoint[]};

// Create a mapping of provider IDs to their names
const providers = rpcData.providers.reduce((providerMapping: Record<string, string>, provider) => {
providerMapping[provider.id] = provider.name;
return providerMapping;
}, {});

// Generate the markdown table header
let markdownTable = "| Provider | Net | URL | Header |\n";
markdownTable += "|------------------|--------------|------------------------------------------|---------------------------------------------------------------------------------|\n";

// Iterate over each RPC endpoint and generate the table rows
rpcData.rpc_endpoints.forEach(endpoint => {
const providerName = providers[endpoint.provider] || "Unknown Provider";
const url = endpoint.url;
const net = endpoint.net;
const headerUrl = `${url}/chains/main/blocks/head/header`;
const row = `| ${providerName.padEnd(16)} | ${net.padEnd(12)} | ${url.padEnd(40)} | [Check](${headerUrl}) |\n`;
markdownTable += row;
});

// Output the generated markdown table
console.log(markdownTable);
30 changes: 19 additions & 11 deletions website/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions website/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,14 +43,14 @@
"@taquito/wallet-connect": "file:../packages/taquito-wallet-connect",
"abort-controller": "^3.0.0",
"algoliasearch": "^4.23.2",
"axios": "^0.28.0",
"axios": "^0.29.0",
"buffer": "^6.0.3",
"classnames": "^2.3.2",
"clipboard": "^2.0.11",
"clsx": "^1.2.1",
"docusaurus-plugin-dotenv": "^1.0.1",
"docusaurus-plugin-sass": "^0.2.5",
"dotenv": "^16.3.2",
"dotenv": "^16.4.7",
"file-loader": "^6.2.0",
"firebase": "^10.14.1",
"html-react-parser": "^3.0.16",
Expand Down
90 changes: 90 additions & 0 deletions website/static/docs/rpc_nodes.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
{
"providers": [
{
"id": "ecadinfra",
"name": "ECAD Infra",
"website": "https://www.ecadinfra.com/",
"status_page": ""
},
{
"id": "smartpy",
"name": "SmartPy",
"website": "https://smartpy.io",
"status_page": ""
},
{
"id": "tezosfoundation",
"name": "Tezos Foundation",
"website": "https://tezos.foundation",
"status_page": ""
},
{
"id": "tzkt",
"name": "TzKT",
"website": "https://tzkt.io",
"status_page": ""
}
],
"rpc_endpoints": [
{
"net": "mainnet",
"url": "https://mainnet.tezos.ecadinfra.com",
"provider": "ecadinfra"
},
{
"net": "ghostnet",
"url": "https://ghostnet.tezos.ecadinfra.com",
"provider": "ecadinfra"
},
{
"net": "mainnet",
"url": "https://mainnet.smartpy.io",
"provider": "smartpy"
},
{
"net": "ghostnet",
"url": "https://ghostnet.smartpy.io",
"provider": "smartpy"
},
{
"net": "mainnet",
"url": "https://rpc.tzbeta.net",
"provider": "tezosfoundation"
},
{
"net": "ghostnet",
"url": "https://rpc.ghostnet.teztnets.com",
"provider": "tezosfoundation"
},
{
"net": "parisnet",
"url": "https://rpc.pariscnet.teztnets.com",
"provider": "tezosfoundation"
},
{
"net": "quebecnet",
"url": "https://rpc.quebecnet.teztnets.com",
"provider": "tezosfoundation"
},
{
"net": "mainnet",
"url": "https://rpc.tzkt.io/mainnet",
"provider": "tzkt"
},
{
"net": "ghostnet",
"url": "https://rpc.tzkt.io/ghostnet",
"provider": "tzkt"
},
{
"net": "parisnet",
"url": "https://rpc.tzkt.io/parisnet",
"provider": "tzkt"
},
{
"net": "quebecnet",
"url": "https://rpc.tzkt.io/quebecnet",
"provider": "tzkt"
}
]
}
33 changes: 18 additions & 15 deletions website/versioned_docs/version-21.0.0/rpc_nodes.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,21 +23,24 @@ values={[

| Provider | Net | URL | Header |
|------------------|--------------|------------------------------------------|---------------------------------------------------------------------------------|
| ECAD Labs | Mainnet | https://mainnet.tezos.ecadinfra.com | [Check](https://mainnet.tezos.ecadinfra.com/chains/main/blocks/head/header) |
| ECAD Labs | Ghostnet | https://ghostnet.tezos.ecadinfra.com | [Check](https://ghostnet.tezos.ecadinfra.com/chains/main/blocks/head/header) |
| SmartPy | Mainnet | https://mainnet.smartpy.io | [Check](https://mainnet.smartpy.io/chains/main/blocks/head/header) |
| SmartPy | Ghostnet | https://ghostnet.smartpy.io | [Check](https://ghostnet.smartpy.io/chains/main/blocks/head/header) |
| Tezos Foundation | Mainnet | https://rpc.tzbeta.net/ | [Check](https://rpc.tzbeta.net/chains/main/blocks/head/header) |
| Tezos Foundation | Ghostnet | https://rpc.ghostnet.teztnets.com/ | [Check](https://rpc.ghostnet.teztnets.com/chains/main/blocks/head/header) |
| Tezos Foundation | Parisnet | https://rpc.pariscnet.teztnets.com/ | [Check](https://rpc.pariscnet.teztnets.com/chains/main/blocks/head/header) |
| Tezos Foundation | Quebecnet | https://rpc.quebecnet.teztnets.com/ | [Check](https://rpc.quebecnet.teztnets.com/chains/main/blocks/head/header) |
| Tzkt | Mainnet | https://rpc.tzkt.io/mainnet/ | [Check](https://rpc.tzkt.io/mainnet/chains/main/blocks/head/header) |
| Tzkt | Ghostnet | https://rpc.tzkt.io/ghostnet | [Check](https://rpc.tzkt.io/ghostnet/chains/main/blocks/head/header) |
| Tzkt | Parisnet | https://rpc.tzkt.io/parisnet | [Check](https://rpc.tzkt.io/parisnet/chains/main/blocks/head/header) |
| Tzkt | Quebecnet | https://rpc.tzkt.io/quebecnet | [Check](https://rpc.tzkt.io/quebecnet/chains/main/blocks/head/header) |

https://api.mainnet.tzkt.io/
*If you are aware of a public node missing from our list or our information is inaccurate, please help us by submitting an issue or pull request on our GitHub page.*
| ECAD Infra | mainnet | https://mainnet.tezos.ecadinfra.com | [Check](https://mainnet.tezos.ecadinfra.com/chains/main/blocks/head/header) |
| ECAD Infra | ghostnet | https://ghostnet.tezos.ecadinfra.com | [Check](https://ghostnet.tezos.ecadinfra.com/chains/main/blocks/head/header) |
| SmartPy | mainnet | https://mainnet.smartpy.io | [Check](https://mainnet.smartpy.io/chains/main/blocks/head/header) |
| SmartPy | ghostnet | https://ghostnet.smartpy.io | [Check](https://ghostnet.smartpy.io/chains/main/blocks/head/header) |
| Tezos Foundation | mainnet | https://rpc.tzbeta.net | [Check](https://rpc.tzbeta.net/chains/main/blocks/head/header) |
| Tezos Foundation | ghostnet | https://rpc.ghostnet.teztnets.com | [Check](https://rpc.ghostnet.teztnets.com/chains/main/blocks/head/header) |
| Tezos Foundation | parisnet | https://rpc.pariscnet.teztnets.com | [Check](https://rpc.pariscnet.teztnets.com/chains/main/blocks/head/header) |
| Tezos Foundation | quebecnet | https://rpc.quebecnet.teztnets.com | [Check](https://rpc.quebecnet.teztnets.com/chains/main/blocks/head/header) |
| TzKT | mainnet | https://rpc.tzkt.io/mainnet | [Check](https://rpc.tzkt.io/mainnet/chains/main/blocks/head/header) |
| TzKT | ghostnet | https://rpc.tzkt.io/ghostnet | [Check](https://rpc.tzkt.io/ghostnet/chains/main/blocks/head/header) |
| TzKT | parisnet | https://rpc.tzkt.io/parisnet | [Check](https://rpc.tzkt.io/parisnet/chains/main/blocks/head/header) |
| TzKT | quebecnet | https://rpc.tzkt.io/quebecnet | [Check](https://rpc.tzkt.io/quebecnet/chains/main/blocks/head/header) |

<!-- when updating this table make sure to update the website/static/docs/rpc_nodes.json first and rerun example/convert-rpc-json-to-md.ts to replace the output table above -->
*- You can also find a machine readable list in [rpc_nodes.json](https://taquito.io/docs/rpc_nodes.json).*

*- If you are aware of a public node missing from our list or our information is inaccurate, please help us by submitting an issue or pull request on our GitHub page.*

</TabItem>
<TabItem value="commercialNodes">

Expand Down

0 comments on commit dd6eddb

Please sign in to comment.