Skip to main content

Polkadart Extension

  • Team Name: EXPERIO S M LTDA
  • Payment Address: 167QS6UiF1ZJBkHtngCBoHTSbLm4Rokc2ehfFBEniEGQXB4k (USDC)
  • Level: 2

Project Overview πŸ“„β€‹

Overview​

Polkadart is the equivalent of polkadot-js but written in Dart. Now, Dart and Flutter devs can create a wallet, manage keyring, connect to an RPC node, sign transactions, generate and use multi-sig accounts, decode and encode data, and interact with any Polkadot-based chains.

The library is already used in production environments on mobile wallets, dApps, and other applications, as can be seen by the support we have been providing to multiple people at GitHub.

Though we are very proud of what we have built, there are things that were out of the scope of the first grant, and we believe that it would be very beneficial to the community to create them. Thus, we are proposing an extension, more packages, to add to Polkadart.

Project Details​

Polkadot supports smart contracts, a powerful tool for anybody looking to make a decentralized application.

In terms of smart contracts, we are proposing:

  • Abi encode & decode
  • Support for contract metadata v0, v1, v2, v3, v4.
  • Deployment of WASM contracts
  • Send contract transactions

Additionally, we are proposing to extend the documentation significantly. We would like to create a website with many examples and tutorials and also extensive documentation on how to use the library. We do have examples and documentation on every single package, but we believe that with a reasonable amount of time, making something like https://polkadot.js.org/docs/ This would be a great addition to the community as it allows junior developers to understand the lib and the whole concept of Polkadot, allowing more people to get on board the Polkadot ecosystem.

Ecosystem Fit​

Our new goal is to allow Dart/Flutter developers from any level, even those who are just starting to learn the language or entering the Polkadot ecosystem, to interact with Polkadot-based networks and create their own solutions and applications.

According to the latest Stack Overflow Survey 2023, Flutter has already overtaken React Native as the most used framework. This means the Flutter ecosystem keeps growing in the mobile market, which is a great opportunity to attract more developers to the Polkadot ecosystem.

Team πŸ‘₯​

Team members​

  • Leonardo Custodio, Blockchain Engineer
  • Kawaljeet Singh, Flutter Developer
  • Talles Borges, Software Engineer

Contact​

  • Registered Address: Rua Cap Souza Franco, 350 - Ap 22 - Curitiba-PR - Brazil
  • Registered Legal Entity: Experio S M Ltda

Team's experience​

Leonardo Custodio

Leonardo Custodio is a Blockchain Engineer with a robust software development background. He has over three years of dedicated experience in Polkadot-related technologies and five years of experience as a Flutter developer. Currently, he is engaged in creating innovative SDKs tailored for game developers, enabling seamless interactions with blockchain systems. In his previous roles, he served as a Tech Lead at Athletico and as a Lead Mobile Developer at Inovatso.

Kawaljeet Singh

Kawal has extensive hands-on experience in Flutter and has good understanding of Polkadot’s stack and protocols. With numerous apps published on iOS and android in Flutter ranging from data-management to live appointment systems and drag-and-drop desktop designing tool, he brings good knowledge and vast skill-sets to the team. In his free time he is focused on developing Flutter tools and libraries like excel useful to ease developers work. On week-ends, he publishes complex UIs made in Flutter to showcase Flutter’s use-cases.

Talles Borges

Talles Borges is an experienced Software Engineer with over 11 years of experience. He worked across various technologies, including native iOS, Android, and C++ for game development. Talles ran his own game studio for five years, leading a team and helping the studio achieve over 100 million downloads. Currently, he works as a full-stack developer responsible for API development. Talles is proficient in blockchain technology, particularly Polkadot-related projects.

Team Code Repos​

Team LinkedIn Profiles​

Development Status πŸ“–β€‹

Not started

Development Roadmap πŸ”©β€‹

Overview​

  • Total Estimated Duration: 4 months
  • Full-Time Equivalent (FTE): 1.5
  • Total Costs: 30,000 USD

Milestone 1​

  • Estimated duration: 1 month
  • FTE: 1.5
  • Costs: 8,000 USD
NumberDeliverableSpecification
0a.LicenseApache 2.0
0b.DocumentationProvide a documentation website that the community can update
1a.Document APIExplains numerous concepts of polkadot RPC, chain state, runtime calls, transactions, all methods of the API, how to use them, why use them, what to expect, what to avoid, etc.
1c.Examples APIMake code examples using the methods that a developer would probably use for multiple use cases and scenarios.
1d.FAQ APIExplains possible errors and concepts that could cause a developer to need clarification about the behavior of an interaction.
2a.Document MetadataExplain how metadata works, how to encode and decode stuff, how they differ from networks, how to generate static types from the metadata, how to get information like constants, and how it works at a low level.
2c.Examples MetadataMake code examples using the methods that a developer would use for multiple use cases and scenarios.
2d.FAQ MetadataExplains possible errors and concepts that could cause a developer to need clarification about the behavior of an interaction.
3a.Document KeyringExplains keyring, address, ss58 formats, signature, mnemonic, multi-sig, and security best practices.
3b.Examples KeyringMake code examples using the methods that a developer would probably use for multiple use cases and scenarios.
3c.FAQ KeyringExplains keyring, address, ss58 formats, signature, mnemonic, multisig, and security best practices.

Milestone 2​

  • Estimated duration: 3 months
  • FTE: 1.5
  • Costs: 22,000 USD
NumberDeliverableSpecification
0a.LicenseApache 2.0
0b.DocumentationDocumentation into the package repository
0c.ExamplesSome simple examples of how to use it
0b.TestUnit tests for the package created
1a.Offline SignerAdds support for CheckMetadata extension
1b.ABIEncodes & decodes ABI, contract metadata v0, v1,v2,v3,v4
1c.Deploy contractImplements method into Polkadart API to deploy WASM smart contracts
2d.Read contractMethods to read the contract values and decode them into human-readable values
3e.Write contractCreate methods to send transactions to a contract
4a.Pub.devPublish the new package in Pub.dev
5a.Document SignerDocuments offline signer
6a.Document ContractsAdds extensive documentation on the website from milestone 1
7a.Examples ContractsAdds multiple examples and different approaches to doing contract interactions
8a.FAQ ContractsAdds extensive FAQ of unhappy paths and troubleshooting

Future Plans​

After this grant, we will have a complete Polkadot Dart library with all the features that the Polkadot JS library has. We will also have complete documentation and examples of using the library, making it easier for new developers to use it and the Polkadot ecosystem.

We plan to use all this to create open-source sample functional mobile apps and tutorials, increase the engagement of the Flutter lib, and build more stuff for the Polkadot ecosystem.

Additional Information βž•β€‹

How did you hear about the Grants Program?

We have already completed a previous grant.

πŸ’Ύ Work you have already done.

** Leonardo's previous work:**
Polkadart
Wallet Daemon
Daemon UI
Platform Core
Platform

Kawal's previous work:
Polkadart
AnimatedText
Protect
Tenor
Excel