{"id":13409525,"url":"https://github.com/paradigmxyz/rivet","last_synced_at":"2025-05-16T14:08:03.479Z","repository":{"id":190638066,"uuid":"681833520","full_name":"paradigmxyz/rivet","owner":"paradigmxyz","description":"Developer Wallet \u0026 DevTools for Anvil","archived":false,"fork":false,"pushed_at":"2025-03-26T09:30:38.000Z","size":27295,"stargazers_count":879,"open_issues_count":14,"forks_count":77,"subscribers_count":14,"default_branch":"main","last_synced_at":"2025-04-19T16:28:38.781Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/paradigmxyz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-08-22T21:26:24.000Z","updated_at":"2025-04-15T09:15:55.000Z","dependencies_parsed_at":"2024-04-19T00:26:30.497Z","dependency_job_id":"dfacc55c-7e6f-4f80-b13b-710fdc47e16a","html_url":"https://github.com/paradigmxyz/rivet","commit_stats":null,"previous_names":["paradigmxyz/rivet"],"tags_count":60,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paradigmxyz%2Frivet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paradigmxyz%2Frivet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paradigmxyz%2Frivet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paradigmxyz%2Frivet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/paradigmxyz","download_url":"https://codeload.github.com/paradigmxyz/rivet/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254544146,"owners_count":22088807,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-30T20:01:01.636Z","updated_at":"2025-05-16T14:07:58.469Z","avatar_url":"https://github.com/paradigmxyz.png","language":"TypeScript","funding_links":[],"categories":["🛠️ Tools","dApp Development","TypeScript"],"sub_categories":["Other","Flutter SDK / Libraries"],"readme":"![cover](https://github.com/paradigmxyz/rivet/assets/1936207/5a8ddb02-c8cd-42ea-8af3-3d6e7201a29a)\n\n\u003cp align=\"center\"\u003e\u003cstrong\u003eDeveloper wallet \u0026 DevTools for Anvil\u003c/strong\u003e\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://chrome.google.com/webstore/detail/rivet/mobmnpcacgadhkjfelhpemphmmnggnod\"\u003e\n    \u003cimg alt=\"Chrome Web Store Version\" src=\"https://img.shields.io/chrome-web-store/v/mobmnpcacgadhkjfelhpemphmmnggnod\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/paradigmxyz/rivet/actions/workflows/on-push-to-main.yml\"\u003e\n    \u003cimg alt=\"GitHub Workflow Status\" src=\"https://img.shields.io/github/actions/workflow/status/paradigmxyz/rivet/on-push-to-main.yml\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/paradigmxyz/rivet/blob/main/LICENSE\"\u003e\n    \u003cimg alt=\"GitHub\" src=\"https://img.shields.io/github/license/paradigmxyz/rivet\"\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n## What is Rivet?\n\nRivet is a developer Wallet \u0026 DevTools for Anvil (akin to [Browser DevTools](https://developer.mozilla.org/en-US/docs/Learn/Common_questions/Tools_and_setup/What_are_browser_developer_tools#how_to_open_the_devtools_in_your_browser) or [React DevTools](https://react.dev/learn/react-developer-tools)). It is a browser extension that enables developers to inspect, debug, modify, and manipulate the state of Ethereum: accounts, blocks, contracts \u0026 the node itself. Rivet is also compatible with any production dApp, meaning you can simulate any type of action from either an Account attached on the Anvil instance, or by \"impersonating\" another Account on the network.\n\nBy integrating [EIP-6963: Multi Injected Provider Discovery](https://eips.ethereum.org/EIPS/eip-6963), Rivet is designed to be used alongside and with other consumer browser wallets like MetaMask or Rainbow to provide more engrained developer tooling and workflows for Ethereum.\n\nRivet is aimed to be **contributor first \u0026 friendly**. If you would like to contribute, check out the [Contributing Guide](/.github/CONTRIBUTING.md) and [good first issues](https://github.com/paradigmxyz/rivet/labels/good%20first%20issue).\n\n![screenshots](https://github.com/paradigmxyz/rivet/assets/7336481/7eb57ff3-1f47-486d-b433-6a3346ac3e4b)\n\n## Download\n\n- **Chromium (Chrome, Brave, Arc, etc)**: [Chrome Web Store](https://chrome.google.com/webstore/detail/rivet/mobmnpcacgadhkjfelhpemphmmnggnod)\n- **Firefox**: coming soon\n- **Safari**: coming soon\n\n### Nightly Release\n\nRivet is currently in active development. If you would like to try out the latest features, you can download the latest nightly build below:\n\n- **Chromium (Chrome, Brave, Arc, etc)**: [Download](https://github.com/paradigmxyz/rivet/releases/latest)\n\n\u003cdetails\u003e\n  \u003csummary\u003eSetup Instructions\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003eDownload the asset `extension.zip` from the link above\u003c/li\u003e\n    \u003cli\u003eUnzip the downloaded file\u003c/li\u003e\n    \u003cli\u003eOpen your chromium browser and navigate to \u003ccode\u003echrome://extensions\u003c/code\u003e\u003c/li\u003e\n    \u003cli\u003eEnable \u003ccode\u003eDeveloper Mode\u003c/code\u003e in the top right corner\u003c/li\u003e\n    \u003cli\u003eClick \u003ccode\u003eLoad Unpacked\u003c/code\u003e in the top left corner\u003c/li\u003e\n    \u003cli\u003eSelect the unzipped folder\u003c/li\u003e\n    \u003cli\u003eDone! You should now see the Rivet extension in your browser\u003c/li\u003e\n  \u003col\u003e\n\u003c/details\u003e\n\n## Features\n\n- **Onboarding**\n  - Set up local Anvil instance\n  - Configure \u0026 deploy Anvil instance (fork block number, fork rpc url, base fee, gas limit, etc)\n- **Anvil Node/Chain**\n  - Configure fork settings (block number, RPC URL, chain ID, etc)\n  - Configure block config (base fee, gas limit, timestamp interval, etc)\n  - Automatic sync with Anvil instance\n  - Reset instance*\n  - Deploy a new instance*\n  - Switch between instances*\n- **Accounts**\n  - List Anvil-attached and impersonated accounts\n  - View balances, nonces, and other account details\n  - Inspect, connect, and manage accounts\n  - Impersonate accounts\n  - Set balances \u0026 nonces\n  - View \u0026 set ERC20/721/1155 balances*\n  - Import Private Key/HD accounts*\n- **Block**\n  - Infinite scroll through previous blocks\n  - View block details \u0026 transactions\n  - Toggle between \"click-to-mine\", interval mining, and auto-mining\n  - Time-travelling (rewind \u0026 replay)*\n- **Contract**\n  - Read \u0026 write interactions with intuitive UI to represent ABI data structures*\n  - Inspect \u0026 set storage slots*\n  - Inspect \u0026 set bytecode*\n  - Deployment details (compiler version, optimization + runs)*\n  - Inspect contract source code*\n- **Transaction**\n  - Infinite scroll through previous \u0026 pending transactions\n  - View transaction details (including decoded calldata*, logs*, state*, and tracing*)\n  - Filter transactions by block, account, and status*\n  - Update transactions in Anvil mempool*\n- **Dapp Connections**\n  - Connect to Dapps with your Anvil (and impersonated) account(s)\n  - Send transactions, sign messages \u0026 typed data, etc\n  - Account authorization \u0026 \"Instant Connect\" mode*\n  - Transaction request modifiers (fees, nonce, etc)*\n- **Other**\n  - EIP-6963: Multiple Injected Provider Discovery\n  - Light \u0026 Dark Mode\n  - Keyboard shortcuts*\n\n\\* = Planned feature\n\n## Getting Started\n\n### 1. Clone the repository\n\nClone the repo to your local machine using git:\n\n```bash\ngit clone https://github.com/paradigmxyz/rivet.git\n```\n\n### 2. Install Bun\n\nRivet uses [Bun](https://bun.sh). You need to install **Bun v1 or higher**.\n\nYou can run the following commands in your terminal to check your local Bun version:\n\n```bash\nbun -v\n```\n\nIf the versions are not correct or you don't have Bun installed, download and follow their setup instructions:\n\n- Install [Bun](https://bun.sh/docs/installation)\n\n### 3. Install dependencies\n\nOnce in the project's root directory, run the following command to install the project's dependencies:\n\n```bash\nbun i\n```\n\n### 4. Run the dev server\n\nAfter you have installed dependencies, you are ready to run the dev server for the Extension. To do so, run the following:\n\n```bash\nbun run dev \n```\n\nThis will run a script that will build the Web Extension, start a dev server for the Test Dapp, and automatically open Chrome with a fresh profile and the extension installed.\n\n## Known Issues\n\nRivet uses the `window.ethereum` interface, which means it has some known conflicts with other wallets which also rely on `window.ethereum`. Once Dapps start to integrate [EIP-6963](https://eips.ethereum.org/EIPS/eip-6963) to handle multiple injected wallets, this should not be a problem anymore.\n\nFor best results it is recommended to run Rivet in it's own Chrome profile, without any other conflicting browser wallets installed.\n\nHelpful note: A fresh Chrome profile gets instantiated when running the dev script: `bun run dev`.\n\n## Contributing\n\nIf you're interested in contributing, please read the [contributing docs](/.github/CONTRIBUTING.md) **before submitting a pull request**.\n\n## Authors\n\n- [@jxom](https://github.com/jxom) (jxom.eth, [Twitter](https://twitter.com/_jxom))\n- [@tmm](https://github.com/tmm) (awkweb.eth, [Twitter](https://twitter.com/awkweb))\n\n## License\n\n[MIT](/LICENSE) License\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparadigmxyz%2Frivet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fparadigmxyz%2Frivet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparadigmxyz%2Frivet/lists"}