Frank Dierolf
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
      • Invitee
    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Versions and GitHub Sync Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
Invitee
Publish Note

Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

Your note will be visible on your profile and discoverable by anyone.
Your note is now live.
This note is visible on your profile and discoverable online.
Everyone on the web can find and read all notes of this public team.
See published notes
Unpublish note
Please check the box to agree to the Community Guidelines.
View profile
Engagement control
Commenting
Permission
Disabled Forbidden Owners Signed-in users Everyone
Enable
Permission
  • Forbidden
  • Owners
  • Signed-in users
  • Everyone
Suggest edit
Permission
Disabled Forbidden Owners Signed-in users Everyone
Enable
Permission
  • Forbidden
  • Owners
  • Signed-in users
Emoji Reply
Enable
Import from Dropbox Google Drive Gist Clipboard
   owned this note    owned this note      
Published Linked with GitHub
Subscribed
  • Any changes
    Be notified of any changes
  • Mention me
    Be notified of mention me
  • Unsubscribe
Subscribe
<div style="display: flex; align-items:center;flex-direction: column;"> <img src="https://hackmd.io/_uploads/HyyVnQv3T.png"/> <h1>Interoperability </h1> </div> <hr style="page-break-after: always;"/> # Report - Interoperability Groupd [TOC] <hr style="page-break-after: always;"/> ## Summary We had 3 Session. This is our 4th Session. Our goal is to compare in a structured way Cardano and Polkadot. We couldn't find similar Groups, Documents who aimed the same. So we did it our self. We started with the Web3 Primitives. The first session was about Blockexplorers The second session was about Wallets. The third session was about Smart Contracts. The fourth and this session was about Review and Reshuffle. <hr style="page-break-after: always;"/> ## Session 1: Blockexplorers :::info **Participants:** Mark & Frank **Time:** Saturday 10 am (cet) - 13 am (cet) **Place:** Google Meet **Tools:** HackMD **Tasks:** 1. Quick Recap 2. Rough Outlining 3. Compared Search 4. Compared Overview 5. Compared Chainspecification 6. Compared Education for Blockexplorer 7. Compared Smart Contracts 8. Summary ::: <hr style="page-break-after: always;"/> ### Summary - Blockexplorer We started our session with a Quick Recap of Unifires in the Last Month. We decided to first tackle the Topic Blockexplorers. Our first goal was to find a nice way to start a simple comparison. We came up with dividing a Blockexplorer in diffrent functionalites. We choose one functionality after another. We showed each other how each functionality works on each chain. We made notes and discussed vividly whats going on where and why. We reshuffled our Notes and gave it some structure. In the end we wrote a quick summary. <hr style="page-break-after: always;"/> ### Blockexplorer General ```plantuml !theme plain left to right direction skinparam actorBorderThickness 1 Blockexplorer -- (search) Blockexplorer -- (overview) Blockexplorer -- (chainspec) Blockexplorer -- (educate) Blockexplorer -- (smart contract) ``` ### Ethereum ```plantuml !theme plain skinparam actorBorderThickness 1 left to right direction etherscan -- (search) etherscan -- (overview) etherscan -- (chainspec) etherscan -- (educate) etherscan -- (smart contracts) ``` - [search](https://etherscan.io/) - [overview](https://etherscan.io/) - [chain specs](https://etherscan.io/charts) - Educate - [Video](https://www.youtube.com/watch?v=nuZOZd0ZaKM) - [Written](https://info.etherscan.com/) - [smart contracts](https://etherscan.io/token/0x23cbb9f0de3258de03baad2bcea4fccc55233af0#writeContract) - [Uml](https://goerli.etherscan.io/viewsvg?t=1&a=0xba12222222228d8ba445958a75a0704d566bf2c8) ### Cardano ```plantuml !theme plain skinparam actorBorderThickness 1 left to right direction cexplorer -- (search) cexplorer -- (overview) cexplorer -- (chainspec) cexplorer -- (educate) cexplorer -- (chain selection) ``` - [search](https://cexplorer.io/) - [overview](https://cexplorer.io/) - [chainspec](https://cexplorer.io/params) - Educate - [Written - Explorer Educaiton](https://docs.cardano.org/cardano-sidechains/basics/block-explorer/) - [Video - Explorer Education](https://www.youtube.com/watch?v=8HXxQFhj8fw&pp=ygEJY2V4cGxvcmVy) - [Cardano Side-chain toolkit info](https://docs.cardano.org/cardano-sidechains/sidechain-toolkit/introduction/) - **Cardano Facts (2024-02-24):** - There is a fixed limit of 45 Billion Ada - Circulated Tokens are 30 Billion Ada - Total staked is 23 Billion Ada - Staking Ada is done without locking it up - **Cardano Extra** - [Real time transactions](https://pool.pm/) - [EUTxO visualizaition](https://eutxo.org) - [Decentralized Blockchain Interoperability protocol](https://www.wanchain.org/) - Stablecoins: - [Indigo - iusd](https://app.indigoprotocol.io/) - [Djed](https://djed.xyz/) - [Cardano "namespace service"](https://handle.me/) - [Swaping Cardano](https://minswap.org) > :information_source: Cardano Smart Contract: > Smart contracts in Cardano are divided to onchain and offchain parts. The onchain code is normally not stored on chain, but the hash of the code is used to derive the address of the contract. Transactions that wants to spend from the smart contract must provide the actual code for the contract. ### Polkadot ```plantuml !theme plain skinparam actorBorderThickness 1 left to right direction subscan -- (search) subscan -- (overview) subscan -- (chainspec) subscan -- (educate) subscan -- (smart contract) subscan -- (chain slection & XCM) ``` - [search](https://polkadot.subscan.io/) - [overview](https://polkadot.subscan.io/) - [chainspec](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fpolkadot.public.curie.radiumblock.co%2Fws#/explorer) - Educate - [Video - Explorer Education](https://www.youtube.com/watch?v=g4b4IWR6OrE&list=PLOyWqupZ-WGsnACsCmWH7PO-0paz9zlQ8&index=4) - [Written - Explorer Education](https://wiki.polkadot.network/docs/polkadotjs-ui) - [Smart Contract](https://astar.subscan.io/wasm_contract/XoarFs7ZCxen89W1suDDKrLqhVdp6uw6mmWuvZLUXfVwvre?tab=contract) - [Chain selection](https://polkadot.subscan.io/) - [XCM Dashboard](https://kusama.subscan.io/) - **Polkadot Base Information:** - There is no fixed Limit of Dot. - Total Issuance Tokens are 1.414B Dot. - Total staked is 754.759M Dot - Staking Dots locks the dot. - **Polkadot Extra:** - [Swaping Polkadot](https://hydradx.io/) <hr style="page-break-after: always;"/> ### Notes - **Notes General** - Quick Recap - [Proposal went thruh](https://cardano.ideascale.com/c/idea/112389) - Discord will be our main thiny - **Notes Ethereum** - See Extra Section - **Notes Cardano** - Consensus mechanism in Cardano is Ouroboros. - **Notes Polkadot** - Token Distribution - Extrinsic - Polkadot has no fixed Limit - consus oroborus, most likely - babes is oroborus, grandpa - subscan, polkadotJS App - Do Transaction Walkthruh - Testnet Kusama(expensive), LocalNode - Conseus Mechanism on Polkadot is Babes. Its a variant of Ouroboros. <hr style="page-break-after: always;"/> ## Session 2: Wallets :::info **Participants:** Mark, Felix, Watson, Frank **Date:** 23.03.2024, Saturday 10 am (cet) till 13:30 (cet) **Place:** Google Meet **Tools:** HackMD ::: <hr style="page-break-after: always;"/> ### Summary - Wallet We started our session with a Quick Recap of Unifires in the Last Month. We decided the main goal was to disect the topic Wallets. We encoutenterd many side topics. To Each Sidetopic we wrote Notes. After each iteration, we restructured our doings and gave it a shape. In the end we wrote a quick summary. <hr style="page-break-after: always;"/> ### Cross Talk In Cross Talk we spoke about the latest unifire happings. - Felix: Previous work and new stakeholders of Unifires - Felix: Knowledge Sharing Idea / Workshops Idea eloboration - [Example or Swarm Project ](https://catalyst-swarm.gitbook.io/df-reputation-workgroup) - Rough Roadmap could be the following - 1. Expert talks - 2. Identify most effective integration - 3. Translate integration into proposals - 4. Make incentivasatoin for work working - Felix: Identify low hanging works : Interoperability integration of Polkadot <-> Cardano - Felix: Felix particpated in occasion on the Polkadot Side. Gave a Summary. - Frank: Frank participated in sub0. Promoted Unifires. Got good Feedback. - Watson: Watson introduced himself. - Colleague of Frank - Watson is a early founder in the Ethereum Eccosystem - Familar with Polkadot and good familiary with Ethreeum - Watson is happy to be here. Intrested in Unifires Shinanagins - Frank keeps him uptodate. - Mark: Upcomming Toloise Talk and meeting. - Mark: Mark gave a quick elobration of Catalyst, the governance of cardano. ### Disection In Disection we disected the Topic Wallets. Its started as a Open Fire Round and on the go we found patterns. These patterns made similarites and diffrences clearer. We started with the Cardano Wallet, Eternal. Eternal is the most used wallet. It displays Epoch. One Epoch is 5 Days. You can manage multiple Wallets. Every Wallet can manage multiple accounts. HD Wallet means Hierachaly Determistic and thats what is used. There is alternative, single account address. There is a dashboard in Eternal. Available funds and locked funds. Locked funds just means they are locked for further staking. They still can further used. Thats a diffrence compare to the current Polkadot version. Wallet allows staking. Polkadot and cardano staking thruh pools. Cardano Address has a stake key. Stake key allows staking. Eternal allows bulk transaction. Cardano has multiple native tokens. I can register a native token via [cardano foundation](https://github.com/cardano-foundation/cardano-token-registry) There is an exchange. The excahnge shows many token. One of the [exchange](https://www.taptools.io/) There was a problem. Scam tokens were sendt. There is registery. They have maliosouc link. There is pool.pm The gist of our Journey is, there is a wallet. The wallet allows diffrent actions. The actions are the following. The Eternl wallet allows me to: - Send - Receive - Swap - Vote - Stake - See History - See Dapps Explorer - See Staking Dashboards ### General ```plantuml left to right direction wallet -- (send) wallet -- (receive) wallet -- (swap) wallet -- (vote) wallet -- (stake) wallet -- (shows history) wallet -- (shows dapps) wallet -- (shows staking) wallet -- (shows connections) ``` ### Polkadot **Rewardsystem**: (Talisman) Talisman main income is via the stakepool fees. Their default pool is the talisman pool. You are easily allowed to use diffrent pools. Talisman income via the stakepools goes back into the further development of Talisman. **Open Source**: Talisman is open source. The license is GPL. [The Repo](https://github.com/TalismanSociety/talisman-web?tab=GPL-3.0-1-ov-file) - Send: Talisman allows you to send token to diffrent addresses - Receive: Talisman allows you to receive tokens to your addresses and display them nicley - Swap: Talisman allows you to swap tokens. How the swap is actually happening is currently unkown. - Vote : Talisman doesnt do voting. Polkadot assembly or subsquare allows voting. - Stake : Talisman allows you to stake your tokens to all available chain. Its possible to stake on diffrent chains. - Shows History : Its possible to see History. Its not easy to see all transaction, because one address can have multiple sub addresses on diffrent chains. - Shows Staking: Talisman provides some overview about your stake. - Shows Connections:Talisman provides a way to see all connections that you are logged in via your wallet in diffrent sites. ### Cardano **Rewardsystem:** (Eternal) **Open Source:** Eternl is not open source. - Send: Eternl allows you to send token to diffrent addresses - Receive: Eternl allows you to receive tokens to your addresses and display them nicley, also allows generating new addresses to receive (pseudonimity). - Swap: Eternl allows you to swap tokens. How the swap is actually happening is currently unkown. - Vote: Voting can be done through Eternl. - Stake: Eternl allows you to stake your Ada, staking does not lock your Ada. - Shows History: it is possible to see History in a simple, understandable view. - Shows Staking: Eternl provides some overview about your stake. - Shows Connections: Eternl provides a way to see all connections that you are logged in via your wallet in diffrent sites. - Exchanging tokens directly through Eternl via DEX: - Eternl uses some aggregators (like DexHunter and MuesliSwap), that collects quotes from multiple DEX-es and chooses the best. - Eternl does not adds a percentage on the exchanges initiated, only the aggregator adds its own fees. **Notes:** Stakepool Operations https://www.titanstaking.io/ Funded Proposals in Catalyst https://projectcatalyst.io/search?q=eternl ### Ethereum **Rewardsystem:** (Metamask) - Metamask takes a percentage of the transactions for itself to fund development (Felix, is this right?). - Exchanging tokens directly through Metamask: - Metamask collects quotes from multiple DEX-es and chooses the best. - Metamask also adds a percentage on the exchanges initiated as "provider" fee (on top of the DEX fees). <hr style="page-break-after: always;"/> ### Notes #### Governance In Governance we spoke quickly how diffrent eccosystem are oganise funding. - Ethereum via Ethereum Foundation - You write a proposal and a commitee votes for it - Unkown how the comittee is selected - Cardano via Catalyst - You go to ideascale and create a proposal to release funds for implementing a specific project - Ada holders vote with the weight of their Ada - Polkadot via OpenGov - You go to polkaassemly and ask the community to vote with their Dot - Governance logic sits in the governance pallet (have to check) #### Question Watson In Question Watson we elobrate diffrent question from Watson. - Unifires is a collarbarotion across Eccosystem - Currently cardano & Polkadot - No rivaly - 1. What is pledgin system? - 2. Is there a centralised Propsal form input? Whats has to be in - 3. What is the current onbarding? - We elobrated template creation for cross funding, cross communication, corss, is most likely new. #### Handle and Identiy There are solution for Handles and idently. A handle is a mapping of address to a understanble text. 0x389040 -> frank.dotdotcard A Identiy is about identify the person via diffrent process. **Identiy** - In polkadot we are asking Dudley. Kilt main dev. - Polkadot we have kilt. Kilts main topic is Identiy - Polkadot has identity in polkassembly. It works via stake dots and safe a handle. - In Cardano we are ask Intersect & Sanchonet, IAMX & NMKR, CF dev team Catalyst - In Cardano we have [Identify from the Foundation](https://identity.cardanofoundation.org/) - Cardano f.e [linko](httkps://identity.cardanofoundation.org/) - IOHG atopia identiy, quite new, **Handle** - Ethereum [ENS](https://ens.domains/) - Polkadot we have azero. Azero main topic handle. - Polkadot azero.id sits on Aleph Zero. not well intregrated yet. - Cardano Name Service, [CNS](https://cns.space/) #### Eccosystem Start - In polkadot we started with Entity parity - For polkadot overall in the end the enity parity should become absolutat - In cardano we started with Input Output Hong Kong, was renamed to Input Output Global. - For cardano overall in the end Input Output Global should become absoute. #### Stakepools - On Cardano the ideal number of validator nodes are around 500. - A validator get rewards for minting blocks. - With more delegated Ada, validators has more chance to be selected for block production. - But after the pool "saturates" (the delegated Ada amount reaches a certain threshold, the returns diminish significantly to incentivize the distribution of delegated Ada. - We have staking dashboards - On Polkadot we have [staking.polkadot](https://staking.polkadot.network/#/overview) - On Cardano we have [pool.pm](https://pool.pm/ ) and [cexplorer](https://cexplorer.io/pool) - We have staking dashboards in the wallets #### Licences There are many licenses. Common Problem of Eccosystem that Projects claim to be open source. But Open source is a vague subject. This is a common issue. <hr style="page-break-after: always;"/> ## Session 3: Smart Contracts :::info **Participants:** Mark & Frank **Time:** Saturday 10 am (cet) - 13 am (cet) **Place:** Google Meet **Tools:** HackMD **Tasks:** 1. Quick Recap 2. Introduction of Smart Contracts 8. Summary ::: <hr style="page-break-after: always;"/> ### Summary - Smart Conracts - We \<Verb\> about \<Noun\> <hr style="page-break-after: always;"/> ### Introduction Smart Contracts (Cardano) The original language/technology is called Plutus (named after the Greek god of wealth). Plutus compiles to UPLC (untyped plutus core) bytecode. Languages that compile to UPLC: - Haskell (specific subset) - Plutarch (Haskell library) - Aiken (https://aiken-lang.org/) (getting more and more "exposure") - Pluto (not widely used) - Plu-ts (typescript library) - Helios Plutus Pioneer program: IOG organized learning course. <hr style="page-break-after: always;"/> ### Notes **FFP vs OOP** - Easy to rationalize, easier to proof, easier to scale more bugfree - Speaking to a mathematician, specific, runs what i say it runs - OOP game thingy thinking fits well - OOP comes from UI (smalltalk invited that) - OOP went nuts 199X and it was thee thiiing, then everyone realized doesnt not fit all problems, DesignPatterns invention time, .. **Education** - [Plutus Pioneer Program](https://docs.cardano.org/pioneer-programs/plutus-pioneers/) - [Giovanni videos](https://www.youtube.com/watch?v=z5_1WiVc3aA) - [Plutonomicon](https://github.com/Plutonomicon) - [Plutus repo](https://github.com/input-output-hk/plutus) - [Cardano Ledger repo](https://github.com/input-output-hk/cardano-ledger) - [Plutus Apps](https://github.com/input-output-hk/plutus-apps) **Formal verification** - Coq - Languages used in Coq source files: Vernacular, Gallina, Ltac. - Use cases of formal verification/formal methods. - Formal verification is the process of prooving properties of an already existing program. - Formal methods is a way to create programs that are formally verified. - Strong use cases for formal methods/verifications: - Healthcare - Automotive - Finances (blockhain!) **Stack VMs vs Lambda Calculus Based vms** - Stack based vms mainly operate on values stored in a stack. [https://www.evm.codes/playground] - Currently only one blockchain uses a lambda calculus based vm: Cardano. - Lambda calculus based vm is easier to reason about => formal verification **Dependent Types** - Types that can depend on values are called dependent types. - Haskell does not have dependent types, Coq has, so value and types live in the same "universe". **Setting up nix and nix flakes** - (nix)[https://nixos.org/download/] - (nix flakes)[https://nixos.wiki/wiki/Flakes] **Cabal, Haskell, GHC, Stack** - Cabal is the canonical package manager and build system for Haskell. - Stack is a newer build system, it uses cabal under the hoods. **Example of datum** - https://cardanoscan.io/transaction/352037be78ea223514d3982f1a06186b1d4036046c14245d4be8e0aa62f698a2?tab=utxo **Aiken** - (Aiken language)[https://aiken-lang.org] **Undocumented Sidenotes** - deterministic transactions - blockchain state in Cardano - Validation if transactions - Plutus versions - Data types - Validation script are passive in Cardano - Stacks - smart contracts for Bitcoin <hr style="page-break-after: always;"/> ## Session 4: Review Doing & Think :::info **Participants:** Watson & Frank **Time:** Sunday 6 am (cet) - 9 am (cet) **Place:** Google Meet **Tools:** HackMD **Tasks:** 1. Outline of current Doings 2. Decalare goal of Report 3. Sidejourney: Exchanged 3D Topic 4. Questionair Watson of Unifires 5. Split in 2 Main Task - Reshuffle previous doing - Craft Q&A Source 6. Write Summary ::: <hr style="page-break-after: always;"/> ### Summary - Reshuffle Franks goal for Session 4 is to give our current doings a shape which leads to a concrete outcome. We looked thruh our previous documents. On the Journey questions of Watson appeared. Watson came up of creating a quick Draft of a Q&A to give the Idea of Unifires a small source Information. We splitted our Doings in 2 parts for Session 4. - Reshuffeld current doings. - Crafting a Q&A Source. <hr style="page-break-after: always;"/> ### Reshuffle Session 1-3 1. Throw everything in one Document. 2. Throw a structure around it to unify. 3. Write extract structure down ### Extract Structure #### 1. Landing Page ```md <div style="display: flex; align-items:center;flex-direction: column;"> <img src="https://hackmd.io/_uploads/HyyVnQv3T.png"/> <h1>Interoperability </h1> </div> <hr style="page-break-after: always;"/> <img src="https://hackmd.io/_uploads/By3udS3A6.png"/> ``` #### 2. Table of Contents ```md [TOC] ``` #### 3. Every Session starts with the following box ```md :::info **Participants:** Participant A, Participan B, **Time:** TimeX - TimeY - Total Hours **Place:** PlaceOfMeetX **Tools:** ToolX **Tasks:** 1. TaskA 2. TaskB 3. TaskC 4. ... ::: ``` #### 4. Every Session has a Summary. ```md ## Summary - <SessionTopic> We <Verb> about X. f.e. We spoke about the last doings. We wrote Text about XYZ. We disected XYZ. We chatted about XYZ. We wrote a Summary. Feel free to sumarize in whatever way possible. Its is just a suggestion. ``` #### 5. Every Sessio should have Understandable Structure ```md f.e. ## My Great Topic A ... ## My Great Topic B ... ## Comparision of Topic A and Topic B ... ``` #### 6. Every Session has sidejourney. Sidejourney can be caputured in Notes. ```md f.e. ### Notes #### Sidejourney: Topic X - Bullet A - Bullet B - Bullet C - ... #### Sidejourney: Topic Y - Bullet A - Bullet B - Bullet C - ... ``` #### 7. After Each Session, reshuffle the notes make it nicey. ```md - Use **MARKDOWN** to structure text. - Use Headings for Topics - Use Bold to enhance a word or avoid a Heading - Use Bullet points for quick count - Use Tables, if it fits. Looks nice. - Use Codeblocks, if it fits. - Use Diagrams via mermaid / plantuml to avoid text add pictures - Use Links to throw discussed content **Important:** Something is bigger then Nothing. Just something is nice to have. ``` <hr style="page-break-after: always;"/> ### Crafting a Q&A Source We crafted a common FAQ for the Unifires Group. Watson had a fresh mind and so he had the best Commonly asked question. So we crafted a quick Questionair. Question have to be filled out by: | Name | Eccosystem | Notes | |:------ |:------------------ |:------------------------------------------- | | Tomi | Cardano & Polkadot | Initialiser of Unifires & Double Ambassador | | Felix | Cardano | Singularity .net | | Peter | Cardano | | | Mark | Cardano | Cardano Developer | | Frank | Polkadot | Polkadot Developer | | Linda | Polkadot | Kodadot | | Viktor | Polkadot | Polka Hungary | **1. What is the purpose of Unifires?** - Tomi: - Felix: - Peter: - Mark: - Frank: Unify eccosystems. - Linda: - Victor: **2. What do you want people to know?** - Frank: I don't get the quesion. I like the multichain Idea. We will have diffrent chains for diffrent reason to redefine "ownership". Ownership is the underlining Theme on every chain. **3. What resources does Unifire provide to the community** - Frank: An competent & agnostic view on the Technology Blockchain. **4. What are the requirements for developers to join and participate?** - Frank: Currently every Developer can join but from a Technology perspective, I think a good undertanding of the Topic is from Benefits. In my area it gets quite nerdy quite fast. **5. What level of experience do you want people to have before joining?** - Frank: 2 years of Software Development sounds like a solid to me currently. I think The question sets the underlying premise that you have to be a Developer to join and this premise is not true. But from a Tech Side, thats my answer. **6. How will people contribute to growing the alliance of developers?** - Frank: Join the Discord. Lets see. But in my eyes its more for Builders not just for Developer. Blockchain is tech heavy but nothing gets used if only Techies do their Techy things. ^^ **7. How frequent do people need to be notified of progress/events/meetups** - Frank: Uff, Currenlty I think a good source is the YT Channel and watch the monthly report. **8. Will Unifire host physical meetups or only online events?** - Frank: I think if physical meetups then not under the umbrella unifires more under the umbrella crypto in general. **9. What are the long term plans for self sustaining** - Frank: In my opinion, selling things is the most sustainable option. Our current source is unique insights, skills and knowledge. This can be shape in diffrent kind of products. But for the first go, treasuy sounds solid. **10. What existing infrastruture and resources are availabe for developers.** - Frank: There are plenty of ressource for diffrent eccosystem but a good unified source is missing in my eyes. In the frontend world we have this here. [Component Party](https://component-party.dev/). **11. What technical requisites are needed to understand the online events?** - Frank: Good question. Having a grasp of crypto helps. I guess. **12. Is there a focus on social impact for everyday people?** - Frank: Democratize Financial instiution is one of the core principle of crypto in general. Not certain where does this question is aiming towards. **13. What is the mission statement for Unifires?** - Frank: Vision is unify eccosystem. Mission is create Place for chain agnostic people I guess. Vision is quite set, Mission is work in progress. **14. Is there going to be a centralized account that handles media?** - Frank: Yes, ask felix, he is the guy. : ) **15. Is there going to be a media group in Unifires?** - Frank: No clue what you mean. I guess no. **16. Will this be open sourced?** - Frank: I like open source, its publicy funded anyways so I assume everything will be open source. Should be discussed, I assume. **17. Will this be used to onboard people into crypto/blockchains?** - Frank: What is this? : D **18. Will this be used for governance and consensus between blockchains?** - Frank: If we nail down a specific outcome, then this outcome should be a great source for multi chain governance. **19. Where will this grow and go and become?** - Frank: Keep going, make things move. I love the people the rest i figure out on the road. **20. What is your long term vision with this?** - Frank: unify eccosystems. <hr style="page-break-after: always;"/> ### Notes - Watson found Unifires interesting. - Watson want to write about it. - Watson is new. - Best way to unerstand it clearly is to ask. - Watson creates an Articles about Unifires and their doings for normal people. Complete Sentence: This Markdown is to create a consensus of the purpose, adoption and focus of this group. The rough purpose is: This will create a general weekly newsletter/summary of each article, and then articulated towards the specific ideal audience. Business development questions: For each founding blockchain ecosystem, please respond with your personal/blockchain perspective (UNBIASED TO OTHER RESPONSES) **UNIFIRES** **Introduction** Unifires is an alliance of developers building on chain, uniting dApplications cross function between chains **Problem** - There is no community or organization that unifies development work together - There is no communal efforts in building dApps - There is no global structures for developers - There is minimal/nonexistinant sense of community or alliance beyond blockchains - Crypto isn't as inclusive for people as desired **Idea** - Unifires develops an organization, alliance, and community to tackle unnecessary development for dApps - Unifires connects together developed and functional systems cross chain to decline wasteful development - Unifires creates a community for Web3 that goes beyond any blockchain - Unifires creates a social movement that helps developers collaborate beyond borders - Unifires provides technical overviews of blockchains by their similarities, differences, and ways of bridhing technology - Unifires creates governance between blockchains **Solution** - Unifire - to organize and develop crosschain governance through communities and social efforts. - Organize systems and existing viable applications to reduce reiteration between developers ## Session 5: Smart Contracts :::info **Participants:** Mark & Frank **Time:** Saturday 10 am (cet) - 13 am (cet) **Place:** Google Meet **Tools:** HackMD **Tasks:** 1. Review past Week 2. Dive into ink! Smart Contracts 3. Adjust nix template 4. Explored Nodes, Variables and Functions 5. Scratch out a basic Contract - Ideate - Write - Build - Deployed 6. Write Summary ::: <hr style="page-break-after: always;"/> ### Summary - ink! Smart Contract In todays Session we started were we left of. In the last session we troubled thruh a nix setup with ink. We solved the Issue and continued. We installed substrate contracts node. Explored diffrent substrate template. We created a new ink file. `cargo contract new abc` We builded the boilerplate. We discussed the compiled outcome. We deployed it `cargo contract instaniate --suri //Alice --args true` We explored a bit of Aiken. We discussed diffrent deployment chains, alias looked thruh use.ink. We explored inkathon. Setup the Boilerplate. Explored the configuration. Took a deeper look in how to call a contract from the frontend via the Boilerplate. We discussed Bali Blockchain Center and a possible Cardano Presence. ### Notes We created Notes. We lost the notes. ## Session 6: Smart Contracts :::info **Participants:** Mark & Frank **Time:** Sunday 10 am (cet) - 13 am (cet) **Place:** Google Meet **Tools:** HackMD **Tasks:** 1. Review past Week 2. Set up nix for aiken 3. Create a new aiken project, went thruh the structure 4. Elobrorate a validator and went thruh naviagtion of docs 5. Build flipper step by step, explaination after explanation. ::: ### Summary Today we focused on aiken. First we setup a nix aiken development setup. We spoke about the Folder Structure. We created a Valdiator. We spoke about the spend function. We created a Flipper Contract. We discussed all keywords that are neccessary to build it. We went thruh the underling arcitecutre with excalidraw. We looked at real life Token Contracts. We called it a day. That was not less. Next up. Create Tokens. After it, DAPP Architecture. ### Link Pot - [Unifires ](https://projectcatalyst.io/funds/11/cardano-open-ecosystem/polkadot-cardano-unifires) ### Aiken Smart Contracts - Aiken home page: https://aiken-lang.org/ ```aiken // Import necisities use aiken/transaction.{ScriptContext, Spend, InlineDatum} use aiken/list.{find,count} // runs on validator validator { // validator calls spend if its declared // It always has 3 inputs, that can be used // datum, reedemer, ctx fn spend(datum: Bool, _redeemer: Data, ctx: ScriptContext) -> Bool{ // we extract the out_ref out of the purpose. // The purpose has 4 Cases. expect Spend(my_out_ref) = ctx.purpose // I grep my spended input from my UTXO expect Some(my_input_spend) = find(ctx.transaction.inputs, fn(x){ x.output_reference == my_out_ref }) // We limit the outputs to one. So we count all outputs and check in the end. let count = count(ctx.transaction.outputs, fn(x){ x.address == my_input_spend.output.address }) // We require(solidity) that it has to be one expect count == 1 // I iterate thruh outputs, which will be created if transaction is included in the chain. expect Some(my_output_created) = find(ctx.transaction.outputs, fn(x) { x.address == my_input_spend.output.address}) // I extract my datum out of my UTX Output expect InlineDatum(my_output_created_datum) = my_output_created.datum // I convert it to a bool expect my_new_flip: Bool = my_output_created_datum // I validate that my datum is fliped. I check if its diffrent. datum != my_new_flip } } ``` ![Cardano flipper tx](https://hackmd.io/_uploads/B1SDQdMbA.png) ## Session 7: Create Aiken Token :::info **Participants:** Mark & Frank **Time:** Sunday 10:30 am (cet) - 12 am (cet) **Place:** Google Meet **Tools:** HackMD **Tasks:** 1. Review past Week (Tolouse) 2. Create Token 3. Exploration of token registry 3. How to work with valdiator arguments 4. Creating minting policies 5. Set topic for next ::: ### Summary Today is a shorter session. We made a review of our week. - There was Tolouse happening. A Cardano Developer Conferene. It was glorious. - Discussed franks current `burn burn boom` ink contract. We continued on aiken. - We reviewed cup contract from last time. - We created minting validator and explored more available data in aiken. - We look at token registry, and how to navigate. We discussed first NFT's (rock). We decided next up we will use `lucid` or `mesh` to work with the contract in some kind of client side way. ### Code ```aiken use aiken/hash.{Blake2b_224, Hash} use aiken/list.{any, has} use aiken/transaction.{OutputReference, ScriptContext} use aiken/transaction/credential.{VerificationKey} validator { fn mint_all(_redeemer: Data, _ctx: ScriptContext) -> Bool { // Only can mint one True } } // runs on validator validator(utx_ref: OutputReference) { fn mint_one(_redeemer: Data, ctx: ScriptContext) -> Bool { // Only can one mint ctx.transaction.inputs |> any(fn(x) { x.output_reference == utx_ref }) } } validator(utx_ref: List<Hash<Blake2b_224, VerificationKey>>) { fn glorious_mint(_redeemer: Data, ctx: ScriptContext) -> Bool { // Only can mint one ctx.transaction.extra_signatories |> any(fn(x) { has(utx_ref, x) }) } } ``` ### Session 8: SmartContract Polkadot Deeper Dive :::info **Participants:** Mark & Frank **Time:** Saturday 10:00 am (cet) - 12:30 am (cet) **Place:** Google Meet **Tools:** HackMD **Tasks:** 1. Review past Week 2. Show current problems 3. Dived into ink Contracts 4. Zombienet ::: ### Summary Today we started our session with inspecting our current issues. Mark already had for FrankIsssues some Ideas. So we defined our todays session of `ink deeper dive`. We went thruh availabe documentation and explored smart contract development process. We discussed upload vs instantiation. We explored how to make a ContractLibary full of References of other Contracts. We explored functional pattern and why they are great for distrubted networks. We explored rust specific features of how to work with storage mappings. A Tricky one was the resize array functionality which was needed for a solution. We explored Zombienet and briefly lookd how to spin up a polkadot network locally. We discussed how bridging of Cardano and Polkadot might work. ### Code - [Refrence Project](https://github.com/SIOCODE-Open/not-a-bird/tree/main/packages/contracts/version_3) - [Zombienet](https://github.com/paritytech/zombienet) - [XCM Demo](https://github.com/OAK-Foundation/xcm-demo/) ### Session 9: Client Call Aiken (upcomming) Notes: https://lucid.spacebudz.io/docs/getting-started/mint-assets/

