tevm
TypeScript icon, indicating that this package has built-in type declarations

1.1.0-next.73 • Public • Published

TypeScript programming with the full power of the Ethereum Virtual Machine

CI Version

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.

  1. 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, "!"));
    }
}
  1. 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)
  1. 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

License 📄

Package Sidebar

Install

npm i tevm

Weekly Downloads

283

Version

1.1.0-next.73

License

MIT

Unpacked Size

131 kB

Total Files

108

Last publish

Collaborators

  • fucory