v0.1.0 - MVP
The MVP of the zink project, provides various tools for developing
EVM contracts with rust and WASM.
Binaries
| name | description | 
|---|---|
| elko | Zink’s package manager, can create and build zink project. | 
| zinkc | The zink compiler, can compile simple wasm to EVM bytecode. | 
Components
| name | description | 
|---|---|
| zinkgen | Zink code generator | 
| zinkc | Zink compiler | 
| zink | Rust library for developing program with zink | 
| zint | Basic test utils including evm wrapper for testing usages | 
| zinkup | Zink 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.