v0.1.0 - MVP

The MVP of the zink project, provides various tools for developing EVM contracts with rust and WASM.

Binaries

namedescription
elkoZink’s package manager, can create and build zink project.
zinkcThe zink compiler, can compile simple wasm to EVM bytecode.

Components

namedescription
zinkgenZink code generator
zinkcZink compiler
zinkRust library for developing program with zink
zintBasic test utils including evm wrapper for testing usages
zinkupZink toolchain installer

Functionality

We provide basic functionalities in v0.1.0 to verify thoughts, the final target of it is example fibonaaci, which means, everything used in the fibonacci example now works!

For supporting nearly everything, plz keep tuned for v0.3.0.

Arithmetic

add, sub, mul are available now, plus all comparison operand like gt, lt, ge, le, bitwise also have implementations operators like shr require the order of the stack will have bugs.

Locals

The compilation of locals currently works without any hardcode, ideally, we don’t need to refactor it in the future!

Calls

Same as locals, works without any hardcode, but some logic related to the jump table need to be refactored after introducing selector.

Control Flow

if, else, block, loop, br_if now works without any hardcode, need to add br_table, select… to align wasm MVP in the future releases.