Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: add some docs for quicknode #47

Merged
merged 2 commits into from
Nov 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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"]
}
}