No description
  • Rust 38.8%
  • TypeScript 30.7%
  • JavaScript 15.1%
  • Just 14.7%
  • Shell 0.4%
  • Other 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2023-10-07 15:23:25 +03:00
.cargo feat: WIP local chain and integration tests (#3) 2023-10-07 12:13:26 +03:00
.github feat: WIP local chain and integration tests (#3) 2023-10-07 12:13:26 +03:00
artifacts feat: WIP local chain and integration tests (#3) 2023-10-07 12:13:26 +03:00
chainconfig feat: WIP local chain and integration tests (#3) 2023-10-07 12:13:26 +03:00
examples feat: WIP local chain and integration tests (#3) 2023-10-07 12:13:26 +03:00
monitor feat: orchestrator work by Huiqi (#9) 2023-10-07 12:17:12 +03:00
packages/typescript feat: WIP local chain and integration tests (#3) 2023-10-07 12:13:26 +03:00
schema feat: WIP local chain and integration tests (#3) 2023-10-07 12:13:26 +03:00
src feat: WIP local chain and integration tests (#3) 2023-10-07 12:13:26 +03:00
tests feat: WIP local chain and integration tests (#3) 2023-10-07 12:13:26 +03:00
.editorconfig feat: WIP local chain and integration tests (#3) 2023-10-07 12:13:26 +03:00
.gitattributes feat: WIP local chain and integration tests (#3) 2023-10-07 12:13:26 +03:00
.gitignore feat: WIP local chain and integration tests (#3) 2023-10-07 12:13:26 +03:00
architecture.png docs: Project description (#1) 2023-10-07 11:43:12 +03:00
Cargo.toml feat: WIP local chain and integration tests (#3) 2023-10-07 12:13:26 +03:00
example.env feat: WIP local chain and integration tests (#3) 2023-10-07 12:13:26 +03:00
justfile feat: WIP local chain and integration tests (#3) 2023-10-07 12:13:26 +03:00
Makefile feat: WIP local chain and integration tests (#3) 2023-10-07 12:13:26 +03:00
metadata.json feat: WIP local chain and integration tests (#3) 2023-10-07 12:13:26 +03:00
README.md docs: add meta interpreter link 2023-10-07 15:23:25 +03:00
README.old.md feat: WIP local chain and integration tests (#3) 2023-10-07 12:13:26 +03:00
rustfmt.toml feat: WIP local chain and integration tests (#3) 2023-10-07 12:13:26 +03:00
template-setup.sh feat: WIP local chain and integration tests (#3) 2023-10-07 12:13:26 +03:00

InfraLogic DAO (hackmos 2023)

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 modules protobufs. We didnt 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. Its 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 ecosystems 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 :)