Import from clipboard

Paste your markdown or webpage here...

Advanced permission required

Your current role can only read. Ask the system administrator to acquire write and comment permission.

This team is disabled

Sorry, this team is disabled. You can't edit this note.

This note is locked

Sorry, only owner can edit this note.

Reach the limit

Sorry, you've reached the max length this note can be.
Please reduce the content or divide it to more notes, thank you!

Import from Gist

Import from Snippet

or

Export to Snippet

Are you sure?

Do you really want to delete this note?
All users will lose their connection.

Create a note from template

Create a note from template

Oops...
This template has been removed or transferred.
Upgrade
All
  • All
  • Team
No template.

Create a template

Upgrade

Delete template

Do you really want to delete this template?
Turn this template into a regular note and keep its content, versions, and comments.

This page need refresh

You have an incompatible client version.
Refresh to update.
New version available!
See releases notes here
Refresh to enjoy new features.
Your user state has changed.
Refresh to load new user state.

Sign in

Forgot password

or

By clicking below, you agree to our terms of service.

Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
Wallet ( )
Connect another wallet

New to HackMD? Sign up

Help

  • English
  • 中文
  • Français
  • Deutsch
  • 日本語
  • Español
  • Català
  • Ελληνικά
  • Português
  • italiano
  • Türkçe
  • Русский
  • Nederlands
  • hrvatski jezik
  • język polski
  • Українська
  • हिन्दी
  • svenska
  • Esperanto
  • dansk

