ethash - C/C++ implementation of Ethash – the Ethereum Proof of Work algorithm

  •        612

Build from source using CMake. See ethash.hpp for list of exported function and documentation.



Related Projects

ethminer - Ethereum miner with OpenCL, CUDA and stratum support

  •    C++

Ethminer is an Ethash GPU mining worker: with ethminer you can mine every coin which relies on an Ethash Proof of Work thus including Ethereum, Ethereum Classic, Metaverse, Musicoin, Ellaism, Pirl, Expanse and others. This is the actively maintained version of ethminer. It originates from cpp-ethereum project (where GPU mining has been discontinued) and builds on the improvements made in Genoil's fork. See FAQ for more details. Standalone executables for Linux, macOS and Windows are provided in the Releases section. Download an archive for your operating system and unpack the content to a place accessible from command line. The ethminer is ready to go.

cuckoo - a memory-bound graph-theoretic proof-of-work system

  •    C++

Cuckoo Cycle is the first graph-theoretic proof-of-work, and the most memory bound, yet with instant verification. Unlike Hashcash, Cuckoo Cycle is immune from quantum speedup by Grover's search algorithm. With a 42-line complete specification, Cuckoo Cycle is less than half the size of either SHA256, Blake2b, or SHA3 (Keccak) as used in Bitcoin, Equihash and ethash. Simplicity matters.

webthree-umbrella - Former home of cpp-ethereum (Oct 2015 to Aug 2016)


cpp-ethereum is the Ethereum C++ client.This repository was an "umbrella" repository which was the home for the various C++ projects betwen October 2015 and August 2016. Prior to that point all the work had happened under a single repository (cpp-ethereum), and that is where all C++ runtime development work has now returned, with solidity now being a standalone repository.

cpp-ethereum - Ethereum C++ client

  •    C++

This repository contains cpp-ethereum, the Ethereum C++ client.It is the third most popular of the Ethereum clients, behind geth (the go client) and Parity (the rust client). The code is exceptionally portable and has been used successfully on a very broad range of operating systems and hardware.

aleth - Aleth – Ethereum C++ client, tools and libraries

  •    C++

The collection of C++ libraries and tools for Ethereum, formerly known as cpp-ethereum project. This includes the full Ethereum client aleth. The Ethereum Documentation site hosts the cpp-ethereum homepage, which has a Quick Start section.

zkproofs - Zero-Knowledge Proofs

  •    C

