
As we enter May, it’s time to look back and reflect on everything that we achieved in the month of April. We hope that this post provides valuable insight into our latest updates.
After successfully passing an internal audit, we believe that it would be most valuable to start by sharing some of our most essential technical updates from the last month.
First of all, we made changes in the gstd library. We made msg::send* and msg::reply* functions fallible. If msg::send* and msg::reply* syscalls return error codes, the user can now handle errors that occur in the syscall on their side for example, not enough gas. We also added new syscalls msg::reply_with_gas and msg::reply_commit_with_gas to enable the possibility of making gasful replies.
Page size has become configurable. As you may know, WASM has a 64kBytes memory page size. However, in OS, this size is smaller: 4kbt for Linux and 16kbt for macOS. When lazy pages are enabled, each access to contract data leads to all WASM pages being downloaded from storage. We can reduce this by downloading only parts of the page, which is much smaller than the host’s native page. We can filter by page size, for example 4 or 16 kBytes, and store WASM data in storage by using only these parts. The reduced size of code pages in storage is 4kB now.
Another essential technical update is that messages which exceed gas allowance are now not getting skipped. Previously, we pushed messages to the end of the queue when they exceeded the gas limit for the current block allowance. However, now when we run into a message that’s gas limit exceeds the current block’s gas allowance, we still try to process the message.
If processing is successful or if it fails due to internal logic, we apply the respective changes for DB. If the execution fails due to gas allowance restrictions, we then revert everything related to the message, re-queue the message at the start of the block queue, and stop processing for the current block. This will guarantee that the next block will have a larger gas allowance which will enable the message to be processed successfully.
Let us explain this in more simple terms. Before, we had a fixed gas allowance rate per block. This could also be referred to as a “budget”. Each message has a gas limit. If the gas limit of a message does not fit into the block allowance, or “budget”, then the message would go to the back of the queue to be processed in one of the proceeding blocks. This caused several issues as it meant that messages with large gas limits couldn’t be processed successfully.
Now, with the latest update, even if a message’s gas limit is larger than the block’s gas “budget” we still send the message for processing since the actual amount of gas spent can be less than the gas limit, enabling the message to fit into the “budget”.
Last month was also full of different events for our ever-expanding community. On April 9th, Gear participated in a local meetup in Beijing organized by the Anonymous Club. The event was focused on the development opportunities & future of Web3. Technical influencers were invited to share their in-depth commentary on other blockchain projects and their personal views on the NFT market.
We also organized our first Design event, Gear Monthly Quiz; we held an AMA with Gear’s Chief Ecosystem Officer Pavel Salas hosted by @OrientusPrime. On top of this, another AMA was held for Gear’s Chinese community in collaboration with IOBC. We also held Gear Talk, an online Telegram event, where the community had the opportunity to get live updates about the Gear Network from the team themselves.
We also took part in the Web 3 Exchange Session organized by @DanteNetwork. We discussed the differences between Web 2.0 and Web 3.0 and some of the technical improvements that Web3 has brought to people’s lives. This session provided the audience with a deeper insight into the future of the internet based on the guest speaker’s thoughts.
We held various workshops around the world, including the first workshop in Turkey, which took place at the Istanbul Technical University. We also hosted our second workshop in Mexico at the University of UAM Azcapotzalco. These workshops were divided into two parts. First, a theoretical part, where participants learnt about the history of Blockchain technology & Web3. Then a practical part, where they learnt how to deploy a decentralized “Twitter” dApp using the Gear network. We also held another workshop for the Chinese community, where participants learnt how to build their DAOs.
Along with these workshops, we also hosted various meetups around the world. Gear’s first Meetup in Turkey took place at the Craft Beer Lab in Istanbul. On top of this, another meetup was organized in Mexico and this received very positive feedback from the attendees! The participants got the chance to meet members from the Gear team and learnt more about blockchain technology, smart contract development and Gear’s platform.
As always, we would like to thank all participants that attended our events. If you missed these ones, don’t worry we have a lot more to come! We will be sharing more updates next month, however to stay up to date, we recommend following us on Twitter as well.
Best regards,
The Gear Team