All Projects → MeadowSuite → Meadow

MeadowSuite / Meadow

Licence: MIT license
Integrated Ethereum implementation and tool suite focused on Solidity testing and development.

Programming Languages

C#
18002 projects
solidity
1140 projects
HTML
75241 projects
powershell
5483 projects
typescript
32286 projects
CSS
56736 projects

Projects that are alternatives of or similar to Meadow

Abot
Cross Platform C# web crawler framework built for speed and flexibility. Please star this project! +1.
Stars: ✭ 1,961 (+1456.35%)
Mutual labels:  unit-testing, netcore
Remix Ide
Documentation for Remix IDE
Stars: ✭ 1,768 (+1303.17%)
Mutual labels:  debugging, smart-contracts
Cckit
Programming toolkit for building Hyperledger Fabric Golang on-chain (chaincode) and off-chain applications
Stars: ✭ 167 (+32.54%)
Mutual labels:  unit-testing, smart-contracts
Seriality
Seriality is a library for serializing and de-serializing all the Solidity types in a very efficient way which mostly written in solidity-assembly
Stars: ✭ 105 (-16.67%)
Mutual labels:  smart-contracts, solidity-contracts
solidity-contracts
📦 Resources for the Ethereum Smart Contract Development tutorial series.
Stars: ✭ 64 (-49.21%)
Mutual labels:  smart-contracts, solidity-contracts
FluentAssertions.Web
FluentAssertions for HTTP APIs
Stars: ✭ 71 (-43.65%)
Mutual labels:  unit-testing, netcore
Hardhat
Hardhat is a development environment to compile, deploy, test, and debug your Ethereum software. Get Solidity stack traces & console.log.
Stars: ✭ 727 (+476.98%)
Mutual labels:  debugging, smart-contracts
Augmint Web
Augmint Web Frontend
Stars: ✭ 15 (-88.1%)
Mutual labels:  smart-contracts, solidity-contracts
eth option
ERC20-compatible Option Contracts
Stars: ✭ 22 (-82.54%)
Mutual labels:  smart-contracts, solidity-contracts
awesome-solidity-gas-optimization
Best resources for Solidity gas optimizations ⛽
Stars: ✭ 893 (+608.73%)
Mutual labels:  smart-contracts, solidity-contracts
Smart Contracts
Ethereum smart contracts for security and utility tokens
Stars: ✭ 1,187 (+842.06%)
Mutual labels:  smart-contracts, solidity-contracts
soldoc
A solidity documentation generator, based in NatSpec format. 📃 with standalone HTML, pdf, gitbook and docsify output ✏️ just plug and play.
Stars: ✭ 54 (-57.14%)
Mutual labels:  smart-contracts, solidity-contracts
Solidity
🔐 Ethereum smart contracts developed for the Hanzo Platform.
Stars: ✭ 46 (-63.49%)
Mutual labels:  smart-contracts, solidity-contracts
tdd roman csharp
Kata: TDD Arabic to Roman Numerals with C#
Stars: ✭ 14 (-88.89%)
Mutual labels:  unit-testing, netcore
Learn Solidity
Code base for "Learn Solidity: Programming Language for Ethereum Smart Contracts" course in Tosh Academy & Blockchain Council
Stars: ✭ 44 (-65.08%)
Mutual labels:  smart-contracts, solidity-contracts
Eosfactory
Python-based EOS smart-contract development & testing framework
Stars: ✭ 247 (+96.03%)
Mutual labels:  unit-testing, smart-contracts
Smart-Contract-Security-Audits
Certified Smart Contract Audits (Ethereum, Hyperledger, xDAI, Huobi ECO Chain, Binance Smart Chain, Fantom, EOS, Tezos) by Chainsulting
Stars: ✭ 325 (+157.94%)
Mutual labels:  smart-contracts, solidity-contracts
Colonynetwork
Colony Network smart contracts
Stars: ✭ 351 (+178.57%)
Mutual labels:  smart-contracts, solidity-contracts
EVM-Simulator
EVM-Simulator bachelor's thesis.
Stars: ✭ 36 (-71.43%)
Mutual labels:  debugging, smart-contracts
Simple-Game-ERC-721-Token-Template
🔮 Very Simple ERC-721 Smart Contract Template to create your own ERC-721 Tokens on the Ethereum Blockchain, with many customizable Options 🔮
Stars: ✭ 83 (-34.13%)
Mutual labels:  smart-contracts, solidity-contracts

Meadow

An Ethereum implementation and tool suite designed for Solidity testing and development. The unit testing framework provides fast parallelized test execution, built-in code coverage reporting, strongly typed Contract interfaces with powerful code-completion, Solidity stacktraces for reverts and exceptions, breakpoint debugging and more.

Written completely in cross-platform C# with .NET Core. Meadow can be used in VS Code, Visual Studio, and JetBrains Rider.

Coverage; Report Generator; TeamCity Coveralls codecov AppVeyor Tests Gitter

Builds Windows Status MacOS Status

Quick start

Install .NET Core SDK v2.1.4 or higher, then run these commands in a new directory for your project:

dotnet new -i Meadow.ProjectTemplate
dotnet new meadow

Open your project directory in VSCode or your favorite C# IDE.

Guides


Powerful Solidity contract development, deployment, and interaction

Provides an intuitive framework for writing C# to perform contract deployments, transactions, function calls, RPC requests, and more. Solidity source files are automatically compiled and exposed as C# classes with all contract methods, events, and natspec documentation. Includes a personal Ethereum test node that automatically is setup during test executions.

Visibility into Solidity revert / exception call stacks

Better understanding and investigation of Solidity execution problems.


Solidity Coverage Reports

Perform thorough testing of Solidity codebases. Generate HTML and JSON code coverage reports showing .sol source code coverage for line, branch, and function execution.


Solidity Debugger

vs marketplace

Solidity debugger extension for Visual Studio Code supporting breakpoints, stepping, rewinding, call stacks, local & state variable inspection.


Components

Library Description
Meadow.EVM

An Ethereum Virtual Machine that includes:
  • Instructions/opcodes, calling conventions/messages/return values, memory/stack, logs/events, gas, charges/limits, precompiles, contract creation logic.
  • Core Ethereum components: account storage, transaction receipts, transaction pool, blocks, world state, snapshoting/reverting, chain, mining/consensus mechanism/scoring/difficulty/uncles.
  • Underlying dependencies: configuration/genesis block/fork/versioning/chain ID support, modified Merkle Patricia Trees, bloom filters, elliptic curve signing + public key recovery, Ethash, in-memory storage database.
Meadow.TestNode

Ethereum "personal blockchain" / "test node" / "RPC Server" / "Ethereum client". Ran as either a standalone server or via programmatic setup / teardown during unit test execution. Supports several non-standard RPC methods for debugging, testing, and coverage report generation.
Meadow.TestNode.Host

Standalone test RPC node/server used as a command line tool.
Meadow.SolCodeGen

Tool that compiles Solidity source files and generates a C# class for each contract. All public methods and events in the contract ABI are translated to corresponding idiomatic C# methods and event log classes. Solidity NatSpec comments / docs are also translated to IntelliSense / code-completion tooltips. This nuget package can be simply added to a project and Solidity files in the project contracts directory are automatically compiled.
Meadow.CoverageReport

Generates HTML and JSON code coverage reports for Solidity source files. Uses execution trace data from the EVM.
Meadow.UnitTestTemplate

Test harness providing seamless integration between MSTest and Solidity contracts. Provides a simple workflow where Solidity source files are dropped into a unit test project and C# contract code is automatically generated. C# unit tests can easily deploy/call/transact with contracts. RPC test node servers & clients are automatically boostrapped and provided to unit tests. Code coverage reports are automatically generated after unit tests are ran.
Meadow.Cli

Tool that allows contract deployments and interaction through the command line. Solidity source files are live-compiled using a file system watcher. Can be ran against a automatically bootstrapped test RPC node or an externally configured node. Leverages PowerShell Core to a provide cross platform REPL-like environment with powerful tab-completion when interacting with contracts.
Meadow.Core

  • RLP and ABI encoding & decoding utils.
  • Implementations of Ethereum / solidity types such as Address, UInt256, Hash, etc.
  • BIP32, BIP39, BIP44, HD account derivation implementation.
  • Fast managed Keccak hashing.
  • ECDSA / secp256k1 utils.
Meadow.JsonRpc

  • .NET types for the Ethereum JSON-RPC request & response data structures.
  • .NET interface for all RPC methods.
  • Serialization for JSON/hex object formats <-> Solidity/.NET types.
Meadow.JsonRpc.Client

JSON-RPC client implementation, supported transports: http, WebSocket, and IPC.
Meadow.JsonRpc.Server

Fast and lightweight HTTP and WebSockets JSON-RPC server - using Kestrel and managed sockets.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].