EVMC
API Konektor VM-Klien Ethereum
EVMC adalah ABI tingkat rendah antara Mesin Virtual Ethereum (EVM) dan Klien Ethereum. Di sisi EVM mendukung EVM1 klasik dan ewasm. Di sisi Klien, ini mendefinisikan antarmuka untuk implementasi EVM untuk mengakses lingkungan dan status Ethereum.
Penggunaan
Dokumentasi
Silakan kunjungi dokumentasinya.
Dukungan bahasa
Bahasa | Versi yang Didukung | Kompiler yang Didukung | Dukungan Fitur |
---|
C | Bab 99, Bab 11 | GCC 8+, dentang 9+, MSVC 2017+ | Sisi host dan VM |
C++ | C++17 | GCC 8+, dentang 9+, MSVC 2017+ | Sisi host dan VM |
Pergi (binding) | 1.11+ (dengan modul) | | Hanya di sisi tuan rumah |
Karat (ikatan) ¹ | edisi 2018 | 1.47.0 dan yang lebih baru | Hanya di sisi VM |
Java (binding) ² | 11 | | Hanya di sisi tuan rumah |
- ↑ Dukungan Rust masih terbatas dan belum lengkap, namun sebagian besar sudah berfungsi. Perubahan besar mungkin terjadi pada tahap ini.
- ↑ Dukungan Java sedang berlangsung dan antarmuka tetap berubah. Perubahan besar mungkin terjadi pada tahap ini.
Alat pengujian
- evmc run (tools/evmc) — mengeksekusi bytecode dalam implementasi VM apa pun yang kompatibel dengan EVMC.
- evmc-vmtester (tools/vmtester) — dapat menguji implementasi EVM apa pun untuk kompatibilitas dengan EVMC.
Proyek terkait
EVM
- aleth-penerjemah
- Daytona
- eip1962-evmc (prakompilasi gaya EIP-2003)
- evmjit
- evmone
- Hera
- Hera.rs
- ssvm-evmc
Klien
- aleth
- core-geth (sedang berlangsung)
- erigon (dengan ulat sutera)
- evmc-js
- go-ethereum (sedang berlangsung)
- nim-evmc
- hantu (sedang berlangsung)
- pyevm (sedang berlangsung)
- piethereum (ditinggalkan)
- karat-ssvm (sisi Host Rust)
- ulat sutera
- Soliditas (untuk pengujian integrasi)
Pemelihara
- Alex Beregszaszi @axic
- Paweł Bylica @chfast
Lihat juga daftar Penulis EVMC.
Berkontribusi
Bicaralah dengan kami di obrolan EVMC Gitter.
Lisensi
Berlisensi di bawah Lisensi Apache, Versi 2.0.
Intern
Membuat rilis baru
- Perbarui CHANGELOG.md, masukkan tanggal rilis, perbarui tautan rilis.
-
git add CHANGELOG.md
. - Tandai rilis baru:
bumpversion --allow-dirty prerel
. - Siapkan CHANGELOG untuk rilis berikutnya: tambahkan bagian dan tautan yang belum dirilis.
-
git add CHANGELOG.md
. - Mulai seri rilis baru:
bumpversion --allow-dirty --no-tag minor
.