open-index/open-npm huggingface dataset:
npm package: @shardeum-foundation/api-specs
Description: OpenRPC specification for the Shardeum JSON-RPC API
Author: Shardeum Foundation
Latest version: 1.0.3

# Shardeum JSON-RPC API Specification

This repository contains the OpenRPC specification for the Shardeum JSON-RPC API.

## Usage

- **Explore:** Use an OpenRPC playground or tool to interact with the `openrpc.json` file generated by the build.
- **Integrate:** Use the generated `openrpc.json` to build clients or documentation for the Shardeum API.
- **Latest build:** Find the latest build artifact at `dist/build/openrpc.json` after running `yarn build` (or view the source `openrpc.yaml`).

## Linting

To check code quality and style, run:

```sh
npm run lint
```

To automatically fix fixable issues, run:

```sh
npm run lint:fix
```

If you see errors, please fix them before submitting a PR. Linting helps keep the codebase consistent and maintainable.

## Contributing

Contributions are welcome! Please follow standard GitHub practices (fork, branch, pull request).

Key areas for contribution:

- Ensuring standard Ethereum methods accurately reflect Shardeum's implementation.
- Improving descriptions, examples, and schemas.

## How it works

This repository uses a simple build process:

1.  The canonical API specification is maintained in `openrpc.yaml`.
2.  The `yarn build` script uses `merge-openrpc.js` to:
    *   Load `openrpc.yaml`.
    *   Convert it to JSON format.
    *   Merge it with the Ethereum Execution APIs OpenRPC Document
    *   Save it to `src/build/openrpc.json`.
3.  TypeScript (`tsc`) compiles `src/index.ts` (which exports the JSON spec) to the `dist/` directory.

## Publishing

On release, the specs are published to npm under the package name defined in `package.json` (e.g., `@shardeum-foundation/api-specs`).

(Details about publishing to specific documentation sites or GitHub Pages can be added here if applicable).