Open Source Web3 Ethereum Projects
Hella Labs supports several Ethereum open-source projects. These projects specialize in test automation.
Projects:
- Foundry Anvil Testcontainers Nodejs
- Wiremock Testcontainers Nodejs
- Ethereum Transaction Explorer TUI
Foundry Anvil Testcontainers Nodejs
This repository provides a Testcontainers module for Node.js to run a customized Anvil node in your E2E tests.
This Typescript module provides a Fluent API style method of configuring and starting the Anvil node. And during your test execution, the module provides a viem test client and streamlined helper methods to interact with the node.
- https://github.com/hella-web3/foundryanvil-testcontainers-nodejs
- https://www.npmjs.com/package/@hellaweb3/foundryanvil-testcontainers-nodejs
Get started with Foundry Anvil Testcontainers Nodejs by following the steps below.
Install:
pnpm add -D @hellaweb3/foundryanvil-testcontainers-nodejs
Setup:
describe("AnvilContainer", () => {
let container: StartedAnvilContainer;
beforeAll(async () => {
const options = new AnvilOptions()
.logs.verboseLogs(LogVerbosity.Five)
.logs.jsonLogFormat()
.account.withRandomMnemonic()
.evm.autoImpersonate();
container = await new AnvilContainer(options).start();
}, 60000);
afterAll(async () => {
if (container) await container.stop();
});
});
Check out the docs for more info.
Wiremock Testcontainers Nodejs
wiremock-testcontainers-nodejs is a Typescript nodejs library that spins up a WireMock instance with Testcontainers.
It provides a fluent API to configure and start WireMock containers, including support for loading mappings and files from recorded Wiremock
sessions.
- https://github.com/hella-web3/wiremock-testcontainers-nodejs
- https://www.npmjs.com/package/@hellaweb3/wiremock-testcontainers-nodejs
Get started with Wiremock Testcontainers Nodejs by following the steps below.
Install:
pnpm add -D @hellaweb3/wiremock-testcontainers-nodejs testcontainers
Setup:
import { WiremockContainer } from "@hellaweb3/wiremock-testcontainers-nodejs";
describe("E2E Test", () => {
let container;
beforeAll(async () => {
container = await new WiremockContainer()
.withMappings("./test/__mocks__/wiremock")
.start();
}, 60000);
afterAll(async () => {
await container.stop();
});
it("should interact with WireMock", async () => {
const url = container.rpcUrl;
// Your test logic here
});
});
Check out the docs for more info.
Ethereum Transaction Explorer TUI
A terminal(TUI) Ethereum transaction explorer built with Go and the Bubble Tea TUI framework. Fetch, display and explore details for any Ethereum transaction hash using the Etherscan API V2 all in your terminal.
Built with bubbletea, bubbles, and lipgloss.
https://github.com/anataliocs/etherscan-tui-go
Help make ethereum more secure with better test automation.
Thanks for reading and supporting open source. Post your comments below!
Start the conversation