Skip to content

Commit

Permalink
docs: add some docs for quicknode (#47)
Browse files Browse the repository at this point in the history
  • Loading branch information
sakulstra authored Nov 26, 2024
1 parent cd4ea52 commit 1c9493a
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 17 deletions.
23 changes: 20 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,18 @@ import { getRPCUrl, ChainId } from "@bgd-labs/rpc-env";
// will fetch the rpc based on a opinionated priorization and does not error if no rpc is found
// 1. checks if `RPC_MAINNET` is set, otherwise
// 2. checks if alchemy key was provided & if alchemy supports the network, otherwise
// 3. checks if a public rpc is configured
const url = getRPCUrl(ChainId.mainnet, { alchemyKey?: "[YOUR_ALCHEMY_KEY]" });
// 3. checks if quicknode key was provided & if quicknode supports the network, otherwise
// 4. checks if a public rpc is configured
const url = getRPCUrl(ChainId.mainnet, {
alchemyKey?: "[YOUR_ALCHEMY_KEY]",
quicknodeToken?: "[QUICKNODE_TOKEN]",
quicknodeEndpointName?: "[QUICKNODE_ENDPOINT_NAME]"
});

// alternatively you can use the explicit getters, which will throw if no rpc is found
const url = getExplicitRPC(ChainId.mainnet);
const url = getAlchemyRPC(ChainId.mainnet, alchemyKey);
const url = getQuickNodeRpc(ChainId.mainnet, {quicknodeEndpointName, quicknodeToken});
const url = getPublicRpc(ChainId.mainnet);
```

Expand All @@ -29,7 +35,10 @@ const url = getPublicRpc(ChainId.mainnet);
The cli will emit explicit rps and a foundry.toml configuration for each network.

```
export ALCHEMY_API_KEY=<> && npx @bgd-labs/rpc-env
export ALCHEMY_API_KEY=[YOUR_ALCHEMY_KEY]
export QUICKNODE_TOKEN=[QUICKNODE_TOKEN]
export QUICKNODE_ENDPOINT_NAME=[QUICKNODE_ENDPOINT_NAME]
npx @bgd-labs/rpc-env
```

## Action: `action-rpc-env`
Expand All @@ -44,6 +53,12 @@ Alchemy API key

If given, the action substitute missing RPC_URLs with one constructed from the given key.

#### `QUICKNODE_TOKEN` & `QUICKNODE_ENDPOINT_NAME`

Quicknode API key and endpoint name

If given, the action substitute missing RPC_URLs with one constructed from the given token & name pair.

### Supported Environment Variables

The supported environment variables are documented in [this](src/lib.test.ts) test.
Expand All @@ -54,6 +69,8 @@ The supported environment variables are documented in [this](src/lib.test.ts) te
- uses: bgd-labs/action-rpc-env@main
with:
ALCHEMY_API_KEY: ${{ secrets.ALCHEMY_API_KEY }}
QUICKNODE_TOKEN: ${{ secrets.QUICKNODE_TOKEN }}
QUICKNODE_ENDPOINT_NAME: ${{ secrets.QUICKNODE_ENDPOINT_NAME }}
env:
RPC_POLYGON: "https://rpc.polygon.com"
```
17 changes: 3 additions & 14 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,7 @@
"format": "biome check --write",
"prepublishOnly": "npm run build"
},
"files": [
"src/*.ts",
"dist/lib*",
"dist/cli*"
],
"files": ["src/*.ts", "dist/lib*", "dist/cli*"],
"bin": "./dist/cli.js",
"main": "./dist/lib.js",
"module": "./dist/lib.mjs",
Expand Down Expand Up @@ -47,19 +43,12 @@
"dotenv": "^16.4.5"
},
"tsup": {
"entry": [
"src/action.ts",
"src/lib.ts",
"src/cli.ts"
],
"entry": ["src/action.ts", "src/lib.ts", "src/cli.ts"],
"splitting": false,
"sourcemap": false,
"clean": true,
"dts": true,
"treeshake": true,
"format": [
"esm",
"cjs"
]
"format": ["esm", "cjs"]
}
}

0 comments on commit 1c9493a

Please sign in to comment.