Documents

Help & Tutorial

How to use Book mode

Slide Example

API Docs

Edit in VSCode

Install browser extension

Contacts

Feedback

Discord

Send us email

Resources

Releases

Pricing

Blog

Policy

Terms

Privacy

Cheatsheet

Syntax Example Reference
# Header Header 基本排版
- Unordered List
  • Unordered List
1. Ordered List
  1. Ordered List
- [ ] Todo List
  • Todo List
> Blockquote
Blockquote
**Bold font** Bold font
*Italics font* Italics font
~~Strikethrough~~ Strikethrough
19^th^ 19th
H~2~O H2O
++Inserted text++ Inserted text
==Marked text== Marked text
[link text](https:// "title") Link
![image alt](https:// "title") Image
`Code` Code 在筆記中貼入程式碼
```javascript
var i = 0;
```
var i = 0;
:smile: :smile: Emoji list
{%youtube youtube_id %} Externals
$L^aT_eX$ LaTeX
:::info
This is a alert area.
:::

This is a alert area.

Versions and GitHub Sync
Get Full History Access

  • Edit version name
  • Delete

revision author avatar     named on  

More Less

Note content is identical to the latest version.
Compare
    Choose a version
    No search result
    Version not found
Sign in to link this note to GitHub
Learn more
This note is not linked with GitHub
 

Feedback

Submission failed, please try again

Thanks for your support.

On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

Please give us some advice and help us improve HackMD.

 

Thanks for your feedback

Remove version name

Do you want to remove this version name and description?

Transfer ownership

Transfer to
    Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

      Link with GitHub

      Please authorize HackMD on GitHub
      • Please sign in to GitHub and install the HackMD app on your GitHub repo.
      • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
      Learn more  Sign in to GitHub

      Push the note to GitHub Push to GitHub Pull a file from GitHub

        Authorize again
       

      Choose which file to push to

      Select repo
      Refresh Authorize more repos
      Select branch
      Select file
      Select branch
      Choose version(s) to push
      • Save a new version and push
      • Choose from existing versions
      Include title and tags
      Available push count

      Pull from GitHub

       
      File from GitHub
      File from HackMD

      GitHub Link Settings

      File linked

      Linked by
      File path
      Last synced branch
      Available push count

      Danger Zone

      Unlink
      You will no longer receive notification when GitHub file changes after unlink.

      Syncing

      Push failed

      Push successfully