Blocto’s co-founders Edwin Yen and Hsuan Lee joined Aptos’ Move Monday on November 14, 2022. During the event, they spoke about Blocto’s updates on Aptos and answered questions from the audience. Below is a summary of Hsuan’s talk; let’s take a look at his tips on how to grow your dApps with Blocto!
What Blocto has done on Aptos?
Blocto’s vision aligns with Aptos’ vision, which is to bring blockchain applications to the mass market.
After the Aptos mainnet launch, we launched our wallet on mobile app and web SDK. We also launched our first-ever NFT airdrop campaign #LFB two weeks ago. Within just a week, we gathered more than 300K users to claim the NFT with Blocto. The user experience was pleasant and smooth.
What’s unique about Blocto?
Blocto is special, as we focus on user and developer experience. Compared to other wallets, we make it as simple as possible for newbies. Below, listing [sic] out a few advantages to users:
- Users can sign up with their email within 10 seconds
- Users can start with a lightweight custodial system, and can switch to non-custodial later. This is possible on Aptos because of the key rotation mechanism native to the Aptos account system
- We subsidize the initial gas fee with Blocto Points for the initial transactions; they can enjoy a few free transactions without having APT in their wallet
Listing out the advantages to developers, too:
- Blocto SDK or wallet adapter can be easily integrated in [a] short period of time
- Blocto is already included in the wallet adapter by Hippo, so devs can integrate Blocto like any other wallet
Blocto’s user experience
There are two kinds of experiences for users.
With a normal browser, users will see the pure web user interface where they can just type in their email and get started right away. Within our app, users can open dApp in our in-app browser and get started directly.
For now, we have FT and NFT supported, and even tAPT. We’ll be adding more tokens soon once they’re online. Now, users can transfer their FTs and NFTs directly in the app.
Blocto’s next steps
We have the Web SDK done already, and we’re now building the Mobile SDK. Also, we’re building UnitySDK for game devs. What’s more, we’re adding APT in-app purchases via Moonpay very soon. We are also building native staking for APT and bridging BLT to Aptos soon for the ecosystem.
As for Blocto Ecosystem Fund for Aptos, we want to encourage projects to build with Blocto. Projects can easily apply, and depending on the integration, dApp performance, user base, etc., we will grant our ecosystem fund to them. We want to grow the Aptos ecosystem by bringing more devs, games, more NFTs, and more projects to Blocto to gather users into Aptoverse.
(Check out the article to apply for the Blocto Ecosystem Fund!)
About the Unity SDK
We know that a lot of gaming devs want to have Web3 functionality in their games, such as minting characters, equipment, and items as NFTs to make them tradable. This will make games more sustainable, fun, and economically incentivized. With the UnitySDK, these are [sic] possible on mobile games, desktop games, WebGL, etc. If games are built in Unity, our UnitySDK can be used to interact with our Blocto Wallet, which now already supports the iOS and Android systems, and enjoys a similar user experience since it’s embedded in the game.
As for the in-app purchase experience, there are also two paths.
[The] first path is to directly purchase through our mobile app, where users can tap the purchase icon in the asset card to buy tokens. The other path is through the Web SDK. If users have insufficient tokens in their wallets, we’ll guide them to purchase and come back to complete the process.
Further down the road, maybe there will be a possibility for native purchasing for NFTs with partners.
Speaking of native staking in Blocto—users will just have to go to their APT asset card in the app and they will see the stake button. The user interface will appear and users will be able to see all the info directly in our app and complete the staking process without navigating through all the different options.
How does Blocto create a smooth user experience on Aptos?
We are making use of two core functionalities on the Aptos account system.
The first function is the multi-sig and rotatable keys. Each Blocto wallet is a multi-sig wallet on Aptos, and there are multiple keys there. Initially, when users set up a new account, the keys will be managed in our servers. We utilize the KMS on GCP to provide security. Users use their email to log back into their accounts and send the transaction through our backend servers. But when they switch to non-custodial mode, it’s not just us sending back the keys that we stored for them, it’s that they are creating a new set of keys on their local device and then sending it to us so we can replace the ownership to their locally-generated public keys. This is possible because the keys on Aptos accounts can be rotated, which is crucial for our custodial to non-custodial conversion experience.
Another feature we are utilizing is the multi-agent transaction. When a dApp wants to send a transaction, we add a wrapping around it to make it a multi-agent transaction. We use our own operator account as the first signer, and the user’s account as the second signer. So the user’s account will be used to actually interact with the contract and store the resources, and our account will be used to pay for the transaction. So it’s still one transaction, but the user’s account does not need to have APT in their account. This allows the user to start their journey fresh, without having to go to an exchange and buy APT, send it back, then continue with the further steps.
Q: How does it work to call the actual entry function that the users intended to call from the multi-agent transaction? Most entry points only support where the signer is supposed to be giving these resources for doing the transaction.
Hsuan: We add an allow list for partners that we work with. So we know the contract name and the entry function name, and we will add a wrapping to it. So instead of sending a script function payload, we will send a script payload which is basically just a wrapper that puts our account in the first place and the user’s account in the second place, where the user’s account is used to call the entry function. So for dApp builders, they don’t really have to do anything to change their way to interact with the wallet. This wrapping happens automatically on Blocto’s side.
Q: Do you imagine maintaining that type of framework where you’re going to go through it manually to track the APIs that you want to support, or are you going to look into dynamics?
Hsuan: Currently, we’re doing it slightly more manually, where we ask the partners to provide entry functions that they will use and add it to our list. But going forward, we do want to make it more dynamic where we detect that automatically and generate a script payload. But that also comes with some risks, we don’t want our account to be used for anything else than paying for the transaction fee. So that is something we are looking into. But at the moment we are doing it more the manual way.
Q: How is Blocto supporting NFT projects?
Hsuan: For now, the Aptos NFTs are viewable in our app, and we also have the ecosystem fund. So if projects are interested in getting onboard and getting more users onto Aptos and Blocto, we will reward you with tokens! That’s how we are supporting.
Move Monday in Taiwan, come join us!
Currently, we are hosting our own Move Monday in Taiwan. It’s an in-person meetup happening every Monday in our office, where around 30 developers gather to study about Aptos and how to build on Aptos. If anyone is in Taiwan, visit our office and join!