Updated 347 days ago

InfraLogic DAO

Decentralized org using logic to decide who can pitch project ideas, and then sets up the tech needed for those ideas

  • Crypto / Web3
  • DAO / Community
  • Infra / API
  • okp4

Decentralized org using logic to decide who can pitch project ideas, and then sets up the tech needed for those ideas.

Our goals

DAO for collective decentralized infrastructure deployments, with access control derived from rules leveraging semantic data. The DAO would give proposal permissions to members, based on Prolog rules asserting properties of semantic data. Proposals deploys infrastructure (SDL stored in Objectarium) on Akash.

img

We wanted to use and learn CosmWasm, Abstract SDK, OKP4, Prolog, Rust, Akash as we were working on this.

… Turns out that was overly ambitious for 24h. We learned a lot, but and also learned to fail constructively.

What we worked on

Run OKP4 local node with Abstract SDK Building DAO smart contract Integrating OKP4 smart contracts with Abstract SDK Calling the (custom) OKP4 Logic module from Abstract SDK Blockchain event watcher Deployment on Akash What was challenging

While integrating the OKP4 smart contracts with the Abstract SDK, we needed to fork the OKP4 smart contracts. We found a mismatch between the pattern required by Abstract and what was provided by OKP4. To call the OKP4 Logic module from Abstract SDK, we had to fork upon a draft PR (https://github.com/AbstractSDK/abstract/pull/41/files) of the Abstract SDK to leverage Stargate messaging with the module’s protobufs. We didn’t complete in time. Setup up for development (run local nodes, deploy and interact with smart contract). The most time consuming was setting up local node and deploying smart contracts using Abstract. The Akash deployment from a given SDL file is well documented. It’s user friendly if we config+deploy+bid manually from UI or CLI. But it takes a lot of time to automate and pipeline such procedure and integrate into our project. We wanted a decentralized solution, but Akash required an off-chain deal maker. Overall we were challenged with the onboarding into CosmWasm, Abstract SDK, OKP4, and some aspects of Rust (e.g. traits, conditional features, etc).

Takeaways and suggestions

Abstract SDK DevEx

Suggestion: more documentation needed for when integrating cw-orch with ‘non-standard’ contracts Suggestion: full tutorial for App creation OKP4 DevEx

Suggestion: consider making testnet permissionless Suggestion: consider provide a CosmWasm starter template that deploys all required contracts on [local] node Akash

Suggestion: enable decentralization via smart contracts (e.g. using IBC), such that we can have the orchestrator on-chain CosmWasm

Suggestion: Provide a Remix-like web editor to deploy easily Having to install Rust, Go, local nodes, relayers, etc is a lot. Remix provides examples to do “click and deploy” Most of our time was onboarding and setting up tools, and learning about the technologies.

We should have targeted a smaller project given our lack of experience in the ecosystem’s tech.

We were surprised at the hackathon duration. We got the info that it was going to be shorter than what we expected a few hours before the submission time.

We learned a lot :)

Links

Presentation: https://docs.google.com/presentation/d/1FEw94tVDXwXWf78L0NBdAoB4bLDL-NHJdhjUz1i5xwI Fork of OKP4 smart contracts: https://github.com/orpheuslummis/okp4-contracts/tree/dev Fork of Abstract SDK: https://github.com/orpheuslummis/abstract Branches with work on setting up and CosmWasm https://github.com/orpheuslummis/hackmos2023/tree/aeither/test1 https://github.com/orpheuslummis/hackmos2023/tree/aeither/test2 https://github.com/orpheuslummis/hackmos2023/tree/aeither/test3 https://github.com/orpheuslummis/hackmos2023/tree/test4