Search papers, labs, and topics across Lattice.
This paper introduces a novel architecture for decentralized deployment and operation of blockchain applications (dApps) that integrates DevOps best practices with Decentralized Autonomous Organizations (DAOs). The architecture extends the registry pattern to support deterministic deployments and provides a decentralized deployment framework with integration and deployment pipelines, user interfaces, and version control. The framework enables each party to implement and verify their own tests before using a newly deployed smart contract, enhancing trust and security in dApp development.
Democratizing smart contract DevOps: This architecture lets multiple parties independently test and verify smart contracts before deployment, sidestepping single-entity control.
Blockchains and distributed ledger technologies allow the operation of manifold decentralised applications (dApps). Such applications are based on smart contracts, a programmable abstraction that is executed in a decentralised manner. To ensure the correctness of smart contracts, blockchain application developers rely on DevOps practices such as automated testing and continuous integration and deployment. However, such infrastructure is often controlled by single entities. For larger blockchain applications, this issue is resolved by relying on concepts of Decentralised Autonomous Organisations (DAOs), which allow proposals to be autonomously executed once they reach a pre-defined quorum. Such a governance architecture is complex and requires integration with existing patterns for contract discovery and upgradeability. In this paper we integrate these concepts considering DevOps best-practices into a novel architecture that remains agnostic to different governance and upgrade implementations. We extend the known registry pattern to support deterministic deployments and present a decentralised deployment framework, including integration and deployment pipelines, user-interfaces, and version control integration. In our approach, each party implements and verifies their own tests before engaging in the use of a (newly deployed) smart contract. We provide a reference implementation, available as open-source, and evaluate the proposal thoroughly. Our architecture can serve as a reference for future integrations, while our open-source framework is aimed at reducing the complexity of adopting such a process in practice.