A TypeScript library collection for interacting with the Ethereum blockchain via JSON RPC API.
Web3.js is a collection of TypeScript libraries that provide a comprehensive interface for interacting with the Ethereum blockchain. It implements the Ethereum JSON RPC API, allowing developers to send transactions, query blockchain data, deploy smart contracts, and manage accounts from JavaScript/TypeScript applications. It solves the problem of connecting web applications to the decentralized Ethereum network.
JavaScript and TypeScript developers building decentralized applications (dApps), wallets, or any service that needs to interact with the Ethereum blockchain. It's essential for frontend and backend engineers in the Web3 ecosystem.
Developers choose Web3.js because it's the most established, feature-complete, and well-maintained Ethereum library for JavaScript/TypeScript. Its modular design, full TypeScript support, and comprehensive coverage of Ethereum's RPC methods make it a reliable foundation for production dApps.
Collection of comprehensive TypeScript libraries for Interaction with the Ethereum JSON RPC API and utility functions.
Implements the full Ethereum JSON RPC API, allowing reliable interaction with all standard node methods for reading data and sending transactions.
Built with and for TypeScript, providing full type safety, enhanced IDE support, and reduced runtime errors in smart contract interactions.
Composed of independent packages like web3-eth and web3-utils, enabling selective imports to optimize bundle size through tree-shaking as per the README guide.
Maintained by ChainSafe Systems with active commit activity, extensive documentation, and a large community, making it a reliable choice for production dApps.
The library is being deprecated on March 4th, 2025, as stated in the README, meaning no future updates or security patches, which poses a long-term risk.
Migration from version 1.x to 4.x involves significant breaking changes, requiring substantial code rewrites and increasing maintenance overhead.
The modular architecture with numerous packages can lead to dependency hell and setup complexity, especially for beginners integrating multiple components.
This repository serves as a collection of code related to specific Ethereum research questions, primarily authored by Vitalik Buterin. It focuses on practical implementations and explorations rather than being a general repository for academic papers. The repository includes a dedicated `papers` folder containing LaTeX files for various academic publications. ## Key Features - **Research Code** — Implementation code for specific Ethereum research questions and experiments - **Academic Papers** — LaTeX source files for published academic papers in the Ethereum domain - **Vitalik Buterin's Work** — Primary repository for research code written by Ethereum's co-founder - **MIT Licensed** — Open source code available under the permissive MIT license ## Philosophy The repository is maintained as-is without active support, focusing on sharing research implementations and academic paper sources rather than providing production-ready tools or ongoing maintenance.
Casper contract, and related software and tests
zkSNARKS tutorial
Casper CBC is a Python implementation of a class of 'correct-by-construction' (CBC) consensus protocols, which includes Casper the Friendly Ghost for blockchain consensus and Casper the Friendly Binary Consensus Protocol. It provides a framework for simulating and experimenting with these protocols, which are designed to achieve safety and liveness guarantees in distributed systems. ## Key Features - **Casper the Friendly Ghost** — A blockchain consensus protocol implementation for achieving Byzantine fault tolerance. - **Casper the Friendly Binary Consensus** — A protocol for binary consensus problems in distributed systems. - **Multiple Protocol Simulations** — Supports simulations for binary, blockchain, concurrent, integer, order, and sharding consensus protocols. - **Configurable Message Passing Modes** — Includes 'rand' (random), 'rrob' (round-robin), and 'full' (all-to-all) propagation modes for experimentation. - **Visualization Tools** — Generates graphs and GIFs of simulation results to analyze protocol behavior. ## Philosophy The project emphasizes a correct-by-construction approach to consensus protocol design, ensuring safety properties are inherently guaranteed through the protocol's structure rather than added as an afterthought.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.