Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
961753f
tests: update tests (#712)
fjl Dec 4, 2025
3547418
schemas: fix issue in Filter schema
fjl Dec 4, 2025
7b4d9f6
engine: Simplify wording for BAL validation failure (#714)
mkalinin Dec 8, 2025
f7479ef
engine: Delete eip7928 (#715)
mkalinin Dec 15, 2025
59762a2
feat: add init docusaurus commit
zcstarr Dec 6, 2025
d9c0129
feat: migrate existing docs into docusaurus
zcstarr Dec 8, 2025
6cd773b
fix: use beta package to resolve layout issues
zcstarr Dec 11, 2025
9c38dbb
chore: update ci to support modern github actions workflow
zcstarr Dec 11, 2025
1acd7b4
chore: temp. point to the zcstarr repo
zcstarr Dec 11, 2025
d16fbad
chore: update the temporary github pages url to open-rpc
zcstarr Dec 11, 2025
ecd28a3
chore: fix broken links
zcstarr Dec 11, 2025
40d1cc5
chore: update to latest package
zcstarr Dec 18, 2025
7f690be
feat: add support for api as main landing page
zcstarr Dec 19, 2025
a303f7d
feat: add local search to build
zcstarr Dec 19, 2025
1e576ff
fix: update config to point to the output openrpc.json
zcstarr Dec 19, 2025
f0cc90d
chore: remove gatsby references
zcstarr Dec 19, 2025
c5943b0
chore: rm open-rpc old generator
zcstarr Dec 19, 2025
940baf1
chore: update website link to point to the ethereum website
zcstarr Dec 19, 2025
d11a5d2
feat: add support for copy as markdown
zcstarr Dec 19, 2025
cd9643b
chore: add support watching and live development
zcstarr Dec 19, 2025
8e7f97c
chore: fix broken documentation links
zcstarr Dec 20, 2025
3a0032e
chore: fix LICENSE link to resolve broken quickstart link
zcstarr Dec 20, 2025
705dd6b
chore: fix deprecation of broken markdown link config
zcstarr Dec 20, 2025
25f65a6
chore: update generated docs
zcstarr Dec 20, 2025
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
50 changes: 33 additions & 17 deletions .github/workflows/deploy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,29 +6,45 @@ on:
- main
workflow_dispatch:

env:
GITHUB_REPOSITORY: ${{ github.repository }}
permissions:
contents: read
pages: write
id-token: write

jobs:
deploy-gh-pages:
permissions:
pages: write
id-token: write
contents: write
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Use Node.js 22
uses: actions/setup-node@v4
with:
node-version: '22'
- run: npm ci
- run: npm run build:spec
- run: npm run build:docs
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v4
node-version: "22"
cache: npm

- name: Install dependencies
run: npm ci

- name: Build docs
run: npm run build:docs

- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: build/docs/gatsby/public
commit_message: "Deploy to GitHub Pages"
path: build

deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,5 @@ data.json
schema.json
*.dic
.idea/
.docusaurus/
.DS_Store
31 changes: 21 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ specification and the JSON schema [specification][json-schema] to get started.
### Updating the specs

#### Compiling

The specification is split into multiple files to improve readability. The
spec can be compiled into a single document as follows:

Expand All @@ -37,23 +38,32 @@ will have all schema `#ref`s resolved.
#### Building the docs

Once you've updated something in the spec, you can use the docs generation tools
to view the updated specs locally.
to view the updated specs locally.

```console
$ npm run build:docs
$ npm run watch
$ npm run start
```

The `watch` command starts a local webserver serving the docs in-browser at
`http://0.0.0.0:8000` and it rebuilds when you update something in the specs.
Please reload the page to see your changes.
The `watch` command starts watching the local repository and rebuilds the spec
and copies the `README.md` into the build. Running npm start starts a local
development docusaurus server at `http://localhost:3000` and it rebuilds when you update something in the specs.
Sometimes you must reload the page to see your changes.

There is also search to see the search index built you must `npm run build:docs` this builds
a production ready version of the app, which will include a local search index. To access
the production build call `npm run serve`

For more information on the `@open-rpc/docusaurus-plugin` see the [docs](https://github.com/open-rpc/markdown-gen/blob/main/packages/docusaurus-plugin/README.md) for additional configuration options.

### Testing

There are several mechanisms for testing specification contributions and client
conformance.

#### Linting

First is the [OpenRPC validator][validator]. It performs some basic syntactic
checks on the generated specification.

Expand All @@ -64,12 +74,13 @@ OpenRPC spec validated successfully.
```

#### Spec tests

Next is `speccheck`. This tool validates the test cases in the `tests`
directory against the specification. There are two npm scripts to simplify this.
directory against the specification. There are two npm scripts to simplify this.

```console
$ npm run build:test
$ npm run test
$ npm run test
all passing.
```

Expand All @@ -81,7 +92,7 @@ $ speccheck -v
```

If you get an error that says: `speccheck: command not found`,
make sure that the go binary is in your $PATH:
make sure that the go binary is in your $PATH:

```console
$ export PATH=$HOME/go/bin:$PATH
Expand All @@ -102,6 +113,7 @@ pyspelling is a wrapper around either [Aspell](http://aspell.net/) or
one of those before running `pyspelling`.

#### Hive tests

Finally, the test cases in the `tests/` directory may be run against individual
execution client using the [`hive`][hive] simulator [`rpc-compat`][rpc-compat].
Please see the documentation in the aforementioned repositories for more
Expand Down Expand Up @@ -133,14 +145,13 @@ $ npm run graphql:validate

This repository is licensed under [CC0](LICENSE).


[playground]: https://ethereum.github.io/execution-apis/api-documentation/
[openrpc]: https://open-rpc.org
[validator]: https://open-rpc.github.io/schema-utils-js/functions/validateOpenRPCDocument.html
[graphql-schema]: http://graphql-schema.ethdevops.io/?url=https://raw.githubusercontent.com/ethereum/execution-apis/main/graphql.json
[eip-1767]: https://eips.ethereum.org/EIPS/eip-1767
[contributors-guide]: docs/reference/contributors-guide.md
[contributors-guide]: docs-api/docs/contributors-guide.md
[json-schema]: https://json-schema.org
[hive]: https://github.com/ethereum/hive
[rpc-compat]: https://github.com/ethereum/hive/tree/master/simulators/ethereum/rpc-compat
[test-gen]: docs/reference/tests.md
[test-gen]: docs-api/docs/tests.md
86 changes: 86 additions & 0 deletions docs-api/api/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
---
# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
title: "Ethereum JSON-RPC Specification"
description: "A specification of the standard interface for Ethereum clients."
slug: /

---

# Ethereum JSON-RPC Specification

Version: `0.0.0`

A specification of the standard interface for Ethereum clients.


## Methods

- [`debug_getBadBlocks`](./methods/debug_getBadBlocks.mdx)
- [`debug_getRawBlock`](./methods/debug_getRawBlock.mdx)
- [`debug_getRawHeader`](./methods/debug_getRawHeader.mdx)
- [`debug_getRawReceipts`](./methods/debug_getRawReceipts.mdx)
- [`debug_getRawTransaction`](./methods/debug_getRawTransaction.mdx)
- [`engine_exchangeCapabilities`](./methods/engine_exchangeCapabilities.mdx)
- [`engine_exchangeTransitionConfigurationV1`](./methods/engine_exchangeTransitionConfigurationV1.mdx)
- [`engine_forkchoiceUpdatedV1`](./methods/engine_forkchoiceUpdatedV1.mdx)
- [`engine_forkchoiceUpdatedV2`](./methods/engine_forkchoiceUpdatedV2.mdx)
- [`engine_forkchoiceUpdatedV3`](./methods/engine_forkchoiceUpdatedV3.mdx)
- [`engine_getBlobsV1`](./methods/engine_getBlobsV1.mdx)
- [`engine_getBlobsV2`](./methods/engine_getBlobsV2.mdx)
- [`engine_getPayloadBodiesByHashV1`](./methods/engine_getPayloadBodiesByHashV1.mdx)
- [`engine_getPayloadBodiesByRangeV1`](./methods/engine_getPayloadBodiesByRangeV1.mdx)
- [`engine_getPayloadV1`](./methods/engine_getPayloadV1.mdx)
- [`engine_getPayloadV2`](./methods/engine_getPayloadV2.mdx)
- [`engine_getPayloadV3`](./methods/engine_getPayloadV3.mdx)
- [`engine_getPayloadV4`](./methods/engine_getPayloadV4.mdx)
- [`engine_getPayloadV5`](./methods/engine_getPayloadV5.mdx)
- [`engine_getPayloadV6`](./methods/engine_getPayloadV6.mdx)
- [`engine_newPayloadV1`](./methods/engine_newPayloadV1.mdx)
- [`engine_newPayloadV2`](./methods/engine_newPayloadV2.mdx)
- [`engine_newPayloadV3`](./methods/engine_newPayloadV3.mdx)
- [`engine_newPayloadV4`](./methods/engine_newPayloadV4.mdx)
- [`engine_newPayloadV5`](./methods/engine_newPayloadV5.mdx)
- [`eth_accounts`](./methods/eth_accounts.mdx)
- [`eth_blobBaseFee`](./methods/eth_blobBaseFee.mdx)
- [`eth_blockNumber`](./methods/eth_blockNumber.mdx)
- [`eth_call`](./methods/eth_call.mdx)
- [`eth_chainId`](./methods/eth_chainId.mdx)
- [`eth_coinbase`](./methods/eth_coinbase.mdx)
- [`eth_createAccessList`](./methods/eth_createAccessList.mdx)
- [`eth_estimateGas`](./methods/eth_estimateGas.mdx)
- [`eth_feeHistory`](./methods/eth_feeHistory.mdx)
- [`eth_gasPrice`](./methods/eth_gasPrice.mdx)
- [`eth_getBalance`](./methods/eth_getBalance.mdx)
- [`eth_getBlockByHash`](./methods/eth_getBlockByHash.mdx)
- [`eth_getBlockByNumber`](./methods/eth_getBlockByNumber.mdx)
- [`eth_getBlockReceipts`](./methods/eth_getBlockReceipts.mdx)
- [`eth_getBlockTransactionCountByHash`](./methods/eth_getBlockTransactionCountByHash.mdx)
- [`eth_getBlockTransactionCountByNumber`](./methods/eth_getBlockTransactionCountByNumber.mdx)
- [`eth_getCode`](./methods/eth_getCode.mdx)
- [`eth_getFilterChanges`](./methods/eth_getFilterChanges.mdx)
- [`eth_getFilterLogs`](./methods/eth_getFilterLogs.mdx)
- [`eth_getLogs`](./methods/eth_getLogs.mdx)
- [`eth_getProof`](./methods/eth_getProof.mdx)
- [`eth_getStorageAt`](./methods/eth_getStorageAt.mdx)
- [`eth_getTransactionByBlockHashAndIndex`](./methods/eth_getTransactionByBlockHashAndIndex.mdx)
- [`eth_getTransactionByBlockNumberAndIndex`](./methods/eth_getTransactionByBlockNumberAndIndex.mdx)
- [`eth_getTransactionByHash`](./methods/eth_getTransactionByHash.mdx)
- [`eth_getTransactionCount`](./methods/eth_getTransactionCount.mdx)
- [`eth_getTransactionReceipt`](./methods/eth_getTransactionReceipt.mdx)
- [`eth_getUncleCountByBlockHash`](./methods/eth_getUncleCountByBlockHash.mdx)
- [`eth_getUncleCountByBlockNumber`](./methods/eth_getUncleCountByBlockNumber.mdx)
- [`eth_maxPriorityFeePerGas`](./methods/eth_maxPriorityFeePerGas.mdx)
- [`eth_newBlockFilter`](./methods/eth_newBlockFilter.mdx)
- [`eth_newFilter`](./methods/eth_newFilter.mdx)
- [`eth_newPendingTransactionFilter`](./methods/eth_newPendingTransactionFilter.mdx)
- [`eth_sendRawTransaction`](./methods/eth_sendRawTransaction.mdx)
- [`eth_sendTransaction`](./methods/eth_sendTransaction.mdx)
- [`eth_sign`](./methods/eth_sign.mdx)
- [`eth_signTransaction`](./methods/eth_signTransaction.mdx)
- [`eth_simulateV1`](./methods/eth_simulateV1.mdx)
- [`eth_syncing`](./methods/eth_syncing.mdx)
- [`eth_uninstallFilter`](./methods/eth_uninstallFilter.mdx)

---

*Powered by [OpenRPC](https://open-rpc.org)*
Loading
Loading