December 19, 2022
Flow Ecosystem Priorities: Smart Contract Ecosystem
Flow Ecosystem Priorities: Smart Contract Ecosystem

The Smart Contract Engineering group is focused on all things related to applied design, architecture, and security considerations when using Cadence for developing decentralized applications on Flow. Specifically, the group supports the evolution of contract standards and the establishment of design patterns, guidance and methods for composability and other best practices around extensibility and security.

Showcasing Cadence’s unique characteristics and strengths

Cadence brings together several novel programming concepts in the context of decentralized application development which can be challenging for builders to understand and adjust to. Lowering these barriers through improved documentation, examples/prototypes, online articles and other research and development (R&D) expands the Cadence knowledgebase and adoption. Current priorities include:

  • Documenting how Cadence improves support for building secure and composable dApps compared to other smart contract alternatives for Web2 adopters
  • Providing advanced examples of Cadence usage across a range of domains and verticals that bring home the full potential of capability-based security, resource-oriented concepts, and the account model

Community engagement and adoption of standards

The Smart Contract Engineering group collaborates with stakeholders from across the community and Dapper Labs to establish new standards (i.e. NFT Storefront v2, and to support new proposals for standards over time.

The group works to ensure the engagement of stakeholders throughout the development of solutions such as standards, patterns, or models that simplify the work required of builders and strengthen the network effects of Flow. Efforts currently under development or consideration include:

  • Version Two (V2) Fungible Token and Non-Fungible Token standards: Involves ongoing development and discussion with the community
  • Offers standard: Will be presented as a community standard soon
  • Dynamic NFTs: R&D development to establish best practice patterns for dynamically mutable NFT metadata from the authorized external account
  • Dapp account security model: R&D development to showcase capability-based model for keyless, securely scoped, multi-account mutability on sub-accounts
  • On-chain contract based games: R&D development to showcase how to build interactive, 100% on-chain games
  • Capabilities for AuthAccount: Involves ongoing proposal discussion
  • Scoped AuthAccount: Community proposal for enabling apps and users to define rules permitting or preventing withdrawal of sensitive resources
  • DeFi swap standard: Standards FLIP, to be proposed
  • Oracle standard: Standards FLIP, to be proposed

The value of any standards, patterns, or practices to the ecosystem depends significantly on adoption rates, without which network effects remain muted. As such, this group also focuses on ensuring as smooth as possible onboarding to standards for the community. Current focus areas include:

  • Adoption of published standards to Dapper contracts across all products and tooling
  • Implementation of a V2 NFT storefront standard offering migration guidance to smooth marketplace adoption
  • Implementation of an offers standard, with Dapper wallet integration planned

The current chair of the Smart Contract engineering group is Josh Hannan and the core contributors are Dapper Labs and other independent contributors. The working group is building in public and coordinating via monthly Smart Contract Open House meetings, GitHub and community FLIPs.