One fundamental concern in blockchain technology is the confidentiality of the data. In order to reach consensus between all independent nodes, each node must be able to validate all transactions (for instance against double-spend), in most cases this means that the content of the transactions is visible to all nodes. Fortunately, several solutions exist that preserve confidentiality on a blockchain (private transactions, HyperLedger Fabric Channels, Payment Channels, Homomorphic encryption, transaction-mixing, zero knowledge proofs etc.). The Zero Knowledge Range Proof requires a commitment on a number by a trusted party (for instance a government committing on someone's age), an Ethereum user can use this commitment to generate a range proof. The Ethereum network will verify this proof.

dcrd - Decred daemon in Go (golang).

  •    Go

Decred is a blockchain-based cryptocurrency with a strong focus on community input, open governance, and sustainable funding for development. It utilizes a hybrid proof-of-work and proof-of-stake mining system to ensure that a small group cannot dominate the flow of transactions or make changes to Decred without the input of the community. A unit of the currency is called a decred (DCR). dcrd is a full node implementation of Decred written in Go (golang).

consensus-specs - Ethereum Proof-of-Stake Consensus Specifications

  •    Python

To learn more about proof-of-stake and sharding, see the PoS FAQ, sharding FAQ and the research compendium. This repository hosts the current Ethereum proof-of-stake specifications. Discussions about design rationale and proposed changes can be brought up and discussed as issues. Solidified, agreed-upon changes to the spec can be made through pull requests.

open-ethereum-pool - Open Ethereum Mining Pool

  •    Go

I highly recommend to use Ubuntu 16.04 LTS. First install go-ethereum.

eth-private-net - Create your own Ethereum private net

  •    Shell

eth-private-net is a simple tool that allows you to quickly setup a three-node private Ethereum network running locally on your personal computer. The tool makes initializing, starting, and connecting nodes fast and easy. The network comes with three pre-made identities (Alice, Bob, and Lily) and a tutorial that walks you through simple actions like mining and transferring Ether, and culminates with the deployment and execution of a simple smart contract called FreeBeer. I wrote this tool because I found a lot of the Ethereum tooling opaque and difficult to understand. A lot of the information that I needed to know was scattered through the documentation, and there wasn't a single place that wrapped together the most instructive examples to build my understanding. Moreover, I wanted a tool that would allow me to repeatedly reinitialize a network from a known, clean state to help me experiment with building, deploying, and running smart contracts.

MultiMiner - Graphical application for crypto-coin mining

  •    Roff

MultiMiner is a graphical application for crypto-coin mining on Windows, OS X and Linux. MultiMiner simplifies switching individual devices (GPUs, ASICs, FPGAs, CPUs) between crypto-currencies such as Bitcoin, Litecoin, Ethereum, Monero, Zcash, and more, while also allowing you to manage any mining appliances on your network (AntMiners, G-Black, Raspberry Pi controllers, Spondoolies and more). MultiMiner uses the underlying mining engine (BFGMiner) to detect available mining devices and then presents a user interface for selecting the coins you'd like to mine.

lodestar - ๐ŸŒŸ Ethereum 2.0: TypeScript Implementation of the Beacon Chain

  •    TypeScript

Lodestar is a Typescript implementation of the Ethereum 2.0 specification developed by ChainSafe Systems. Feel free to check out our meeting notes and documents on HackMD.

stratum-mining - AIO Stratum mining server for various coins

  •    Python

Stratum-mining is a pooled mining protocol. It is a replacement for getwork based pooling servers by allowing clients to generate work. The stratum protocol is described here in full detail.This is a implementation of stratum-mining for most coins. It is compatible with MPOS as it complies with the standards of pushpool. The end goal is to build on these standards to come up with a more stable solution.

blockshell - ๐ŸŽ‰ Minimal Blockchain Learning CLI

  •    HTML

A command line utility for learning Blockchain technical concepts likechaining, mining, proof of work etc. Anyone who wants to understand how blockchain technology works, then BlockShell should be a great start. Because I have created BlockShell keeping blockchain fundamentals in the center of development. With BlockShell you will actually create a tiny blockchain in your system where you can create blocks with data, explore blocks etc.

burrow - Hyperledger Burrow

  •    Go

Hyperledger Burrow is a permissioned Ethereum smart-contract blockchain node. It executes Ethereum EVM smart contract code (usually written in Solidity) on a permissioned virtual machine. Burrow provides transaction finality and high transaction throughput on a proof-of-stake Tendermint consensus engine. Project information generally updated on a quarterly basis can be found on the Hyperledger Burrow Wiki.

web3j - Connect Java and Android apps to the Ethereum blockchain

  •    Java

web3j is a lightweight, reactive, type safe Java and Android library for integrating with clients (nodes) on the Ethereum network. This allows you to work with the Ethereum blockchain, without the additional overhead of having to write your own integration code for the platform.

trust-wallet-ios - :iphone: Trust - Ethereum Wallet and Web3 DApp Browser for iOS

  •    Swift

We intend for this project to be an educational resource: we are excited to share our wins, mistakes, and methodology of iOS development as we work in the open. Our primary focus is to continue improving the app for our users in line with our roadmap. The best way to submit feedback and report bugs is to open a GitHub issue. Please be sure to include your operating system, device, version number, and steps to reproduce reported bugs. Keep in mind that all participants will be expected to follow our code of conduct.

ganache - Personal blockchain for Ethereum development

  •    Javascript

Ganache is your personal blockchain for Ethereum development. It helps to configure advanced mining with a single click, setting block times to best suit your development needs, Examine all blocks and transactions to gain insight about what’s happening under the hood,

tidy-text-mining - Manuscript of the book "Tidy Text Mining with R" by Julia Silge and David Robinson

  •    TeX

This is a draft of the book Text Mining with R: A Tidy Approach, by Julia Silge and David Robinson. Please note that this work is being written under a Contributor Code of Conduct and released under a CC-BY-NC-SA license. By participating in this project (for example, by submitting a pull request with suggestions or edits) you agree to abide by its terms.

brainflayer - A proof-of-concept cracker for cryptocurrency brainwallets and other low entropy key alogrithms

  •    C

Brainflayer is a Proof-of-Concept brainwallet cracking tool that uses libsecp256k1 for pubkey generation. It was originally released as part of my DEFCON talk about cracking brainwallets (slides, video, why). The name is a reference to Mind Flayers, a race of monsters from the Dungeons & Dragons role-playing game. They eat brains, psionically enslave people and look like lovecraftian horrors.

We have large collection of open source products. Follow the tags from Tag Cloud >>

Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.