Top Related Projects
Ethereum.org is a primary online resource for the Ethereum community.
The Ethereum Improvement Proposal repository
Go implementation of the Ethereum protocol
Solidity, the Smart Contract Programming Language
Ethereum Proof-of-Stake Consensus Specifications
The "Yellow Paper": Ethereum's formal specification
Quick Overview
The ethereum/wiki repository is a collaborative platform for documenting and discussing Ethereum-related topics. It serves as a community-driven knowledge base for Ethereum developers, researchers, and enthusiasts, covering various aspects of the Ethereum ecosystem, including protocols, standards, and best practices.
Pros
- Comprehensive resource for Ethereum-related information
- Community-driven content with contributions from experts in the field
- Regularly updated to reflect the latest developments in Ethereum
- Open-source and freely accessible to all
Cons
- Content may not always be up-to-date due to the rapid pace of Ethereum development
- Quality and accuracy of information can vary due to community contributions
- Navigation can be challenging for newcomers due to the vast amount of information
- Some topics may lack depth or detail compared to official documentation
Note: As this is not a code library, the code examples and getting started instructions sections have been omitted.
Competitor Comparisons
Ethereum.org is a primary online resource for the Ethereum community.
Pros of ethereum-org-website
- More actively maintained and updated
- Better organized structure for content
- Utilizes modern web technologies for improved user experience
Cons of ethereum-org-website
- Larger repository size, potentially slower to clone and work with
- More complex setup and contribution process
- Requires knowledge of web development technologies
Code Comparison
ethereum-org-website (React component):
const Page = ({ pageContext }) => {
const { slug } = pageContext
const { t } = useTranslation()
const { language } = useI18next()
return (
<PageContainer>
<PageMetadata {...metadata} />
<Content>
{/* Page content */}
</Content>
</PageContainer>
)
}
wiki (Markdown):
# Ethereum Wiki
Welcome to the Ethereum Wiki
## What is Ethereum?
Ethereum is a decentralized platform that runs smart contracts...
## Getting Started
To get started with Ethereum, you can...
The code comparison shows that ethereum-org-website uses modern web technologies like React, while wiki primarily consists of Markdown files. This reflects the different approaches and purposes of the two repositories.
The Ethereum Improvement Proposal repository
Pros of EIPs
- More structured and standardized format for proposals
- Better version control and tracking of proposal statuses
- Easier to navigate and find specific proposals
Cons of EIPs
- Less flexible for informal discussions and brainstorming
- Higher barrier to entry for submitting proposals
- May discourage more speculative or experimental ideas
Code Comparison
EIPs:
---
eip: 1
title: EIP Purpose and Guidelines
status: Living
type: Meta
author: Martin Becze <mb@ethereum.org>, Hudson Jameson <hudson@ethereum.org>
created: 2015-10-27
wiki:
# Ethereum Improvement Proposals (EIPs)
EIPs describe standards for the Ethereum platform, including core protocol specifications, client APIs, and contract standards.
The EIPs repository uses a more structured YAML format for metadata, while the wiki uses a simpler Markdown format. EIPs provide a clearer, more standardized approach to proposal documentation, whereas the wiki offers a more flexible, freeform style for content organization.
Both repositories serve important roles in the Ethereum ecosystem, with EIPs focusing on formal standardization and the wiki providing a broader knowledge base and discussion platform.
Go implementation of the Ethereum protocol
Pros of go-ethereum
- Active development with frequent updates and releases
- Official Ethereum implementation in Go, providing a full node and mining capabilities
- Extensive documentation and community support
Cons of go-ethereum
- Larger codebase and more complex to understand for beginners
- Requires more system resources to run compared to lightweight alternatives
Code comparison
go-ethereum:
func (s *Ethereum) Start() error {
// Start up the node
err := s.node.Start()
if err != nil {
return err
}
// Start the Ethereum protocol
return s.StartEthereum()
}
wiki:
# Ethereum Wiki
Welcome to the Ethereum Wiki, a community-maintained repository of Ethereum-related information.
## Getting Started
- [What is Ethereum?](https://github.com/ethereum/wiki/wiki/What-is-Ethereum)
- [How to Install and Build Ethereum](https://github.com/ethereum/wiki/wiki/Building-Ethereum)
Summary
go-ethereum is the official Go implementation of the Ethereum protocol, offering a full node and mining capabilities. It's actively maintained and provides extensive functionality but requires more resources. The wiki, on the other hand, serves as a community-maintained repository of Ethereum-related information, making it more accessible for beginners but less feature-rich compared to go-ethereum.
Solidity, the Smart Contract Programming Language
Pros of Solidity
- Focused repository for Ethereum's primary smart contract language
- Active development with frequent updates and improvements
- Comprehensive documentation and examples for developers
Cons of Solidity
- More specialized scope compared to the broader Wiki repository
- Steeper learning curve for newcomers to Ethereum development
- Limited to Solidity-specific content and discussions
Code Comparison
Solidity (smart contract example):
pragma solidity ^0.8.0;
contract SimpleStorage {
uint256 private storedData;
function set(uint256 x) public {
storedData = x;
}
function get() public view returns (uint256) {
return storedData;
}
}
Wiki (Markdown example):
# Ethereum Wiki
Welcome to the Ethereum Wiki. This documentation covers various aspects of Ethereum, including:
- Protocol specifications
- Client implementations
- Development tutorials
Summary
While Solidity focuses on the primary smart contract language for Ethereum, providing in-depth resources for developers, the Wiki offers a broader overview of the Ethereum ecosystem. Solidity is more suitable for those specifically interested in smart contract development, whereas the Wiki serves as a general knowledge base for various Ethereum-related topics.
Ethereum Proof-of-Stake Consensus Specifications
Pros of consensus-specs
- More focused and specific to Ethereum consensus layer specifications
- Actively maintained and updated with the latest Ethereum protocol changes
- Better organized with clear separation of different specification versions
Cons of consensus-specs
- Less comprehensive in covering general Ethereum topics
- Requires more technical knowledge to understand and contribute
- May be overwhelming for newcomers due to its technical depth
Code comparison
wiki:
# Ethereum Wiki
Welcome to the Ethereum Wiki!
This is the community-maintained documentation for Ethereum.
consensus-specs:
# Ethereum 2.0 Specifications
from typing import (
List, Dict, Set, Sequence, Tuple, Optional, Union, Any
)
from eth2spec.utils.ssz.ssz_typing import (
uint64, Bytes32, Bytes4, Bytes96, Container
)
Summary
The wiki repository serves as a general knowledge base for Ethereum, covering a wide range of topics and providing introductory information. It's more accessible to newcomers but may contain outdated information.
The consensus-specs repository focuses specifically on Ethereum's consensus layer specifications. It's more technical, up-to-date, and actively maintained, but may be challenging for non-technical users to navigate and understand.
The "Yellow Paper": Ethereum's formal specification
Pros of yellowpaper
- More technical and formal specification of Ethereum
- Provides mathematical formulas and precise definitions
- Serves as the authoritative reference for Ethereum implementation
Cons of yellowpaper
- Less accessible for non-technical readers
- Updates less frequently, may lag behind latest protocol changes
- Focuses solely on protocol specification, lacks broader ecosystem information
Code comparison
yellowpaper:
\begin{equation}
\Lambda_{4}(\boldsymbol{\sigma}, g, I) \equiv \begin{cases}
(\varnothing, 0, A^0, \mathbf{o}) & \text{if} \quad w = 0 \\
((), g', \varnothing, \mathbf{o}) & \text{otherwise}
\end{cases}
\end{equation}
wiki:
## Ethereum Virtual Machine (EVM)
The EVM is the runtime environment for smart contracts in Ethereum. It is a
quasi-Turing complete machine; the quasi qualification comes from the fact that
the computation is intrinsically bounded through a parameter, gas, which limits
the total amount of computation done.
Summary
The yellowpaper repository contains the formal specification of Ethereum, written in a more academic and technical style. It's the go-to source for implementers and researchers who need precise definitions. The wiki repository, on the other hand, offers a broader range of information about Ethereum, including explanations, tutorials, and community resources. It's more accessible to a general audience but may not provide the same level of technical depth as the yellowpaper.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Wiki
:no_entry_sign: no longer actively maintained :no_entry_sign:
This wiki is a now a largely outdated collection of resources explaining the state-of-the-art in Ethereum circa 2014-2018.
Most of the material in this repository has been updated and migrated to ethereum.org.
This repository is due to be archived shortly. Please visit ethereum.org instead for current Ethereum information!
Looking to contribute to Ethereum documentation? Check out the ethereum.org repo: https://github.com/ethereum/ethereum-org-website
Top Related Projects
Ethereum.org is a primary online resource for the Ethereum community.
The Ethereum Improvement Proposal repository
Go implementation of the Ethereum protocol
Solidity, the Smart Contract Programming Language
Ethereum Proof-of-Stake Consensus Specifications
The "Yellow Paper": Ethereum's formal specification
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot