Skip to content
This repository has been archived by the owner on Feb 26, 2024. It is now read-only.

v7.7.7

Compare
Choose a tag to compare
@davidmurdoch davidmurdoch released this 13 Mar 23:37
· 38 commits to develop since this release
ca4a558

 Highlights   Fixes   Changelog   Known Issues   Future Plans 


A huge thanks to @MicaiahReid for all of his hard work making this release possible. We've had a vision to create "Interactive Documentation" for JSON-RPC since we started the Ganache rewrite back in April of 2019. This documentation had been 80% complete for well over a year, and as most of us know, it's the last 20% that is always the hardest. Micaiah revived this stalled docs initiative and took on the challenge of finishing up that last 20%; he decreased the "time to interactive" from dozens of seconds down to under 3 seconds, fixed tons of bugs, and polished up the interface (with the help of @OnlyOneJMJQ) for a much more usable and consistent look and feel.

We consider this a "first-pass" at interactive documentation, and we have big (top secret!) plans for this platform we hope to bring to life in the future. If you discover any issues, or have ideas on how we can improve the user experience let us know by opening a new issue.

Scroll down to the Highlights section to learn more!

If you have some time, we encourage you to browse our issues to find anything you'd like implemented/fixed sooner. Give them a +1 and we'll use this community feedback to help prioritize what we work on! Or better yet, open a new issue, or open a PR to fix an existing issue if you really want to get involved.

We've changed 29 files across 1 merged pull request, tallying 18716 additions and 4094 deletions, since our last release.


Highlights

Download high-res video with audio

We are beyond thrilled to announce the official launch of our new interactive documentation site, ganache.dev!

ganache.dev will be the new home of Ganache's documentation. We're starting with interactive JSON-RPC documentation, but we will be building on this platform to provide 100%-in-browser tutorials, examples, and how-to guides, in addition to this reference documentation.

We designed ganache.dev to be useful for advanced users, but also (hopefully) easy for those new to the JSON-RPC layer of Ethereum. If you want to help improve this new "education" initiative there are a few ways you can help:

And if you really want to help, get the word out! Here's a handy link that will draft a tweet for you:

A tweet that says: 'I don't know who needs to hear this, but ganache.dev has by far the best Ethereum JSON-RPC reference out there, super valuable!

Tweet

Happy hacking!

back to top


Fixes

fix: improve styling and performance for interactive docs (#4033)

This PR:

  • fixes the slow rendering issues of the current interactive docs by lazy-loading the monaco windows as you scroll
  • fixes some bits of buggy UI/UX
  • fixes all examples from api.ts
  • fixes links to source code (they now point to code at commit hash that generated docs [note, in development you'll have to push your changes for these links to work])
  • adds color theme switcher
  • adds themes to monaco editor to allow ganache styling
  • borrows heavily from @OnlyOneJMJQ's PR for styling (#4035)
  • improves rendering consistency for users with JS disabled
  • groups RPC methods and orders groups in a way that makes sense
  • lazy loads ganache
  • probably some other stuff

Known Issues:

  • arguments list is one string, returns are split on colon
  • non-primitive types, like Transaction, DATA, QUANTITY, etc aren't documented
  • TypeScript types for the ganache provider is not loaded into the editors
  • The console and assert helpers in the editors are incomplete implementations (and lack types)

back to top


Changelog

back to top


Known Issues

Top Priority:

  • Add eth_createAccessList RPC method (#1056)

Coming Soon™:

  • Implications failed: fork.headers -> url (#2627)
  • In Geth chain-mode, logic to accept/reject transactions based on gas price/limit should match Geth (#2176)
  • evm_mine and miner_start don't respect --mode.instamine=eager (#2029)
  • evm_setAccount* is race-conditiony (#1646)
  • @ganache/filecoin@alpha doesn't work with ganache@alpha (#1150)
  • Launching ganache with fork is throwing revert errors when communicating with 3rd party contracts (#956)
  • Build a real pending block! (#772)
  • VM Exception when interfacing with Kyber contract (#606)
  • After calling evm_mine, eth_getLogs returns same logs for all blocks (#533)
  • personal_unlockAccount works with any password (#165)
  • --db Option Requires Same Mnemonic and Network ID (#1030)

back to top


Future Plans

Top Priority:

  • Accept a genesis.json file (#1042)

Coming Soon™:

  • Switch to esbuild to make build times faster/reasonable (#1555)
  • fork specific block & specific index (#952)
  • Allow to sync forked chain to the latest block (#643)
  • Implement a streaming trace capability (#381)
  • Improve log performance when forking (#145)
  • Log contract events (#45)

back to top

Open new issues to influence what we gets implemented and prioritized.


💖 The Truffle Team