This public library release covers RUSK, Dusk’s Smart Contract Platform. RUSK enables you to program smart contracts, power new decentralised applications (dapps), and set all kinds of parameters for compliance and control.
With the prior release of the Rusk Virtual Machine, all the components for the first zero-knowledge cryptography-friendly VM were put in place. And now, with the library release of RUSK, we ship Dusk’s Smart Contract Platform to power the creation of smart contracts, such as the Transfer Contract and the Staking Contract.
Communication is everything
The byte-bit (or binary instruction) environment of the Rusk VM is written in WebAssembly, or simply Wasm.
💡 Wasm is designed as a portable compilation target for programming languages, enabling deployment on the web for client and server applications. It is efficient, fast, safe, and part of the open web platform.
Smart contracts speak a completely different language, and to effectuate efficient use of the VM by smart contract developers on the Dusk Network, we’ve made sure to install two communication highways.
1️⃣ The Dusk-ABI handles efficient communication between the Virtual Machine and the smart contract platform. ABI stands for Application Binary Interface, and thanks to this implementation we make it possible for smart contracts to natively access Wasm host functionalities.
2️⃣ To make things a little less complicated, we’ve built a higher-level interface on top of the Dusk-ABI that enables the smart contract platform to also access host functions that are specific to our VM, and not native to WASM, which is called Rusk-ABI.
✅ Both ABIs provide consistency across the board and make it a lot easier for smart contract developers to make use of Dusk’s innovative zero-knowledge, crypto-friendly Virtual Machine, as they are not bothered with additional ZK complexities.
The RUSK library
👉 Read more about RUSK here.
💡 Interested in development on Dusk Network? Make sure to visit our Grants Page and file your application today!
The E2E RC Release schedule
The End-to-End Release Candidate is a feature-freeze, and signals the version of the blockchain protocol that we want to go live with. The Release Candidate includes various libraries, which together form the E2E Release Candidate. Alongside these announcement articles, we’ll also be increasing the specificity of the libraries being released to ensure full transparency.
👉 You can find the full schedule here.
Previously we released: