New Product Releases: Staking & Vesting Functionality & Keeping Up With the Latest Diem Developments

Announcements

We are excited to announce our latest product release. We have been working hard on improving our Move VM, tooling and Substrate pallets. This release will not only maintain network compatibility with the latest Diem Blockchain developments, but also add new functionality for staking, vesting and Polkadot Parachain data transfers through XCMP. We will also share some of the challenges we are facing with adopting the new Diem standard library and how we plan to solve them.

Chat with us about these updates: TWITTER | TELEGRAM | DISCORD

Move Tech

Move VM: We finished upgrading our Move VM. Given we are using our own fork of the Diem Move VM that works in a WebAssembly (WASM) runtime, we wanted to make sure that our codebase could be upgraded to the latest updates from the Diem Association without breaking backwards compatibility. In this update we also refactored native balances logic, added genesis initialization logic, allowing users to upload custom standard libraries alongside the rest of the standard library configuration like initialization of modules and accounts in the genesis block.

Move Tools: We updated our Move tooling to be compatible with the latest version of the aforementioned Move VM. This includes updates to the Dove package manager, compiler and disassembler. We also refactored the compiler, improved commands, and added more validations. For a list of all the updates, read the full version changelog.

Substrate Pallets

*New* Staking Pallet: Our Substrate node now has staking functionality (Yay! 🥳). Changes are in PR, as we first need to prepare our DevOps infrastructure for staking and restart our testnet in the near future. We had initially planned to customize the staking economic model, but we decided to adopt the standard Substrate staking and inflation model since it is optimal for our use case.

*New* Vesting Pallet: We have successfully added a vesting pallet to our Substrate node. This allows us to generate a genesis block with vested balances in PONT tokens, a useful feature for current and future investors.

Move Pallet: We will soon finish updating the Move VM pallet with the latest Move VM version. We are finalizing tests and connecting native balances after refactoring.

Parachain Functionality

We are making good progress on this feature, already achieving the milestone of implementing cross chain messaging between two parachains with XCMP evidenced by a successful test message delivered. Next, we are working on enabling basic asset transfers between parachains and resolving issues with implementing smart contract execution. A big thank you to the Parity team for helping us with this.

Challenges Adopting the Diem Standard Library

Given the more centralized permissioned architecture of the Diem Blockchain, we are running into issues adopting their new standard library. The latest release contains changes that ensure the code adheres to the regulatory compliance framework set by the Diem Association which requires a lot of functions to be called or executed only with signed permission from the Diem Root Account or Diem Treasury Accounts. This is breaking logic and compatibility for our permissionless system, since we had planned to allow for functionality to work without permissions from the treasury and root accounts.

Our plan to solve this challenge:

  1. At this current stage, we are adopting the current Diem Standard Library for our needs by temporarily losing some compatibility.
  2. At a later stage, we are going to enable language macros in our compiler that will allow our tools to disable requirements of root and treasury account signatures without changing the code of the standard library. This is similar to macros in the Rust language. This will allow Pontem to maintain compatibility with Diem. We are still researching this solution, and estimate it will take 1–2 months to develop, but as a proof of concept, we created this code snippet which creates a Virtual Asset Service Provider (VASP) account:

//#REPLACE(SIGNATURE(tc_account=TREASURY_COMPLIANCE_SIGNATURE)
// The macro disables requirements of tc_account signature (Treasury Compliance Account).public(script) fun create_parent_vasp_account<CoinType: store>(
       tc_account: signer,
       new_account_address: address,
       auth_key_prefix: vector<u8>,
       human_name: vector<u8>,
       add_all_currencies: bool
   ) {
       DiemAccount::create_parent_vasp_account<CoinType>(
&tc_account,
           new_account_address,
           auth_key_prefix,
           human_name,
           add_all_currencies
       );
   }

Looking ahead at future releases:

  1. Update our testnet with the latest Move VM and staking
  2. Update to documentation following the standard Library and Move syntax changes from the Diem Association
  3. Update our testnet user interface in the Polkadot JS app
  4. Minimum Viable Product (MVP) implementation of macros for maintaining Diem compatibility to test our hypotheses.
  5. We will soon complete research for the Pontem ↔ Diem bridge and be able to write basic token transfer / federation smart contracts. Currently given the uncertainty with the Diem business roadmap, we are not 100% certain that these smart contracts will be allowed to be deployed on the Diem Blockchain to enable this bridge, but we will nonetheless be prepared to deploy to be first to market with a working bridge.

Conclusion

In conclusion, the Pontem Network core protocol and developer tooling updates we have been working on will be the backbone of the Pontem vision. The new Move language and the tech we are building is at the forefront of blockchain innovation and we are happy to be contributing our expertise to this open source ecosystem. Our commitment to continue building the novel Substrate framework is also testament to our shared vision of a multi-chain future with Parity and Polkadot, and we will continue to share more updates on this shared vision very soon 😉. Finally we are also committing to full transparency in our technical and business challenges and how we are aiming to solve them in this shared journey with you. We do this to invite you all to get involved in our shared success, because we can’t do this alone and we believe that by staying true to the core values of trust and transparency of blockchain we will go far beyond the moon.

Our vision to become the Experimentation platform for facebook-backed Diem can only be realized with your help and support. Please spin up a node on our testnet and give our products a try. Talk to us on Telegram, Discord, or anywhere else you can find us on the Metaverse. We welcome all questions, positive feedback and constructive inputs in our journey to become the metaverse bridge from permissionless crypto to the new permissioned ecosystem that Facebook is seeding in partnership with other Diem Association members including Uber, Shopify, Kiva, and Andreesen Horowitz among others.

What’s a Rich Text element?

The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content.

Static and dynamic content editing

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila!

How to customize formatting for each rich text

Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

  1. Blockchain fees. Most NFTs are issued on the Ethereum blockchain, where you have to pay for gas. NFT minting involves a complex smart contract and thus requires a lot more gas than simply sending crypto. Plus, the gas has been very expensive in the past few months, so you can expect to pay at least $50–100 in gas fees per NFT collection.
  2. Marketplace fees. While you can issue an NFT on your own, it will be hard to promote it and find buyers. That’s why most creators work with NFT marketplaces like OpenSea and Rarible. And while minting NFTs on OpenSea is technically gasless and free, there is a gas fee to initialize a seller account and accept a bid from a buyer — expect to pay around $150 in total. On Rarible, the costs can exceed $600.
  • Facebook has almost 3 billion monthly active users, giving Diem the largest potential audience of any blockchain project on earth;
  • The stablecoin will probably get integrated into transactions on Facebook, Instagram, Messenger, and Whatsapp (shopping, paying for ads, sending money to friends etc.);
  • Facebook can afford to hire the best developers and marketers, so the execution and promotion will be top-notch;
  • Diem’s programming language, Move, is safe, flexible, and well-suited for writing smart contracts;
  • It should be possible to add third-party dApps to the Diem ecosystem — think of WeChat with its thousands of mini programs, but on blockchain.

Copyright: 2021 Pontem Technology Ltd. All Right Reserved
Privacy Policy

Subscribe

Quarterly newsletter

Please tick the relevant boxes below if you agree to receive the following marketing materials:

Thank You for Joining Us!

Your have successfully subscribed to our newsletter.
Oops! Something went wrong while submitting the form.