Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
github.com/ethereum/execution-apis
The Ethereum JSON-RPC is a standard collection of methods that all execution clients implement. It is the canonical interface between users and the network. This interface allows downstream tooling and infrastructure to treat different Ethereum clients as modules that can be swapped at will.
Please see the contributors guide in docs/making-changes.md
for general information about the process of standardizing new API methods and
making changes to existing ones. Information on test generation can be found
in tests/README.md
The specification itself is written in OpenRPC. Refer to the OpenRPC specification and the JSON schema specification to get started.
The specification is split into multiple files to improve readability. The spec can be compiled into a single document as follows:
$ npm install
$ npm run build
Build successful.
This will output the file openrpc.json
in the root of the project. This file
will have all schema #ref
s resolved.
There are several mechanisms for testing specification contributions and client conformance.
First is the OpenRPC validator. It performs some basic syntactic checks on the generated specification.
$ npm install
$ npm run lint
OpenRPC spec validated successfully.
Next is speccheck
. This tool validates the test cases in the tests
directory against the specification.
$ go install github.com/lightclient/rpctestgen/cmd/speccheck@latest
$ speccheck -v
all passing.
The spell checker ensures the specification is free of spelling errors.
$ pip install pyspelling
$ pyspelling -c spellcheck.yaml
Spelling check passed :)
Finally, the test cases in the tests/
directory may be run against individual
execution client using the [hive
] simulator rpc-compat
.
Please see the documentation in the aforementioned repositories for more
information.
EIP-1767 proposed a GraphQL schema for interacting with Ethereum clients. Since then Besu and Geth have implemented the interface. This repo contains a live specification to integrate changes to the protocol as well as other improvements into the GraphQL schema.
The schema in this repo is generated by issuing a meta GraphQL query against a live node. This can be done as follows:
$ npm run graphql:schema
A script is included in the source code which reads and validates the given schema to be a valid one. It is recommended to perform this check after modifying the schema by:
$ npm run graphql:validate
This repository is licensed under CC0.
FAQs
Unknown package
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.