tevm
v1.0.0-next.127
Published
A typesafe Ethereum Virtual Machine (EVM) toolkit written in TypeScript
Downloads
1,318
Maintainers
Readme
tevm-monorepo
Tevm is an ethereum development toolkit that offers
- Arbitrary EVM execution and forking akin to anvil
- A powerful solidity scripting environment akin to foundry scripts
- Build tooling to create a smooth interface between your Solidity scripts and TypeScript code
Tevm runs in all environments
Try it out
Try out our online frontend example on stackblitz
Visit Docs for docs, guides, API and more! 📄
Code example
Tevm scripting is a simple yet powerful way to program.
- Write a solidity script
HelloWorld.s.sol
// SPDX-License-Identifier: MIT
pragma solidity >0.8.0;
contract HelloWorld {
function greet(string memory name) public pure returns (string memory) {
return string(abi.encodePacked("Hello ", name, "!"));
}
}
- Import the solidity file into a JavaScript or TypeScript file. No need to compile it.
import { HelloWorld } from "./HelloWorld.sol";
console.log(HelloWorld.abi);
console.log(HelloWorld.bytecode);
- Initialize a Tevm memory client and execute your Script using the
tevm.script
action
import { HelloWorld } from "./HelloWorld.sol";
import { createMemoryClient } from "tevm";
const client = createMemoryClient();
const result = await tevm.script(HelloWorld.read.greate("World"));
console.log(result.data); // Hello world!
This is just a small subset of what Tevm offers. See docs for more information.
Contributing 💻
Contributions are encouraged, but please open an issue before doing any major changes to make sure your change will be accepted.
See CONTRIBUTING.md for contributing information