Rutile weekly news #2
This week we’ve been focusing on the Proof of Stake part of Rutile. Most of these updates are not flashy but necessary to move forward.
Rutile Virtual Machine
We’ve changed the 128-bit call value to 64-bit onward. The choice has been made since computing on 128-bit values are not natively supported on any modern computer and takes extra unnecessary time to process these values. We’ve changed the getCallValue to reflect this.
Debugging methods
Debugging WASM is a hard thing to do. With no logging methods of any kind, it’s hard to predict what is going wrong inside your code. With this change, we’ve added multiple debugging methods that allow you to see what’s going on.
- print32(num: i32). Prints a 32-bit number
- printMemHex(offset: i32, length: i32). Prints the memory in a hexadecimal format.
More methods will be added as we are going forward.
AssemblyScript API
We at Rutile use mostly AssemblyScript for our WASM modules since it’s the closest to writing JavaScript (Which Rutile is based on). For most JavaScript developers it’s still pretty hard to write WASM modules even with AssemblyScript. Because most of WASM APIs are created with memory management in mind. We want to help these developers by creating a simple to use API in order to create WASM apps in Rutile. We’ve created a wrapper that takes care of all the memory management and fiddling with storage. For example, the wrapper for storage is based on the LocalStorage API, very familiar to JavaScript developers.
We hope this allows anyone to create web apps on the Rutile platform with ease.
Milestones
In our Proof of Stake implementation milestone is a key part of the structure. Milestone can be compared to the main chain or a beacon chain. Guiding the network on what transaction should be executed first. We’ve created our first building blocks to start creating this.
- System Contracts: We’ve added support for system contracts that contains functions which are common. Such as Keccak256 and of course the signup for becoming a validator.
- Validator Contract: We’ve started with the implementation of the contract. Currently, it only deposits and assigns a slot to the given address.
This was all for now, tune in next week for more updates on Rutile and our progress!