From be3b40c85f061fbf92076083aa69869122642cc2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 17 Jul 2022 20:02:24 +0200 Subject: [PATCH 0001/1872] Update status badges (#1068) Co-authored-by: github-actions[bot] --- docs/polkadot_stack.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/polkadot_stack.md b/docs/polkadot_stack.md index a7b819d6078..3175161166b 100644 --- a/docs/polkadot_stack.md +++ b/docs/polkadot_stack.md @@ -70,10 +70,10 @@ In the below sections you can find a list of different layers of the Polkadot St | Components | Existing projects | Potentially interesting projects |-|-|- -| Desktop/Web Wallets | [Talisman Web Application](https://github.com/TalismanSociety/talisman-web) :green_circle:, [AirGap](https://github.com/airgap-it/airgap-wallet) :green_circle:, [Sakura](https://github.com/w3finance/sakura) :red_circle:| User-friendly Wallet based on the [Recovery Pallet](https://github.com/paritytech/substrate/tree/master/frame/recovery), Web wallets focused on user-onboarding (e.g. using [localStorage](https://github.com/near/near-wallet) ) +| Desktop/Web Wallets | [Talisman Web Application](https://github.com/TalismanSociety/talisman-web) :green_circle:, [AirGap](https://github.com/airgap-it/airgap-wallet) :yellow_circle:, [Sakura](https://github.com/w3finance/sakura) :red_circle:| User-friendly Wallet based on the [Recovery Pallet](https://github.com/paritytech/substrate/tree/master/frame/recovery), Web wallets focused on user-onboarding (e.g. using [localStorage](https://github.com/near/near-wallet) ) | Browser Extensions | [Polkadot{.js}](https://github.com/polkadot-js/extension) :green_circle:, [Polkadot-Js-Plus-Extension](https://github.com/Nick-1979/polkadot-Js-Plus-extension) :green_circle:, [SubWallet-Extension](https://github.com/Koniverse/SubWallet-Extension) :green_circle:, [Doter](https://github.com/ChainBridgeNetworkTeam/Doter) :red_circle:, [Enzyme](https://github.com/blockxlabs/enzyme/) :red_circle:, [Speckle OS](https://github.com/GetSpeckle/speckle-browser-extension) :red_circle:| Sign-in with your polkadot, kusama, etc. account. | Mobile Wallets| [Lunie](https://github.com/luniehq/lunie) :red_circle:, [Polkawallet](https://github.com/polkawallet-io/polkawallet-flutter) :red_circle:, [Parity Signer](https://github.com/paritytech/parity-signer) :green_circle:, [imToken](https://github.com/consenlabs/token-core) :red_circle:, [Fearless Wallet Android](https://github.com/soramitsu/fearless-Android) :green_circle:, [Fearless Wallet iOS](https://github.com/soramitsu/fearless-iOS) :green_circle:, [Stylo](https://github.com/stylo-app/stylo) :green_circle:, [Nova Wallet](https://github.com/nova-wallet/nova-utils) :green_circle:, [Fractapp](https://github.com/fractapp/fractapp/) :red_circle: -| Burner Wallets/Faucet| [KodaDot](https://github.com/vue-polkadot/apps) :red_circle:, [Astar Faucet Bot](https://github.com/AstarNetwork/astar-faucet-bot) :green_circle:| Faucet (a sybil-resistant way to receive free tokens) +| Burner Wallets/Faucet| [KodaDot](https://github.com/vue-polkadot/apps) :red_circle:, [Astar Faucet Bot](https://github.com/AstarNetwork/astar-faucet-bot) :yellow_circle:| Faucet (a sybil-resistant way to receive free tokens) | CLI Wallet | [Subwallet](https://github.com/yxf/subwallet) :red_circle:, [Proxy-hot-wallet](https://github.com/canontech/proxy-hot-wallet) :red_circle: | Multisignature Wallets| [Subscan Multisig UI - React](https://github.com/itering/subscan-multisig-react) :green_circle:, [Subscan Multisig UI](https://github.com/itering/subscan-multisig-ui) :red_circle:, [Dorafactory-Multisig](https://github.com/DoraFactory/dorafactory-multisig) :yellow_circle:| | Hardware Wallets | [Ledger Polkadot](https://github.com/ZondaX/ledger-polkadot) :green_circle:, [Ledger Kusama](https://github.com/Zondax/ledger-kusama) :green_circle:| Trezor @@ -86,7 +86,7 @@ In the below sections you can find a list of different layers of the Polkadot St | Bridge UI | [Parity Bridges UI](https://github.com/paritytech/parity-bridges-ui) :red_circle:, [Donut Interface (Steem <> Dot)](https://github.com/nutbox-dao/donut-interface) :red_circle:| | | Parachain/Crowdloan | [Parachains.Network](https://github.com/jhonalino/parachains.network) :red_circle:, [PolkAuction](https://github.com/CrommVardek/polk-auction-ui) :green_circle:| | | Identicon | [PolkadotWebIdenticon](https://github.com/RidOne-technologies/polkadot-web-identicon) :red_circle:, [Polkadot Angular IdentIcon](https://github.com/RidOne-technologies/polkadot-angular-identicon) :red_circle:, [Bird Identicon](https://github.com/Noc2/Bird-Identicon) :red_circle:| -| Other | [KappaSigmaMu Fratority](https://github.com/KappaSigmaMu/ksm-app) :green_circle:, [Quadratic Funding Webapp](https://github.com/OAK-Foundation/quadratic-funding-webapp) :red_circle:, [Polkawatch](https://gitlab.com/polkawatch/polkawatch), [Bytepay](https://github.com/bytepayment/bytepay) :green_circle:, [charging-management-platform](https://github.com/Delmonicos/charging-management-platform) :yellow_circle:, [subidentity-webapp](https://github.com/TDSoftware/subidentity-webapp) :green_circle:, [OpenSquare Paid QA](https://github.com/opensquare-network/paid-qa/) | Portfolio Viewer like Zapper or Zerion +| Other | [KappaSigmaMu Fratority](https://github.com/KappaSigmaMu/ksm-app) :green_circle:, [Quadratic Funding Webapp](https://github.com/OAK-Foundation/quadratic-funding-webapp) :red_circle:, [Polkawatch](https://gitlab.com/polkawatch/polkawatch), [Bytepay](https://github.com/bytepayment/bytepay) :green_circle:, [charging-management-platform](https://github.com/Delmonicos/charging-management-platform) :yellow_circle:, [subidentity-webapp](https://github.com/TDSoftware/subidentity-webapp) :green_circle:, [OpenSquare Paid QA](https://github.com/opensquare-network/paid-qa/) :green_circle:| Portfolio Viewer like Zapper or Zerion ### :wrench: Tools, APIs and Languages @@ -105,7 +105,7 @@ In the below sections you can find a list of different layers of the Polkadot St | Testnet | [Polkadot Launch](https://github.com/paritytech/polkadot-launch) :green_circle:, [polkadot-starship](https://github.com/koute/polkadot-starship) :red_circle:, [Fork off Substrate](https://github.com/maxsam4/fork-off-substrate) :red_circle:, [Parachain Launch](https://github.com/open-web3-stack/parachain-launch) :green_circle:| | Benchmarking | [Substrate Graph Benchmarks](https://github.com/shawntabrizi/substrate-graph-benchmarks) :red_circle:| | Blockchain Indexing Engine | [Substrate Archive](https://github.com/paritytech/substrate-archive) :yellow_circle:, [PSQL Indexer](https://github.com/usetech-llc/polkadot_psql_indexer) :red_circle:, [Polkadothub Indexer](https://github.com/figment-networks/polkadothub-indexer) :green_circle:, [Substrate Graph](https://github.com/playzero/substrate-graph) :yellow_circle:, [Hydra](https://github.com/subsquid/hydra) :red_circle:, [Subquery](https://github.com/OnFinality-io/subql) :green_circle:, [Polkadot Profit Transformer](https://github.com/p2p-org/polkadot-profit-transformer) :green_circle:| -| Blockchain/Event Monitoring | [Web3 Guardian](https://github.com/open-web3-stack/guardian) :yellow_circle:, [Aurras Event Manager](https://github.com/HugoByte/aurras-event-manager) :green_circle:, [@commonwealth/chain-events](https://github.com/hicommonwealth/chain-events) :green_circle:| +| Blockchain/Event Monitoring | [Web3 Guardian](https://github.com/open-web3-stack/guardian) :yellow_circle:, [Aurras Event Manager](https://github.com/HugoByte/aurras-event-manager) :green_circle:, [@commonwealth/chain-events](https://github.com/hicommonwealth/chain-events) :yellow_circle:| | Gaming | [Mobile Game Framework for Substrate](https://github.com/creator-rs/creator/) :green_circle:| [Amethyst](https://amethyst.rs/) + [Substrate](https://substrate.dev/) | No-code Platforms | [EzCode's Polkadot.js plugin on Bubble.io](https://github.com/NovaBloq/Bubble-Plugin-Polkadot.js) :red_circle:, [Blackprint Visual Programming Polkadot.js module](https://github.com/Blackprint/nodes-polkadot.js) :green_circle:| | | XCM | [XCM-tools](https://github.com/PureStake/xcm-tools) :green_circle:| | @@ -131,7 +131,7 @@ In the below sections you can find a list of different layers of the Polkadot St | Scalable Transactions | [Perun channels](https://github.com/perun-network/perun-polkadot-pallet) :yellow_circle:, [CLI demo of Perun](https://github.com/perun-network/perun-polkadot-demo) :red_circle:, [Astar](https://github.com/AstarNetwork/Astar) :green_circle:, [Celer](https://github.com/celer-network/cChannel-substrate) :red_circle:, [Gunclear](https://github.com/GunClear/Gunero) :red_circle:| roll-ups, DAG-based consensus mechanisms, side chains | | Bridges | [interBTC](https://github.com/interlay/interbtc) :green_circle:, [ChainBridge](https://github.com/centrifuge/ChainBridge/) :green_circle:, [EOS by Bifrost](https://github.com/bifrost-finance/bifrost-eos-relay) :red_circle:, [POA <> Substrate](https://github.com/paritytech/parity-bridge) :red_circle:, [Substrate <> Ethereum DAI Bridge](https://github.com/akropolisio/POC-polkadai-bridge) :red_circle:, [Substrate <> Substrate Bridge](https://github.com/paritytech/substrate-bridge-relay) :red_circle:, [BTC by ChainX](https://github.com/chainx-org/ChainX) :yellow_circle:, [Cosmos-Substrate bridge](https://github.com/ChorusOne/wormhole-bridge) :red_circle:, [Substrate IBC Pallet](https://github.com/octopus-network/substrate-ibc) :green_circle:, [Polkadot Ethereum Bridge](https://github.com/Snowfork/polkadot-ethereum) :green_circle:, [Darwinia](https://github.com/darwinia-network/darwinia) :green_circle:, [Stellar/DeFi Bridge by Pendulum](https://github.com/pendulum-chain/pendulum-prototype) :red_circle:, [Filecoindot](https://github.com/ChainSafe/filecoindot) :red_circle:| ZCash | | Privacy | [Webb Anon](https://github.com/webb-tools/anon) :red_circle:, [ZeroChain](https://github.com/LayerXcom/zero-chain) :red_circle:, [pLibra (Phala Network)](https://github.com/Phala-Network/phala-blockchain) :green_circle:, [Automata Network](https://github.com/automata-network/automata) :green_circle:, [zCloak Network](https://github.com/zCloak-Network/zcloak-node) :red_circle:, [Zero Network](https://github.com/zero-network/zero) :green_circle:| [Multi-Asset Shielded Pool (MASP)](https://github.com/anoma/masp) , [Zkay](https://arxiv.org/pdf/2009.01020.pdf), [Zexe](https://eprint.iacr.org/2018/962.pdf) -| ZKP | [ZeroPool](https://github.com/zeropoolnetwork/zeropool-substrate-groth16-example) :red_circle:, [Megaclite](https://github.com/patractlabs/megaclite) :red_circle:, [zkMega](https://github.com/patractlabs/zkmega) :red_circle:, [PLONK for Substrate](https://github.com/AstarNetwork/plonk) :green_circle:, [Webb Anchor Protocol](https://github.com/webb-tools/protocol-substrate) :green_circle:| +| ZKP | [ZeroPool](https://github.com/zeropoolnetwork/zeropool-substrate-groth16-example) :red_circle:, [Megaclite](https://github.com/patractlabs/megaclite) :red_circle:, [zkMega](https://github.com/patractlabs/zkmega) :red_circle:, [PLONK for Substrate](https://github.com/AstarNetwork/plonk) :yellow_circle:, [Webb Anchor Protocol](https://github.com/webb-tools/protocol-substrate) :green_circle:| | TEE | [Integritee](https://github.com/integritee-network/worker) :green_circle:, [substraTEE](https://github.com/scs/substraTEE) :red_circle: | DeFi | [Compound Gateway](https://github.com/compound-finance/gateway) :red_circle:, [Parallel Finance](https://github.com/parallel-finance/parallel) :green_circle:, [PINT](https://github.com/ChainSafe/PINT) :red_circle:, [Laminar Chain](https://github.com/laminar-protocol/laminar-chain) :red_circle:, [Acala](https://github.com/AcalaNetwork/Acala) :green_circle:, [Centrifuge](https://github.com/centrifuge/centrifuge-chain) :green_circle:, [Stafi](https://github.com/stafiprotocol/stafi-node) :red_circle:, [Definex](https://github.com/y2labs-0sh/definex) :red_circle:, [OAX Foundation](https://github.com/OAXFoundation/parrot) :red_circle:, [Cybex](https://github.com/alexxuyang/substrate-dex) :red_circle:, [Zenlink](https://github.com/zenlinkpro/pallet-zenlink) :red_circle:, [Swaps Pallet](https://github.com/lsaether/pallet-swaps) :red_circle:, [Polkadex](https://github.com/Polkadex-Substrate/Polkadex/tree/master) :yellow_circle:, [SubDEX](https://github.com/subdarkdex/subdex-parachain) :red_circle:, [HydraDX](https://github.com/galacticcouncil/hack.HydraDX-node) :green_circle:, [Substrate Stablecoin](https://github.com/apopiak/stablecoin) :red_circle:, [Standard protocol](https://github.com/digitalnativeinc/standard-substrate) :yellow_circle:, [Polkaswap](https://github.com/sora-xor/sora2-network) :green_circle:, [Curve AMM](https://github.com/equilibrium-eosdt/equilibrium-curve-amm) :red_circle:, [Konomi Network](https://github.com/konomi-network/cumulus/) :red_circle:, [Composable Finance](https://github.com/ComposableFi/composable) :green_circle:, [Stable Asset](https://github.com/nutsfinance/stable-asset) :red_circle:, [Libra Payment](https://github.com/atscaletech/libra) :green_circle:, [Mangata](https://github.com/mangata-finance/mangata-node) :green_circle:, [Tidechain](https://github.com/tidelabs/tidechain) :green_circle:| DEX with privacy and confidentiality features such as those found in a [dark pool](https://en.wikipedia.org/wiki/Dark_pool) | Smart contract chains | [moonbeam](https://github.com/PureStake/moonbeam) :green_circle:, [Edgeware](https://github.com/hicommonwealth/edgeware-node) :red_circle:, [ParaState](https://github.com/ParaState/substrate-ssvm-node) :red_circle:, [gear](https://github.com/gear-tech/gear) :green_circle:, [CENNZnet](https://github.com/cennznet/cennznet) :green_circle:, [SkyeKiwi](https://github.com/skyekiwi/skyekiwi-network) :green_circle:, [OAK-blockchain](https://github.com/OAK-Foundation/OAK-blockchain) :green_circle:, [ICE Blockchain](https://github.com/web3labs/ice-substrate) :green_circle:| smart contract chains with novel security approaches, smart contract chains based on existing toolchains| @@ -147,7 +147,7 @@ In the below sections you can find a list of different layers of the Polkadot St | Messaging | [HOPR](https://github.com/validitylabs/HOPR-PL-Substrate) :red_circle:, [Nolik](https://github.com/chainify/pallet-nolik/) :red_circle: | File Storage, Cloud | [DatDot](https://github.com/playproject-io/datdot) :red_circle:, [Crust Network](https://github.com/crustio/crust) :yellow_circle:, [offchain::ipfs](https://github.com/rs-ipfs/offchain-ipfs-manual) :red_circle:, [Canyon Network](https://github.com/canyon-network/canyon) :red_circle:, [CESS](https://github.com/Cumulus2021/cess) :green_circle:, [CESS Proving Subsystem](https://github.com/CESSProject/cess-proving-system) :red_circle:, [Iris](https://github.com/ideal-lab5/iris) :green_circle:, [fmd-cess](https://github.com/CESSProject/fmd-cess) :red_circle:, [IPFS Frame V3](https://github.com/DanHenton/pocket-substrate/tree/ipfs-ocw) :green_circle:, [Threefold Chain](https://github.com/threefoldtech/tfchain) :green_circle:, [Apron](https://github.com/Apron-Network/apron-node) :red_circle: | Name Service| [Substrate Names](https://github.com/xaya/substrate-names) :red_circle:, [ENS on Substrate](https://github.com/hskang9/substrate-name-service) :red_circle:, [PNS-Pallets](https://github.com/pnsproject/pns-pallets) :red_circle: -| Gaming | [Bit.country](https://github.com/bit-country/Bit-Country-Blockchain) :green_circle:, [SubGame](https://github.com/SubGame-Network/subgame-network) :yellow_circle:, [subzero](https://github.com/playzero/subzero) :red_circle:, [Web3Games](https://github.com/web3gamesofficial/web3games-blockchain) :yellow_circle:, [Ajuna Network](https://github.com/ajuna-network/Ajuna) :green_circle:, [Gafi Network](https://github.com/cryptoviet/gafi) :green_circle:, [Asylum](https://gitlab.com/asylum-space/asylum-item-nft) | +| Gaming | [Bit.country](https://github.com/bit-country/Bit-Country-Blockchain) :green_circle:, [SubGame](https://github.com/SubGame-Network/subgame-network) :yellow_circle:, [subzero](https://github.com/playzero/subzero) :red_circle:, [Web3Games](https://github.com/web3gamesofficial/web3games-blockchain) :red_circle:, [Ajuna Network](https://github.com/ajuna-network/Ajuna) :green_circle:, [Gafi Network](https://github.com/cryptoviet/gafi) :green_circle:, [Asylum](https://gitlab.com/asylum-space/asylum-item-nft) | | Computation/AI | [DeepBrain Chain](https://github.com/DeepBrainChain/DeepBrainChain-MainChain) :green_circle:, [AI Infrastructure on Blockchain](https://github.com/anudit/cerebrum) :red_circle:| | Enable specific use-cases | [Robonomics](https://github.com/airalab/substrate-node-robonomics) :green_circle:, [UniversalDOT](https://github.com/UniversalDot/pallets) :red_circle:, [Evercity Sustainable Finance Protocol](https://github.com/EvercityEcosystem/evercity-chain) :green_circle:, [Fennel Protocol](https://github.com/fennelLabs/Fennel-Protocol) :green_circle:, [logion](https://github.com/logion-network/logion-node) :green_circle: | NFT | [ternoa](https://github.com/capsule-corp-ternoa/chain) :green_circle:, [FRAME Pallet: NFTs for Substrate](https://github.com/danforbes/pallet-nft) :red_circle:, [NFT Parachain by usetech](https://github.com/w3f-community/nft_parachain) :red_circle:, [DNFT](https://github.com/DNFT-Team/dnft-substrate-node/tree/master/pallets) :red_circle:, [RMRK-Substrate](https://github.com/rmrk-team/rmrk-substrate) :green_circle: From d8641b74da90d151e18aa07d9429057d36bfcce8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 18 Jul 2022 08:17:21 +0200 Subject: [PATCH 0002/1872] Update status badges (#1071) Co-authored-by: github-actions[bot] --- docs/polkadot_stack.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/polkadot_stack.md b/docs/polkadot_stack.md index 3175161166b..c671e7dac5c 100644 --- a/docs/polkadot_stack.md +++ b/docs/polkadot_stack.md @@ -95,8 +95,8 @@ In the below sections you can find a list of different layers of the Polkadot St | Parachain | [Parachain utilities](https://github.com/AcalaNetwork/parachain-utilities) :red_circle:, [Gantree](https://github.com/gantree-io/gantree-core) :red_circle:| Tools to create parachains from frameworks used in other ecosystems | | Client Libraries | [Go](https://github.com/centrifuge/go-substrate-rpc-client) :green_circle:, [.Net](https://github.com/usetech-llc/polkadot_api_dotnet) :red_circle:, [.NET Standard 2.0](https://github.com/ajuna-network/Ajuna.NetApi) :green_circle:, [C++](https://github.com/usetech-llc/polkadot_api_cpp) :red_circle:, [C](https://github.com/finoabanking/substrate-c-tool) :red_circle:, [Haskell](https://github.com/airalab/hs-web3) :yellow_circle:, [Javascript](https://github.com/polkadot-js/api) :green_circle:, [Substrate API Sidecar - TypeScript](https://github.com/paritytech/substrate-api-sidecar) :green_circle:, [Ruby](https://github.com/itering/scale.rb) :red_circle:, [Python](https://github.com/polkascan/py-substrate-interface) :green_circle:, [Java (+ Android)](https://github.com/emeraldpay/polkaj) :green_circle:, [Substrate Client Java](https://github.com/strategyobject/substrate-client-java) :green_circle:, [Rust SCS](https://github.com/scs/substrate-api-client) :green_circle:, [Rust Parity](https://github.com/paritytech/substrate-subxt) :green_circle:, [PHP (gmajor-encrypt)](https://github.com/gmajor-encrypt/php-substrate-api) :yellow_circle:, [PHP (neha0921)](https://github.com/neha0921/substrate-interface-package) :red_circle:, [RPC-Ethereum](https://github.com/paritytech/frontier) :green_circle:, [Swift](https://github.com/tesseract-one/Substrate.swift) :red_circle:| | |Substrate Contract clients | [PatractGo](https://github.com/patractlabs/go-patract) :red_circle:| | -| SCALE Codec | [Rust](https://github.com/paritytech/parity-scale-codec) :green_circle:, [Python](https://github.com/polkascan/py-scale-codec) :green_circle:, [Golang Chainsafe](https://github.com/ChainSafe/gossamer/tree/development/lib/scale) :green_circle:, [Golang Itering](https://github.com/itering/scale.go) :green_circle:, [C](https://github.com/MatthewDarnell/cScale) :red_circle:, [C++](https://github.com/soramitsu/scale-codec-cpp) :yellow_circle:, [JavaScript](https://github.com/polkadot-js/api) :green_circle:, [AssemblyScript](https://github.com/LimeChain/as-scale-codec) :red_circle:, [Haskell](https://github.com/airalab/hs-web3/tree/master/src/Codec) :yellow_circle:, [Java](https://github.com/emeraldpay/polkaj) :green_circle:, [Ruby](https://github.com/itering/scale.rb) :red_circle:, [Dart](https://github.com/nbltrust/dart-scale-codec) :red_circle:, [Swift](https://github.com/tesseract-one/swift-scale-codec) :red_circle:, [PHP](https://github.com/gmajor-encrypt/php-scale-codec) :yellow_circle:, [JavaScript by Soramitsu](https://github.com/soramitsu/scale-codec-js-library) :green_circle:| -| Easy Runtime Development | [VS Code Plugin](https://github.com/everstake/vscode-plugin-substrate) :red_circle:, [Atom Code Plugin](https://github.com/everstake/atom-plugin-substrate) :red_circle:, [Substrate Playground](https://github.com/paritytech/substrate-playground) :green_circle:, [Substrate Marketplace VS Code Plugin](https://github.com/paritytech/vscode-substrate) :red_circle:, [AssemblyScript Runtime Generation](https://github.com/LimeChain/as-substrate-runtime) :red_circle:, [Substrate Package Manager](https://github.com/clearloop/sup) :red_circle:, [Subsembly: Framework for developing AssemblyScript Substrate Runtimes](https://github.com/LimeChain/subsembly) :red_circle:, [dependency diener](https://github.com/bkchr/diener) :red_circle:| | +| SCALE Codec | [Rust](https://github.com/paritytech/parity-scale-codec) :green_circle:, [Python](https://github.com/polkascan/py-scale-codec) :green_circle:, [Golang Chainsafe](https://github.com/ChainSafe/gossamer/tree/development/lib/scale) :green_circle:, [Golang Itering](https://github.com/itering/scale.go) :green_circle:, [C](https://github.com/MatthewDarnell/cScale) :red_circle:, [C++](https://github.com/soramitsu/scale-codec-cpp) :yellow_circle:, [JavaScript](https://github.com/polkadot-js/api) :green_circle:, [AssemblyScript](https://github.com/LimeChain/as-scale-codec) :red_circle:, [Haskell](https://github.com/airalab/hs-web3/tree/master/src/Codec) :yellow_circle:, [Java](https://github.com/emeraldpay/polkaj) :green_circle:, [Ruby](https://github.com/itering/scale.rb) :red_circle:, [Dart](https://github.com/nbltrust/dart-scale-codec) :red_circle:, [Swift](https://github.com/tesseract-one/swift-scale-codec) :red_circle:, [PHP](https://github.com/gmajor-encrypt/php-scale-codec) :yellow_circle:, [JavaScript by Soramitsu](https://github.com/soramitsu/scale-codec-js-library) :yellow_circle:| +| Easy Runtime Development | [VS Code Plugin](https://github.com/everstake/vscode-plugin-substrate) :red_circle:, [Atom Code Plugin](https://github.com/everstake/atom-plugin-substrate) :red_circle:, [Substrate Playground](https://github.com/paritytech/substrate-playground) :green_circle:, [Substrate Marketplace VS Code Plugin](https://github.com/paritytech/vscode-substrate) :red_circle:, [AssemblyScript Runtime Generation](https://github.com/LimeChain/as-substrate-runtime) :red_circle:, [Substrate Package Manager](https://github.com/clearloop/sup) :red_circle:, [Subsembly: Framework for developing AssemblyScript Substrate Runtimes](https://github.com/LimeChain/subsembly) :red_circle:, [dependency diener](https://github.com/bkchr/diener) :green_circle:| | | Easy Smart Contract Development | [ink-playground](https://github.com/staketechnologies/ink-playground/tree/master) :red_circle:, [Ink! Remix Plugin](https://github.com/blockchain-it-hr/ink-remix-plugin) :red_circle: | Runtime Security | [K specifications](https://github.com/kframework/wasm-semantics) :yellow_circle:, [PolPatrol - Polkadot Runtime Checker](https://github.com/ChainSecurity/polpatrol) :red_circle:| Automated Runtime checking tools, economic audit simulator such as [gauntlet.network](https://gauntlet.network/) | Smart Contract Languages | [Ask!](https://github.com/ask-lang/ask) :green_circle:, [Subscript](https://github.com/slickup/subscript) :red_circle:, [Solang](https://github.com/hyperledger-labs/solang) :green_circle:, [Ink!](https://github.com/paritytech/ink) :green_circle:, [Move VM Substrate](https://github.com/pontem-network/sp-move) :yellow_circle:, [Move smart contract by Neatcoin](https://github.com/neatcoin/neatcoin) :red_circle:, [Sol2Ink](https://github.com/Supercolony-net/sol2ink) :yellow_circle:| Functional Programming Languages, other languages with developed toolchains | @@ -104,7 +104,7 @@ In the below sections you can find a list of different layers of the Polkadot St | Testing | [Halva](https://github.com/halva-suite/halva) :red_circle:, [Ink Waterfall](https://github.com/paritytech/ink-waterfall) :green_circle:, [Redspot](https://github.com/patractlabs/redspot) :red_circle:, [MixBytes Tank](https://github.com/mixbytes/tank) :red_circle:, [sub-flood](https://github.com/NikVolf/sub-flood) :red_circle:, [Substrate debug-kit](https://github.com/paritytech/substrate-debug-kit) :red_circle:, [Dotscale - SCALE Codec Comparator](https://github.com/arijitAD/dotscale) :red_circle:, [Asset CLI tool](https://github.com/JesseAbram/asset_cli_tool) :green_circle:, [sub_crash](https://github.com/JesseAbram/unfinished_testing_tool) :red_circle:, [subwasm](https://github.com/chevdor/subwasm) :green_circle:, [subsee](https://github.com/ascjones/subsee) :yellow_circle:, [polkadot-lab](https://github.com/w3f/polkadot-lab) :red_circle:, [Zombienet](https://github.com/paritytech/zombienet) :green_circle:, [RPC-perf](https://github.com/dwellir-public/rpc-perf/) :green_circle: | Testnet | [Polkadot Launch](https://github.com/paritytech/polkadot-launch) :green_circle:, [polkadot-starship](https://github.com/koute/polkadot-starship) :red_circle:, [Fork off Substrate](https://github.com/maxsam4/fork-off-substrate) :red_circle:, [Parachain Launch](https://github.com/open-web3-stack/parachain-launch) :green_circle:| | Benchmarking | [Substrate Graph Benchmarks](https://github.com/shawntabrizi/substrate-graph-benchmarks) :red_circle:| -| Blockchain Indexing Engine | [Substrate Archive](https://github.com/paritytech/substrate-archive) :yellow_circle:, [PSQL Indexer](https://github.com/usetech-llc/polkadot_psql_indexer) :red_circle:, [Polkadothub Indexer](https://github.com/figment-networks/polkadothub-indexer) :green_circle:, [Substrate Graph](https://github.com/playzero/substrate-graph) :yellow_circle:, [Hydra](https://github.com/subsquid/hydra) :red_circle:, [Subquery](https://github.com/OnFinality-io/subql) :green_circle:, [Polkadot Profit Transformer](https://github.com/p2p-org/polkadot-profit-transformer) :green_circle:| +| Blockchain Indexing Engine | [Substrate Archive](https://github.com/paritytech/substrate-archive) :yellow_circle:, [PSQL Indexer](https://github.com/usetech-llc/polkadot_psql_indexer) :red_circle:, [Polkadothub Indexer](https://github.com/figment-networks/polkadothub-indexer) :green_circle:, [Substrate Graph](https://github.com/playzero/substrate-graph) :yellow_circle:, [Hydra](https://github.com/subsquid/hydra) :red_circle:, [Subquery](https://github.com/OnFinality-io/subql) :green_circle:, [Polkadot Profit Transformer](https://github.com/p2p-org/polkadot-profit-transformer) :yellow_circle:| | Blockchain/Event Monitoring | [Web3 Guardian](https://github.com/open-web3-stack/guardian) :yellow_circle:, [Aurras Event Manager](https://github.com/HugoByte/aurras-event-manager) :green_circle:, [@commonwealth/chain-events](https://github.com/hicommonwealth/chain-events) :yellow_circle:| | Gaming | [Mobile Game Framework for Substrate](https://github.com/creator-rs/creator/) :green_circle:| [Amethyst](https://amethyst.rs/) + [Substrate](https://substrate.dev/) | No-code Platforms | [EzCode's Polkadot.js plugin on Bubble.io](https://github.com/NovaBloq/Bubble-Plugin-Polkadot.js) :red_circle:, [Blackprint Visual Programming Polkadot.js module](https://github.com/Blackprint/nodes-polkadot.js) :green_circle:| | From 1ff1b6f5572fb1e9ff10b79ba9964aaae65c858b Mon Sep 17 00:00:00 2001 From: Sourabh Niyogi Date: Mon, 18 Jul 2022 02:52:33 -0700 Subject: [PATCH 0003/1872] Polkaholic.io's Multi-Chain Substrate Block Explorer (#1039) * add Verifiability oriented milestones * added link to open source polkaholic repo (GNU v3) * oriented proposal around browser-based + server-side JS code which *verifies* indexed results for users, and publishes continuously verified results * removed Docker deliverables + XCM Analytics APIs * Added precision on Verification Functions * Mapped site areas to verification functions and specific milestones in supporting Google sheet * add rfp links, fmt * added tables + Testing Guide --- applications/Polkaholic.md | 269 +++++++++++++++++++++++++++++++++++++ 1 file changed, 269 insertions(+) create mode 100644 applications/Polkaholic.md diff --git a/applications/Polkaholic.md b/applications/Polkaholic.md new file mode 100644 index 00000000000..e7a49fc42a1 --- /dev/null +++ b/applications/Polkaholic.md @@ -0,0 +1,269 @@ +# W3F Grant Proposal + +- **Project Name:** Polkaholic.io's Multi-Chain Substrate Block Explorer +- **Team Name:** Colorful Notion +- **Payment Address:** Polkadot 13rTinCWgc38a2wZzme28dFbViQraCowTRjQqFLEWwdMTvFW +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 + +## Project Overview :page_facing_up: + +[Polkaholic.io](https://polkaholic.io) is a Substrate block explorer with high parachain coverage (45+ chains) and is developing multi-chain functionality for the next generation of Polkadot users. Key new multi-chain features (see [Why Polkaholic?](https://polkaholic.io/features)) not widely available in other block explorers: +* monitoring accounts across chains with asset valuations in real-time +* performing historical analysis across chains +* monitoring XCM transfers across chains + +The Polkaholic.io team would like to seek Web3F Level 2 funding for high availability APIs powering the Polkaholic.io UI. These APIs will support Polkadot parachain and dapp developers, and will be used in the Polkaholic.io UI to support useful multi-chain block explorer features for the next generation of Polkadot users: +* Support Polkadot defi users doing multi-chain transfers in and out of any chain +* Support Polkadot dapp and parachain developers doing real-time multi-chain analysis with standardized asset types +* Support Polkadot wallet developers with multi-chain APIs + +It is essential for a public block explorer to be trusted, and while Polkaholic.io code is released under a GPLv3 license at: +* https://github.com/colorfulnotion/polkaholic/ +it is difficult to trust that the indexing is 100% correct by simply auditing the above code and spot checking a few representative results. +The approach Polkaholic.io has taken is an "indexing" approach, where all chain activity is analyzed and stored with additional information (e.g. asset values in USD) in Google Cloud's BigTable/BigQuery/mysql. This is complementary to the approach taken by polkadot.js.org's reference app, where a single endpoint is probed in real-time. + +However, for Polkadot users to *trust* Polkaholic.io's index, all indexed data must be *verifiable* to the fullest extent possible, which we propose to do by augmenting every Polkaholic.io page with: +* (a) browser-based JS that _verifies_ the results shown in any page as being the same as the indexed data using one or more WS endpoints +* (b) server-side JS that continuously (randomly) _verifies_ any key object ( account, block, tx, chain etc. ) returned in any API call against one or more WS Endpoints +Currently, every page on Polkaholic.io shows how to use the Polkaholic.io API to derive the data shown on the page, which we have taken as a design principle. +We propose to take this further, by publishing the code of (a)+(b) alongside these same API calls. If any verification fails, the failure can be automatically logged and used to improve the index (rather than, say, waiting for users to report data issues, or for developers to point out bugs with the indexer code). All chain's random checks can be published as metadata with the chain. As verifications pass and Polkaholic.io approaches 100% verifiability, users should increase trust in the Polkaholic.io index. + +### Project Details + +To illustrate Polkaholic.io's fully working multi-chain UI + APIs, we tabulate 5 representative UI / API calls here: + +#### Chains + +![Chains UI Screenshot](https://cdn.polkaholic.io/screenshots/chains.png) + +* [Chains UI URL](https://polkaholic.io/chains) +* [Chains API Sample call](http://api.polkaholic.io/chains) +``` +curl -H "Authorization: YOUR-API-KEY" "https://api.polkaholic.io/chains" +``` + +* [Chains API Docs](https://docs.polkaholic.io/#chains) + +#### Account + +![Account UI Screenshot](https://cdn.polkaholic.io/screenshots/account.png) + +* [Account UI URL](https://polkaholic.io/account/121Rs6fKm8nguHnvPfG1Cq3ctFuNAVZGRmghwkJwHpKxKjbx#extrinsics) +* [Account API Sample call](https://api.polkaholic.io/account/121Rs6fKm8nguHnvPfG1Cq3ctFuNAVZGRmghwkJwHpKxKjbx) +``` +curl -H "Authorization: YOUR-API-KEY" "https://api.polkaholic.io/account/extrinsics/0x2c8feeab5bd9a317375e01adb6cb959f1fea78c751936d556fa2e36ede425a47" +``` +* [Account API Docs](https://docs.polkaholic.io/#get-account) | + +#### Account XCM Transfers + +![Account XCM Transfers Screenshot](https://cdn.polkaholic.io/screenshots/accountxcmtransfer.png) + +* [Account XCM Transfers UI URL](https://polkaholic.io/account/121Rs6fKm8nguHnvPfG1Cq3ctFuNAVZGRmghwkJwHpKxKjbx#xcmtransfers) +* [Account XCM Transfers API Sample call](https://api.polkaholic.io/account/xcmtransfers/121Rs6fKm8nguHnvPfG1Cq3ctFuNAVZGRmghwkJwHpKxKjbx) +``` +curl -H "Authorization: YOUR-API-KEY" "https://api.polkaholic.io/account/xcmtransfers/0x2c8feeab5bd9a317375e01adb6cb959f1fea78c751936d556fa2e36ede425a47" +``` +* [Account XCM Transfers API Docs](https://docs.polkaholic.io/#get-account-xcm) + +#### Search XCM Transfers + +![Search XCM Transfers Screenshot](https://cdn.polkaholic.io/screenshots/searchxcmtransfers.png) + +* [Search XCM Transfers UI URL](https://polkaholic.io/search/xcmtransfers) +* Search XCM Transfers API Sample Call: +``` +curl -H "Authorization: YOUR-API-KEY" -X POST -H "Content-Type: application/json" -d '{"startDate":"2022-07-03","endDate":"2022-07-06","chainID":"0"}' "https://api.polkaholic.io/search/xcmtransfers" +``` +* [Search XCM Transfers API Docs](https://docs.polkaholic.io/#get-xcm-transfers) + +#### Search XCM Messages (under development) + +![Search XCM Messages Screenshot](https://cdn.polkaholic.io/screenshots/searchxcmmessages.png) + +* [Search XCM Messages UI URL](https://polkaholic.io/search/xcmmessages) +* Search XCM Messages API Sample Call: +``` +curl -H "Authorization: YOUR-API-KEY" -X POST -H "Content-Type: application/json" -d '{"startDate":"2022-07-03","endDate":"2022-07-06","chainID":"0"}' "https://api.polkaholic.io/search/xcmmessages" +``` +* [Search XCM Messages API Docs](https://docs.polkaholic.io/#search-xcm-messages) + +#### Polkaholic.io Backend + +Briefly, the backend is organized as follows: +* A Google Cloud stack (BigTable, BigQuery, mysql) is used in 3 regions (US/EU/AS) to store blocks, txs, accounts, XCM transfers, and XCM Messages +* Blocks, traces, EVM logs for all chains are crawled/indexed from WS Endpoints in realtime with followup hourly analysis and backfill processes. A BigTable and mysql table support each chain, 5 BigQuery tables support each major type of object (extrinsics, transfers, xcmtransfers, xcmmessages, evmtxs) +* XCM Transfers are matched in real time, currently based on asset + address matching + +### Ecosystem Fit + +The Polkadot ecosystem benefits from users being able to transact with their assets on multiple chains easily, through teleporting and the new XCM Messaging system enabling "remote control" over asset states on other parachains. There are many block explorers in the ecosystem (eg subscan.io) but these were architected for users using interacting with a _single_ parachain rather than the dozens of parachains that exist today which are rapidly adding XCM transfers. As users use their wallets to manage their assets on a greater number of parachains, users will need a block explorer, dapps, wallets that takes **multi-chain** account views and multi-chain transfers as central to their UI. Polkaholic.io aims to provide the UI and APIs for the ecosystem to support these multi-chain views. + +Currently, there's no easy way to track XCM transfers, messages and do XCM analytics between chains for individual accounts and with parachains in aggregate. Polkaholic.io proposes to change this, by providing a set of APIs to help Polkadot developers. We believe a suite of verifiable APIs + UI (concerning XCM Messages, XCM Transfers, XCM Analytics) can be used by: + * parachain devs + dapp devs and wallet devs (XCM Messages, XCM Analytics) -- API, used in polkaholic.io + * defi/NFT chain users (XCM Transfers) -- UI +Having a open-source reference implementation can also aid other ecosystem participants in their own development and analytics. +Furthermore, we believe that supplying the concrete **verifiable** browser-based and server-based code will serve as educationally instructive to the Polkadot ecosystem, and be representative of how multi-chain block explorers should work. + +## Team :busts_in_silhouette: + +### Team members / Contact + +- **Contact Name:** Sourabh Niyogi / Michael Chung +- **Contact Email:** sourabh@colorfulnotion.com / michael@colorfulnotion.com +- **Website:** https://polkaholic.io + +### Legal Structure + +- **Registered Address:** 55 E 3rd Ave, San Mateo, CA 94401, USA +- **Registered Legal Entity:** Colorful Notion, Inc. + +### Team's experience + +Key engineers Sourabh Niyogi and Michael Chung have developed Polkaholic.io since Fall 2021. Prior to building Polkaholic.io, Sourabh and Michael worked in decentralized social networking protocol development + privacy-preserving contact tracing (Wolk), mobile advertising real-time bidding algorithm design and analytics (CrossChannel/MdotM). Sourabh has founded social + web advertising startups (Social Media Networks) in the SF Bay and spent time doing computational cognitive science and machine vision research at MIT. Michael hails from UC Berkeley. + +### Team Code Repos + +- https://github.com/colorfulnotion/polkaholic +- https://github.com/colorfulnotion/docs.polkaholic.io +- https://github.com/sourabhniyogi https://www.linkedin.com/sourabhniyogi +- https://github.com/mkchungs + +## Development Status :open_book: + +Polkaholic.io is a fully working block explorer that currently shows initial UI + API implementations, including indexing across 40+ chains and 90+ chain pairs. We are increasing XCM Transfers coverage (95% coverage) and are developing XCM Messages + Analytics Tools. + +## Development Roadmap :nut_and_bolt: + +As part of Milestone 1 + 2, the Polkaholic team will: +- Add _verifiability_ to all key Polkaholic.io pages: chain, block, extrinsics/txs, account with (a) browser-based JS and (b) server-side JS +- Add continuous _verifiability_ using server-side JS and publish % of verification checks per chain as chain-specific metadata +- Extend polkaholic.io functionality with XCM Transfers + Message Tools, with _verifiability_ of DMP, UMP, HRMP XCM transmissions +- Ensure the polkaholic.io repo be started with an empty Google Cloud project +- Publish blog posts on the XCM Transfers and Messages Tooling + +### Overview + +- **Total Estimated Duration:** 12 weeks +- **Full-Time Equivalent (FTE):** 2.0 FTE +- **Total Costs:** 30,000 USD. + +The following sheet details our proposed deliverables, organized by Site Area and Verification Function: + +[https://docs.google.com/spreadsheets/d/1w9xIhyHgB05PgXEVDMyazRYkYvBD3ETaIbWb8X2DKYc/edit#gid=323796891](https://docs.google.com/spreadsheets/d/1w9xIhyHgB05PgXEVDMyazRYkYvBD3ETaIbWb8X2DKYc/edit#gid=323796891) + +* **Section 1** describes how site areas on polkaholic.io map to a set of verification functions that will verify polkaholic.io web page / API data +* **Section 2** describes how _Verification Functions_ (prioritized based on perceived audience importance) will be delivered in Milestone 1 + 2 + 3 + +For each *verification function*, there will be two parallel deliverables: +1. _Browser-based code_: UI will have a "Verify" button in the area (same as "curl" call at the bottom of most pages) showing the code and running the code +2. _Server-side code_: A continuous process will randomly select an object (ie finalized block, extrinsic, event, or account) and run a similar server-side verification function, logging pass/fail results exposed in the UI +The browser-based code can be tested directly on the site, whereas logs of the server-side code will be exposed in the UI (which objects passed vs failed a verification function). + +Both forms of code will have almost identical core and rely on the polkadot JS API to do RPC calls like [this](https://github.com/colorfulnotion/polkaholic/blob/main/substrate/test/testGetAuthor.js#L18-L26), which gets the block. + + +Disclaimer on limitations of verifiability: +* Only chain data can be verified -- asset valuations, TopN account, login information are not feasible. +* Only _observed_ indexed data can be verified -- if the indexer hasn't observed an account (a secret genesis account) through its indexing processes, neither the UI or the continuous verification processes can discover that its missing without specialized reasoning +* Some chain data is incorrect and has been corrected in the polkaholic backend +These are marked "INFEASIBLE". Otherwise, we have attempted to be as comprehensive as possible, but skip verifiability of EVM chain data (and images) for simplicity / focus reasons, which are marked "NOT ATTEMPTING". +Other practical considerations: +* because traces are computationally expensive, and some verification requires traces (XCM message sending, see Milestone) we cannot run continuous verification except on our own full archive nodes (for which we do 12 or so out of 45+ parachains) +* new parachains often do not expose archival endpoints for some time. + +Precise deliverables for each milestone are shown in yellow cells in **Section 2** and are referenced below. + +### Milestone 1 — Implement Verifiability for Chain, Block, Extrinsics, Accounts + +- **Estimated duration:** 4 weeks +- **FTE:** 2.0 FTE +- **Costs:** 10,000 USD + +We will deliver verifiable functions concerning: + +* Block Data: `verifyBlockData`, `verifyBlockDataByBlockHash` +* Extrinsics: `verifyExtrinsicParams` +* Events: `verifyEventParams` +* Account Balance: `verifyAccountBalance` +* Account Addresses: `verifyAccountSS58Address` +* Account Transfers: `verifyEventParams_transfer` + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0A. | License | GNUv3 | +| 0B. | Documentation | We will provide: (a) **inline documentation** of the core crawling and indexing processes (b) how to setup polkaholic.io from an empty Google Cloud project | +| 0C. | Testing Guide | We will post a Google Doc to show the above verifiable functions in action: (a) For the browser-based Verification functions, this doc will show how each key site area has a "Verify" button which will show the browser-based code and run the check for the key object (block, extrinsic, account for that page), returning whether the test passed or failed; (b) For the server-based Verification functions, we will document how to configure run the continuous verification, how pass/fail are logged in the database and exposed in the UI. +| 1. | UI Augmentation: Browser-based JS for Verifiability | For all site areas shown in Section 2 "Milestone 1" Deliverables, we will add browser-based code to verify results by utilizing Polkadot RPC calls to WS Endpoints. | +| 2. | Backend Augmentation: Server-side JS for Verifiability | For all key pages, we will publish similar server-side code that also verifies results. | +| 3. | Blog Post | We will publish blog posts that show the results of our UI Augmentations. | + +We expect any observed failures in verification to result in indexing fixes. + +### Milestone 2 — Implement Verifiability for Account Rewards, Transfers, Crowdloans (Direct), Proxy + Multisig accounts + +- **Estimated duration:** 4 weeks +- **FTE:** 2.0 FTE +- **Costs:** 10,000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0A. | License | GNUv3 | +| 0B. | Documentation | We will provide **inline documentation** of the continuous verification processes implemented in Milestone 1 and 2 | +| 0C. | Testing Guide | We will augment the Google Doc Testing Guide to show the above verifiable functions in action for the new site areas covered by the verification functions. | +| 1. | UI Augmentation: Browser-based JS for Verifiability | For all site areas shown in Section 2 "Milestone 2" Deliverables, we will add browser-based code to verify results by utilizing Polkadot RPC calls to WS Endpoints. | +| 2. | Backend Augmentation: Server-side JS for Verifiability | For all site areas shown in Section 2 "Milestone 2" Deliverables, we will publish similar server-side code that also verifies results. | +| 3. | Continuous Testing | Using the server, Continuous random checks on every chain will be applied, outputting verification rates for each chain indexed. | +| 4. | Blog Post | We will publish blog posts that show the results of our UI Augmentations. | + +Same as above, but executing on a different set of verification functions: +* Rewards - `verifyEventParams_rewards` +* Proxy - `verifyAccountProxy(chainID, pubkey, proxyAddress, proxyType)` +* Multisig accounts - `verifyAccountMultisig` +* Identity information - `verifyAccountIdentity` +* Crowdloans (Direct) - `verifyEventParams_crowdloan` +* EVM Tx - `verifyEVMTx`. +* Trace - `verifyBlockTrace` +* Spec Version - `verifySpecVersion` + +Again, we expect any observed failures in verification to result in indexing fixes targeted + +### Milestone 3 — Implement Verifiable Timeline UI for XCM Transfers and Messages [UMP, DMP, HRMP] + +- **Estimated duration:** 4 weeks +- **FTE:** 2.0 FTE +- **Costs:** 10,000 USD + +Similar to the above, in this milestone we develop tooling for XCM Transfers + Messages, which we believe to be central to the success of the Polkadot ecosystem. We propose to build an XCM Timeline UI with verifiability of XCM transmissions for the 3 "common" XCM protocols (DMP, UMP, HRMP) that are already widely between several dozen parachains. A prototype timeline can be seen [here](https://polkaholic.io/timeline/0x1102d5d85d5047bcaf61793d7dc6944c813691c1ce9ced54d0b0470ffc475743) and is linked from the [XCM Transfers page](https://polkaholic.io/chains#xcmtransfers) which shows all indexed XCM Transfer. This XCM Timeline UI and existing XCM Transfer Indexing will be backed by 3 core verification functions that we will develop: + +* `verifyXCMMessageDMP` +* `verifyXCMMessageUMP` +* `verifyXCMMessageHRMP` + +which each will verify that a extrinsic's XCM message(s) are routed through a relaychain / parachain specific to one of these 3 protocols. A simple verification process will involve verifying whether the XCM Message from a sending chain has the expected extrinsics/events/traces on receiving and downward chains. + +We will attempt to adapt our XCM Timeline tool to support XCM instructions that contain XCM messages (`transferReserveAsset`, `depositReserveAsset`, `initiateReserveWithdraw`, `initiateTeleport`) within that scope, thus potentially involving more than 2 chains. + +We will restrict our XCM timeline tool to DMP, UMP, and HRMP/XCMP and our restrict our scope to existing v2 and v3 messages. + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0A. | License | GNUv3 | +| 0B. | Documentation | We will provide: (a) **inline documentation** of the **XCM Indexer** and how the matching process between sending and receiving chains works for **XCM Messages**; (b) APIs for retrieving indexed XCM messages + transfers with XCM v2+v3 | +| 0C. | Testing Guide | We will augment the Google Doc Testing Guide to (a) explain how the XCM Timeline UI "Verify" functionality can be accessed and used to test each of the 3 XCM protocols in scope; (b) explain how recursive XCM messages within the same scope can be covered. | +| 1. | UI Augmentation: XCM Messages Verifiability | Using the same approach as in Milestone 1 and 2, we will augment the Polkaholic.io with browser-based JS and server-side JS to support verifiability of XCM Results. | +| 2. | Continuous Testing | Using server-side JS, continuous random checks on recent XCM Messages chain will be applied, outputting verification rates. | +| 3. | Blog Post | We will publish a blog posts that demonstrate the Polkaholic.io XCM Messages and Transfers API and new Timeline functionality. | + +We expect any observed failures in verification and the XCM Timeline tool to result in indexing fixes targeted at XCM specifically. + +## Future Plans + +Polkaholic.io intends to operate its multi-chain block explorer for Polkadot users long-term, as well as supporting parachain developers and dapp developers with XCM tooling and APIs that just work. + +## Additional Information :heavy_plus_sign: + +* Polkaholic directly addresses this RFP for a [Multi-Chain Block Explorer](https://github.com/w3f/Grants-Program/blob/master/rfps/open/multi-chain-block-explorer.md) +* Bill@Web3F recommended we develop a XCM call graph UI, supporting this RFP for [XCM library & tools](https://github.com/w3f/Grants-Program/blob/master/rfps/open/xcm-tool.md) +* We were recommended by Radha to look at the Grants + Treasury Program and through June 2022's Polkadot Decoded event after submitting a polkadot.js PR. +* We welcome active collaborations with parachains, wallet developers, and projects engaged in "remote control" XCM that are interested in XCM Transfers + Messages APIs and related tooling. From 5fe086177ca58b4feb7ceece9d033e829491c827 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 18 Jul 2022 11:56:47 +0200 Subject: [PATCH 0004/1872] Update accepted_grant_applications.md Polkaholic --- docs/accepted_grant_applications.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 29acc56f490..8fabb4db50b 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -517,3 +517,5 @@ | [Liberland LLC](https://liberland.org/en/) | Liberland Pallets | [GitHub](https://github.com/liberland/liberland_substrate) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Standard Protocol](https://standard.tech/) | Signac - a monorepo plugin for developing multiple Parity ink! smart contracts | [GitHub](https://github.com/digitalnativeinc) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [B-Datagray](https://www.b-datagray.com/) | Datagen Project | [GitHub](https://github.com/Datagen-Project) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Colorful Notion](https://polkaholic.io/#chains) | Polkaholic.io's Multi-Chain Substrate Block Explorer | [GitHub](https://github.com/colorfulnotion/polkaholic/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| + From c9014aacbc5bc850d119454ab0d41e7d52962135 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 18 Jul 2022 14:33:42 +0200 Subject: [PATCH 0005/1872] Update polkadot_stack.md Add Pendulum Chain --- docs/polkadot_stack.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/polkadot_stack.md b/docs/polkadot_stack.md index c671e7dac5c..93691bf3e4b 100644 --- a/docs/polkadot_stack.md +++ b/docs/polkadot_stack.md @@ -133,7 +133,7 @@ In the below sections you can find a list of different layers of the Polkadot St | Privacy | [Webb Anon](https://github.com/webb-tools/anon) :red_circle:, [ZeroChain](https://github.com/LayerXcom/zero-chain) :red_circle:, [pLibra (Phala Network)](https://github.com/Phala-Network/phala-blockchain) :green_circle:, [Automata Network](https://github.com/automata-network/automata) :green_circle:, [zCloak Network](https://github.com/zCloak-Network/zcloak-node) :red_circle:, [Zero Network](https://github.com/zero-network/zero) :green_circle:| [Multi-Asset Shielded Pool (MASP)](https://github.com/anoma/masp) , [Zkay](https://arxiv.org/pdf/2009.01020.pdf), [Zexe](https://eprint.iacr.org/2018/962.pdf) | ZKP | [ZeroPool](https://github.com/zeropoolnetwork/zeropool-substrate-groth16-example) :red_circle:, [Megaclite](https://github.com/patractlabs/megaclite) :red_circle:, [zkMega](https://github.com/patractlabs/zkmega) :red_circle:, [PLONK for Substrate](https://github.com/AstarNetwork/plonk) :yellow_circle:, [Webb Anchor Protocol](https://github.com/webb-tools/protocol-substrate) :green_circle:| | TEE | [Integritee](https://github.com/integritee-network/worker) :green_circle:, [substraTEE](https://github.com/scs/substraTEE) :red_circle: -| DeFi | [Compound Gateway](https://github.com/compound-finance/gateway) :red_circle:, [Parallel Finance](https://github.com/parallel-finance/parallel) :green_circle:, [PINT](https://github.com/ChainSafe/PINT) :red_circle:, [Laminar Chain](https://github.com/laminar-protocol/laminar-chain) :red_circle:, [Acala](https://github.com/AcalaNetwork/Acala) :green_circle:, [Centrifuge](https://github.com/centrifuge/centrifuge-chain) :green_circle:, [Stafi](https://github.com/stafiprotocol/stafi-node) :red_circle:, [Definex](https://github.com/y2labs-0sh/definex) :red_circle:, [OAX Foundation](https://github.com/OAXFoundation/parrot) :red_circle:, [Cybex](https://github.com/alexxuyang/substrate-dex) :red_circle:, [Zenlink](https://github.com/zenlinkpro/pallet-zenlink) :red_circle:, [Swaps Pallet](https://github.com/lsaether/pallet-swaps) :red_circle:, [Polkadex](https://github.com/Polkadex-Substrate/Polkadex/tree/master) :yellow_circle:, [SubDEX](https://github.com/subdarkdex/subdex-parachain) :red_circle:, [HydraDX](https://github.com/galacticcouncil/hack.HydraDX-node) :green_circle:, [Substrate Stablecoin](https://github.com/apopiak/stablecoin) :red_circle:, [Standard protocol](https://github.com/digitalnativeinc/standard-substrate) :yellow_circle:, [Polkaswap](https://github.com/sora-xor/sora2-network) :green_circle:, [Curve AMM](https://github.com/equilibrium-eosdt/equilibrium-curve-amm) :red_circle:, [Konomi Network](https://github.com/konomi-network/cumulus/) :red_circle:, [Composable Finance](https://github.com/ComposableFi/composable) :green_circle:, [Stable Asset](https://github.com/nutsfinance/stable-asset) :red_circle:, [Libra Payment](https://github.com/atscaletech/libra) :green_circle:, [Mangata](https://github.com/mangata-finance/mangata-node) :green_circle:, [Tidechain](https://github.com/tidelabs/tidechain) :green_circle:| DEX with privacy and confidentiality features such as those found in a [dark pool](https://en.wikipedia.org/wiki/Dark_pool) +| DeFi | [Pendulum Chain](https://github.com/pendulum-chain/pendulum), [Compound Gateway](https://github.com/compound-finance/gateway) :red_circle:, [Parallel Finance](https://github.com/parallel-finance/parallel) :green_circle:, [PINT](https://github.com/ChainSafe/PINT) :red_circle:, [Laminar Chain](https://github.com/laminar-protocol/laminar-chain) :red_circle:, [Acala](https://github.com/AcalaNetwork/Acala) :green_circle:, [Centrifuge](https://github.com/centrifuge/centrifuge-chain) :green_circle:, [Stafi](https://github.com/stafiprotocol/stafi-node) :red_circle:, [Definex](https://github.com/y2labs-0sh/definex) :red_circle:, [OAX Foundation](https://github.com/OAXFoundation/parrot) :red_circle:, [Cybex](https://github.com/alexxuyang/substrate-dex) :red_circle:, [Zenlink](https://github.com/zenlinkpro/pallet-zenlink) :red_circle:, [Swaps Pallet](https://github.com/lsaether/pallet-swaps) :red_circle:, [Polkadex](https://github.com/Polkadex-Substrate/Polkadex/tree/master) :yellow_circle:, [SubDEX](https://github.com/subdarkdex/subdex-parachain) :red_circle:, [HydraDX](https://github.com/galacticcouncil/hack.HydraDX-node) :green_circle:, [Substrate Stablecoin](https://github.com/apopiak/stablecoin) :red_circle:, [Standard protocol](https://github.com/digitalnativeinc/standard-substrate) :yellow_circle:, [Polkaswap](https://github.com/sora-xor/sora2-network) :green_circle:, [Curve AMM](https://github.com/equilibrium-eosdt/equilibrium-curve-amm) :red_circle:, [Konomi Network](https://github.com/konomi-network/cumulus/) :red_circle:, [Composable Finance](https://github.com/ComposableFi/composable) :green_circle:, [Stable Asset](https://github.com/nutsfinance/stable-asset) :red_circle:, [Libra Payment](https://github.com/atscaletech/libra) :green_circle:, [Mangata](https://github.com/mangata-finance/mangata-node) :green_circle:, [Tidechain](https://github.com/tidelabs/tidechain) :green_circle:| DEX with privacy and confidentiality features such as those found in a [dark pool](https://en.wikipedia.org/wiki/Dark_pool) | Smart contract chains | [moonbeam](https://github.com/PureStake/moonbeam) :green_circle:, [Edgeware](https://github.com/hicommonwealth/edgeware-node) :red_circle:, [ParaState](https://github.com/ParaState/substrate-ssvm-node) :red_circle:, [gear](https://github.com/gear-tech/gear) :green_circle:, [CENNZnet](https://github.com/cennznet/cennznet) :green_circle:, [SkyeKiwi](https://github.com/skyekiwi/skyekiwi-network) :green_circle:, [OAK-blockchain](https://github.com/OAK-Foundation/OAK-blockchain) :green_circle:, [ICE Blockchain](https://github.com/web3labs/ice-substrate) :green_circle:| smart contract chains with novel security approaches, smart contract chains based on existing toolchains| | Oracle | [Laminar](https://github.com/laminar-protocol/open-runtime-module-library/tree/master/oracle) :green_circle:, [Parallel Finance](https://github.com/parallel-finance/parallel/blob/feature-oracle/pallets/ocw-oracle/src/lib.rs) :green_circle:, [Chainlink-polkadot](https://github.com/smartcontractkit/chainlink-polkadot) :red_circle:, [Ares Protocol](https://github.com/aresprotocols/ares) :green_circle:, [Kylin Network](https://github.com/Kylin-Network/kylin-node) :green_circle:, [interbtc-clients oracle](https://github.com/interlay/interbtc-clients/tree/master/oracle) :green_circle:, [Anonima](https://github.com/webb-tools/anonima) :red_circle:, [Apollo](https://github.com/ComposableFi/composable/tree/main/frame/oracle) :green_circle: | Identity/DID | [Litentry](https://github.com/litentry/litentry-runtime) :red_circle:, [pallet-did](https://github.com/substrate-developer-hub/pallet-did) :red_circle:, [dot-id](https://github.com/prasad-kumkar/dot-id) :red_circle: From 2e8fe08452e908aec1d5587edeee1c20624519cc Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 18 Jul 2022 14:39:28 +0200 Subject: [PATCH 0006/1872] Update polkadot_stack.md Diora --- docs/polkadot_stack.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/polkadot_stack.md b/docs/polkadot_stack.md index 93691bf3e4b..5a99e0b4cac 100644 --- a/docs/polkadot_stack.md +++ b/docs/polkadot_stack.md @@ -133,7 +133,7 @@ In the below sections you can find a list of different layers of the Polkadot St | Privacy | [Webb Anon](https://github.com/webb-tools/anon) :red_circle:, [ZeroChain](https://github.com/LayerXcom/zero-chain) :red_circle:, [pLibra (Phala Network)](https://github.com/Phala-Network/phala-blockchain) :green_circle:, [Automata Network](https://github.com/automata-network/automata) :green_circle:, [zCloak Network](https://github.com/zCloak-Network/zcloak-node) :red_circle:, [Zero Network](https://github.com/zero-network/zero) :green_circle:| [Multi-Asset Shielded Pool (MASP)](https://github.com/anoma/masp) , [Zkay](https://arxiv.org/pdf/2009.01020.pdf), [Zexe](https://eprint.iacr.org/2018/962.pdf) | ZKP | [ZeroPool](https://github.com/zeropoolnetwork/zeropool-substrate-groth16-example) :red_circle:, [Megaclite](https://github.com/patractlabs/megaclite) :red_circle:, [zkMega](https://github.com/patractlabs/zkmega) :red_circle:, [PLONK for Substrate](https://github.com/AstarNetwork/plonk) :yellow_circle:, [Webb Anchor Protocol](https://github.com/webb-tools/protocol-substrate) :green_circle:| | TEE | [Integritee](https://github.com/integritee-network/worker) :green_circle:, [substraTEE](https://github.com/scs/substraTEE) :red_circle: -| DeFi | [Pendulum Chain](https://github.com/pendulum-chain/pendulum), [Compound Gateway](https://github.com/compound-finance/gateway) :red_circle:, [Parallel Finance](https://github.com/parallel-finance/parallel) :green_circle:, [PINT](https://github.com/ChainSafe/PINT) :red_circle:, [Laminar Chain](https://github.com/laminar-protocol/laminar-chain) :red_circle:, [Acala](https://github.com/AcalaNetwork/Acala) :green_circle:, [Centrifuge](https://github.com/centrifuge/centrifuge-chain) :green_circle:, [Stafi](https://github.com/stafiprotocol/stafi-node) :red_circle:, [Definex](https://github.com/y2labs-0sh/definex) :red_circle:, [OAX Foundation](https://github.com/OAXFoundation/parrot) :red_circle:, [Cybex](https://github.com/alexxuyang/substrate-dex) :red_circle:, [Zenlink](https://github.com/zenlinkpro/pallet-zenlink) :red_circle:, [Swaps Pallet](https://github.com/lsaether/pallet-swaps) :red_circle:, [Polkadex](https://github.com/Polkadex-Substrate/Polkadex/tree/master) :yellow_circle:, [SubDEX](https://github.com/subdarkdex/subdex-parachain) :red_circle:, [HydraDX](https://github.com/galacticcouncil/hack.HydraDX-node) :green_circle:, [Substrate Stablecoin](https://github.com/apopiak/stablecoin) :red_circle:, [Standard protocol](https://github.com/digitalnativeinc/standard-substrate) :yellow_circle:, [Polkaswap](https://github.com/sora-xor/sora2-network) :green_circle:, [Curve AMM](https://github.com/equilibrium-eosdt/equilibrium-curve-amm) :red_circle:, [Konomi Network](https://github.com/konomi-network/cumulus/) :red_circle:, [Composable Finance](https://github.com/ComposableFi/composable) :green_circle:, [Stable Asset](https://github.com/nutsfinance/stable-asset) :red_circle:, [Libra Payment](https://github.com/atscaletech/libra) :green_circle:, [Mangata](https://github.com/mangata-finance/mangata-node) :green_circle:, [Tidechain](https://github.com/tidelabs/tidechain) :green_circle:| DEX with privacy and confidentiality features such as those found in a [dark pool](https://en.wikipedia.org/wiki/Dark_pool) +| DeFi | [Diora](https://github.com/Diora-Network/Diora), [Pendulum Chain](https://github.com/pendulum-chain/pendulum), [Compound Gateway](https://github.com/compound-finance/gateway) :red_circle:, [Parallel Finance](https://github.com/parallel-finance/parallel) :green_circle:, [PINT](https://github.com/ChainSafe/PINT) :red_circle:, [Laminar Chain](https://github.com/laminar-protocol/laminar-chain) :red_circle:, [Acala](https://github.com/AcalaNetwork/Acala) :green_circle:, [Centrifuge](https://github.com/centrifuge/centrifuge-chain) :green_circle:, [Stafi](https://github.com/stafiprotocol/stafi-node) :red_circle:, [Definex](https://github.com/y2labs-0sh/definex) :red_circle:, [OAX Foundation](https://github.com/OAXFoundation/parrot) :red_circle:, [Cybex](https://github.com/alexxuyang/substrate-dex) :red_circle:, [Zenlink](https://github.com/zenlinkpro/pallet-zenlink) :red_circle:, [Swaps Pallet](https://github.com/lsaether/pallet-swaps) :red_circle:, [Polkadex](https://github.com/Polkadex-Substrate/Polkadex/tree/master) :yellow_circle:, [SubDEX](https://github.com/subdarkdex/subdex-parachain) :red_circle:, [HydraDX](https://github.com/galacticcouncil/hack.HydraDX-node) :green_circle:, [Substrate Stablecoin](https://github.com/apopiak/stablecoin) :red_circle:, [Standard protocol](https://github.com/digitalnativeinc/standard-substrate) :yellow_circle:, [Polkaswap](https://github.com/sora-xor/sora2-network) :green_circle:, [Curve AMM](https://github.com/equilibrium-eosdt/equilibrium-curve-amm) :red_circle:, [Konomi Network](https://github.com/konomi-network/cumulus/) :red_circle:, [Composable Finance](https://github.com/ComposableFi/composable) :green_circle:, [Stable Asset](https://github.com/nutsfinance/stable-asset) :red_circle:, [Libra Payment](https://github.com/atscaletech/libra) :green_circle:, [Mangata](https://github.com/mangata-finance/mangata-node) :green_circle:, [Tidechain](https://github.com/tidelabs/tidechain) :green_circle:| DEX with privacy and confidentiality features such as those found in a [dark pool](https://en.wikipedia.org/wiki/Dark_pool) | Smart contract chains | [moonbeam](https://github.com/PureStake/moonbeam) :green_circle:, [Edgeware](https://github.com/hicommonwealth/edgeware-node) :red_circle:, [ParaState](https://github.com/ParaState/substrate-ssvm-node) :red_circle:, [gear](https://github.com/gear-tech/gear) :green_circle:, [CENNZnet](https://github.com/cennznet/cennznet) :green_circle:, [SkyeKiwi](https://github.com/skyekiwi/skyekiwi-network) :green_circle:, [OAK-blockchain](https://github.com/OAK-Foundation/OAK-blockchain) :green_circle:, [ICE Blockchain](https://github.com/web3labs/ice-substrate) :green_circle:| smart contract chains with novel security approaches, smart contract chains based on existing toolchains| | Oracle | [Laminar](https://github.com/laminar-protocol/open-runtime-module-library/tree/master/oracle) :green_circle:, [Parallel Finance](https://github.com/parallel-finance/parallel/blob/feature-oracle/pallets/ocw-oracle/src/lib.rs) :green_circle:, [Chainlink-polkadot](https://github.com/smartcontractkit/chainlink-polkadot) :red_circle:, [Ares Protocol](https://github.com/aresprotocols/ares) :green_circle:, [Kylin Network](https://github.com/Kylin-Network/kylin-node) :green_circle:, [interbtc-clients oracle](https://github.com/interlay/interbtc-clients/tree/master/oracle) :green_circle:, [Anonima](https://github.com/webb-tools/anonima) :red_circle:, [Apollo](https://github.com/ComposableFi/composable/tree/main/frame/oracle) :green_circle: | Identity/DID | [Litentry](https://github.com/litentry/litentry-runtime) :red_circle:, [pallet-did](https://github.com/substrate-developer-hub/pallet-did) :red_circle:, [dot-id](https://github.com/prasad-kumkar/dot-id) :red_circle: From a58d2dda96ef898a26afdc30dfa87f79a9c3bf65 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 18 Jul 2022 15:02:19 +0200 Subject: [PATCH 0007/1872] Update T&Cs.md (#1073) Forbid subcontracting more explicitly. --- docs/T&Cs.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/T&Cs.md b/docs/T&Cs.md index 0a1cb3c680a..f5fd49929a2 100644 --- a/docs/T&Cs.md +++ b/docs/T&Cs.md @@ -1,7 +1,7 @@ Grants Terms and Conditions =========================== -Updated July 2021 +Updated July 2022 * * * * * @@ -139,6 +139,8 @@ In performing your obligations under these Terms and Conditions, You shall: 5. ensure that your development team consists of a sufficient number of appropriately skilled and experienced individuals 6. develop the Software as an open source software under the Apache license version 2.0. +Unless expressly agreed otherwise in writing by the Foundation, the Grantee shall not subcontract, even partially, the development of the project/deliverable to any third party. If the project/deliverable, in whole or in part, is subcontracted to a third party without the consent of the Foundation, the Foundation is entitled to immediately terminate the Grant Agreement and to recover the grant amount already disbursed. + The Parties acknowledge and agree that the requirements set out in the Milestones may only be varied or amended by submitting another pull request and the following reevaluation by the committee under the same conditions as the initial application review process specified above. ## 6. Obligations of User From 0092ae7a9f8c15ce04a9dae5a8758d51da14f363 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 19 Jul 2022 13:51:43 +0200 Subject: [PATCH 0008/1872] Update README.md (#1074) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update README.md Add decision tree * Update README.md Co-authored-by: Sebastian Müller * Update README.md Co-authored-by: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> Co-authored-by: Sebastian Müller Co-authored-by: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> --- README.md | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d04f6a8638b..8941618d1be 100644 --- a/README.md +++ b/README.md @@ -234,7 +234,34 @@ Besides, we also have a **community room for all grant recipients**. Head over t ## :rocket: Alternative Funding Sources -Some funding sources might be more and some less suitable for your project throughout its various stages. We encourage you to explore alternative funding options listed below. Please note, however, that you should not seek to fund the **same scope of work** from multiple sources and that any team found doing so will have its Web3 Foundation support terminated. +We encourage you to explore the alternative funding options listed below. Please note, however, that you should not seek to fund the **same scope of work** from multiple sources and that any team found doing so will have its Web3 Foundation support terminated. + +**Substrate Builders Program vs Treasury vs Web3 Grants** (Oversimplified, to provide initial guidance) + +```mermaid +flowchart LR + A(Project Focus) + A -->|Development| B[Stage of Development] + A -->|Research| C[Grants Program] + A -->|Other| D[Treasury] + B -->|Existing POC| E[Goal of the Application] + B -->|No POC| F[Grants Program] + E -->|Funding| G[Treasury or Grants Program] + E -->|Support| H[Substrate Builders Program] + style C stroke:#e83e8c,stroke-width:2px,stroke-dasharray: 5 5 + style D stroke:#e83e8c,stroke-width:2px,stroke-dasharray: 5 5 + style F stroke:#e83e8c,stroke-width:2px,stroke-dasharray: 5 5 + style G stroke:#e83e8c,stroke-width:2px,stroke-dasharray: 5 5 + style H stroke:#e83e8c,stroke-width:2px,stroke-dasharray: 5 5 + + click C "#pencil-process" "You are already in the right place :)" + click D "https://wiki.polkadot.network/docs/en/learn-treasury" _blank + click H "https://www.substrate.io/builders-program/" _blank +``` + +### Substrate Builders Program + +The [Substrate Builders Program](https://substrate.io/ecosystem/substrate-builders-program/) directly supports you by connecting you with Parity’s extensive resources. ### Treasury From 8384b866bf5ad7782301f80860446712dda2fa35 Mon Sep 17 00:00:00 2001 From: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> Date: Tue, 19 Jul 2022 14:28:12 +0200 Subject: [PATCH 0009/1872] Fix Darwinia Grants Program link (#1076) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8941618d1be..4a9065f229b 100644 --- a/README.md +++ b/README.md @@ -281,7 +281,7 @@ The best way to find out about upcoming hackathons is by following Polkadot on t Below is a list of other grant programs in the Polkadot/Substrate ecosystem: -- [Darwinia Grants Program](https://docs.darwinia.network/developers/dev-bounty) +- [Darwinia Grants Program](https://github.com/darwinia-network/collaboration/blob/master/grant/README.md#grant-program) - [Moonbeam Grants Program](https://moonbeam.foundation/grants/) - [Edgeware Grants and Bounties](https://github.com/edgeware-builders/construction-projects) - [Crust Grants Program](https://github.com/crustio/Crust-Grants-Program) From fdf757a3232ad9f32ec12fa459963b5ad31403a9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 19 Jul 2022 15:05:44 +0200 Subject: [PATCH 0010/1872] Update status badges (#1075) Co-authored-by: github-actions[bot] --- docs/polkadot_stack.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/polkadot_stack.md b/docs/polkadot_stack.md index 5a99e0b4cac..99acf050e92 100644 --- a/docs/polkadot_stack.md +++ b/docs/polkadot_stack.md @@ -70,7 +70,7 @@ In the below sections you can find a list of different layers of the Polkadot St | Components | Existing projects | Potentially interesting projects |-|-|- -| Desktop/Web Wallets | [Talisman Web Application](https://github.com/TalismanSociety/talisman-web) :green_circle:, [AirGap](https://github.com/airgap-it/airgap-wallet) :yellow_circle:, [Sakura](https://github.com/w3finance/sakura) :red_circle:| User-friendly Wallet based on the [Recovery Pallet](https://github.com/paritytech/substrate/tree/master/frame/recovery), Web wallets focused on user-onboarding (e.g. using [localStorage](https://github.com/near/near-wallet) ) +| Desktop/Web Wallets | [Talisman Web Application](https://github.com/TalismanSociety/talisman-web) :green_circle:, [AirGap](https://github.com/airgap-it/airgap-wallet) :green_circle:, [Sakura](https://github.com/w3finance/sakura) :red_circle:| User-friendly Wallet based on the [Recovery Pallet](https://github.com/paritytech/substrate/tree/master/frame/recovery), Web wallets focused on user-onboarding (e.g. using [localStorage](https://github.com/near/near-wallet) ) | Browser Extensions | [Polkadot{.js}](https://github.com/polkadot-js/extension) :green_circle:, [Polkadot-Js-Plus-Extension](https://github.com/Nick-1979/polkadot-Js-Plus-extension) :green_circle:, [SubWallet-Extension](https://github.com/Koniverse/SubWallet-Extension) :green_circle:, [Doter](https://github.com/ChainBridgeNetworkTeam/Doter) :red_circle:, [Enzyme](https://github.com/blockxlabs/enzyme/) :red_circle:, [Speckle OS](https://github.com/GetSpeckle/speckle-browser-extension) :red_circle:| Sign-in with your polkadot, kusama, etc. account. | Mobile Wallets| [Lunie](https://github.com/luniehq/lunie) :red_circle:, [Polkawallet](https://github.com/polkawallet-io/polkawallet-flutter) :red_circle:, [Parity Signer](https://github.com/paritytech/parity-signer) :green_circle:, [imToken](https://github.com/consenlabs/token-core) :red_circle:, [Fearless Wallet Android](https://github.com/soramitsu/fearless-Android) :green_circle:, [Fearless Wallet iOS](https://github.com/soramitsu/fearless-iOS) :green_circle:, [Stylo](https://github.com/stylo-app/stylo) :green_circle:, [Nova Wallet](https://github.com/nova-wallet/nova-utils) :green_circle:, [Fractapp](https://github.com/fractapp/fractapp/) :red_circle: | Burner Wallets/Faucet| [KodaDot](https://github.com/vue-polkadot/apps) :red_circle:, [Astar Faucet Bot](https://github.com/AstarNetwork/astar-faucet-bot) :yellow_circle:| Faucet (a sybil-resistant way to receive free tokens) @@ -133,7 +133,7 @@ In the below sections you can find a list of different layers of the Polkadot St | Privacy | [Webb Anon](https://github.com/webb-tools/anon) :red_circle:, [ZeroChain](https://github.com/LayerXcom/zero-chain) :red_circle:, [pLibra (Phala Network)](https://github.com/Phala-Network/phala-blockchain) :green_circle:, [Automata Network](https://github.com/automata-network/automata) :green_circle:, [zCloak Network](https://github.com/zCloak-Network/zcloak-node) :red_circle:, [Zero Network](https://github.com/zero-network/zero) :green_circle:| [Multi-Asset Shielded Pool (MASP)](https://github.com/anoma/masp) , [Zkay](https://arxiv.org/pdf/2009.01020.pdf), [Zexe](https://eprint.iacr.org/2018/962.pdf) | ZKP | [ZeroPool](https://github.com/zeropoolnetwork/zeropool-substrate-groth16-example) :red_circle:, [Megaclite](https://github.com/patractlabs/megaclite) :red_circle:, [zkMega](https://github.com/patractlabs/zkmega) :red_circle:, [PLONK for Substrate](https://github.com/AstarNetwork/plonk) :yellow_circle:, [Webb Anchor Protocol](https://github.com/webb-tools/protocol-substrate) :green_circle:| | TEE | [Integritee](https://github.com/integritee-network/worker) :green_circle:, [substraTEE](https://github.com/scs/substraTEE) :red_circle: -| DeFi | [Diora](https://github.com/Diora-Network/Diora), [Pendulum Chain](https://github.com/pendulum-chain/pendulum), [Compound Gateway](https://github.com/compound-finance/gateway) :red_circle:, [Parallel Finance](https://github.com/parallel-finance/parallel) :green_circle:, [PINT](https://github.com/ChainSafe/PINT) :red_circle:, [Laminar Chain](https://github.com/laminar-protocol/laminar-chain) :red_circle:, [Acala](https://github.com/AcalaNetwork/Acala) :green_circle:, [Centrifuge](https://github.com/centrifuge/centrifuge-chain) :green_circle:, [Stafi](https://github.com/stafiprotocol/stafi-node) :red_circle:, [Definex](https://github.com/y2labs-0sh/definex) :red_circle:, [OAX Foundation](https://github.com/OAXFoundation/parrot) :red_circle:, [Cybex](https://github.com/alexxuyang/substrate-dex) :red_circle:, [Zenlink](https://github.com/zenlinkpro/pallet-zenlink) :red_circle:, [Swaps Pallet](https://github.com/lsaether/pallet-swaps) :red_circle:, [Polkadex](https://github.com/Polkadex-Substrate/Polkadex/tree/master) :yellow_circle:, [SubDEX](https://github.com/subdarkdex/subdex-parachain) :red_circle:, [HydraDX](https://github.com/galacticcouncil/hack.HydraDX-node) :green_circle:, [Substrate Stablecoin](https://github.com/apopiak/stablecoin) :red_circle:, [Standard protocol](https://github.com/digitalnativeinc/standard-substrate) :yellow_circle:, [Polkaswap](https://github.com/sora-xor/sora2-network) :green_circle:, [Curve AMM](https://github.com/equilibrium-eosdt/equilibrium-curve-amm) :red_circle:, [Konomi Network](https://github.com/konomi-network/cumulus/) :red_circle:, [Composable Finance](https://github.com/ComposableFi/composable) :green_circle:, [Stable Asset](https://github.com/nutsfinance/stable-asset) :red_circle:, [Libra Payment](https://github.com/atscaletech/libra) :green_circle:, [Mangata](https://github.com/mangata-finance/mangata-node) :green_circle:, [Tidechain](https://github.com/tidelabs/tidechain) :green_circle:| DEX with privacy and confidentiality features such as those found in a [dark pool](https://en.wikipedia.org/wiki/Dark_pool) +| DeFi | [Diora](https://github.com/Diora-Network/Diora) :green_circle:, [Pendulum Chain](https://github.com/pendulum-chain/pendulum) :green_circle:, [Compound Gateway](https://github.com/compound-finance/gateway) :red_circle:, [Parallel Finance](https://github.com/parallel-finance/parallel) :green_circle:, [PINT](https://github.com/ChainSafe/PINT) :red_circle:, [Laminar Chain](https://github.com/laminar-protocol/laminar-chain) :red_circle:, [Acala](https://github.com/AcalaNetwork/Acala) :green_circle:, [Centrifuge](https://github.com/centrifuge/centrifuge-chain) :green_circle:, [Stafi](https://github.com/stafiprotocol/stafi-node) :red_circle:, [Definex](https://github.com/y2labs-0sh/definex) :red_circle:, [OAX Foundation](https://github.com/OAXFoundation/parrot) :red_circle:, [Cybex](https://github.com/alexxuyang/substrate-dex) :red_circle:, [Zenlink](https://github.com/zenlinkpro/pallet-zenlink) :red_circle:, [Swaps Pallet](https://github.com/lsaether/pallet-swaps) :red_circle:, [Polkadex](https://github.com/Polkadex-Substrate/Polkadex/tree/master) :yellow_circle:, [SubDEX](https://github.com/subdarkdex/subdex-parachain) :red_circle:, [HydraDX](https://github.com/galacticcouncil/hack.HydraDX-node) :green_circle:, [Substrate Stablecoin](https://github.com/apopiak/stablecoin) :red_circle:, [Standard protocol](https://github.com/digitalnativeinc/standard-substrate) :yellow_circle:, [Polkaswap](https://github.com/sora-xor/sora2-network) :green_circle:, [Curve AMM](https://github.com/equilibrium-eosdt/equilibrium-curve-amm) :red_circle:, [Konomi Network](https://github.com/konomi-network/cumulus/) :red_circle:, [Composable Finance](https://github.com/ComposableFi/composable) :green_circle:, [Stable Asset](https://github.com/nutsfinance/stable-asset) :red_circle:, [Libra Payment](https://github.com/atscaletech/libra) :green_circle:, [Mangata](https://github.com/mangata-finance/mangata-node) :green_circle:, [Tidechain](https://github.com/tidelabs/tidechain) :green_circle:| DEX with privacy and confidentiality features such as those found in a [dark pool](https://en.wikipedia.org/wiki/Dark_pool) | Smart contract chains | [moonbeam](https://github.com/PureStake/moonbeam) :green_circle:, [Edgeware](https://github.com/hicommonwealth/edgeware-node) :red_circle:, [ParaState](https://github.com/ParaState/substrate-ssvm-node) :red_circle:, [gear](https://github.com/gear-tech/gear) :green_circle:, [CENNZnet](https://github.com/cennznet/cennznet) :green_circle:, [SkyeKiwi](https://github.com/skyekiwi/skyekiwi-network) :green_circle:, [OAK-blockchain](https://github.com/OAK-Foundation/OAK-blockchain) :green_circle:, [ICE Blockchain](https://github.com/web3labs/ice-substrate) :green_circle:| smart contract chains with novel security approaches, smart contract chains based on existing toolchains| | Oracle | [Laminar](https://github.com/laminar-protocol/open-runtime-module-library/tree/master/oracle) :green_circle:, [Parallel Finance](https://github.com/parallel-finance/parallel/blob/feature-oracle/pallets/ocw-oracle/src/lib.rs) :green_circle:, [Chainlink-polkadot](https://github.com/smartcontractkit/chainlink-polkadot) :red_circle:, [Ares Protocol](https://github.com/aresprotocols/ares) :green_circle:, [Kylin Network](https://github.com/Kylin-Network/kylin-node) :green_circle:, [interbtc-clients oracle](https://github.com/interlay/interbtc-clients/tree/master/oracle) :green_circle:, [Anonima](https://github.com/webb-tools/anonima) :red_circle:, [Apollo](https://github.com/ComposableFi/composable/tree/main/frame/oracle) :green_circle: | Identity/DID | [Litentry](https://github.com/litentry/litentry-runtime) :red_circle:, [pallet-did](https://github.com/substrate-developer-hub/pallet-did) :red_circle:, [dot-id](https://github.com/prasad-kumkar/dot-id) :red_circle: From 594f94ac2f2c6557c769928c08ab89440f9fc886 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Tue, 19 Jul 2022 17:06:41 +0200 Subject: [PATCH 0011/1872] Update status_badges.yml (#1077) Suggesting to update the status badges once a week instead of every day. --- .github/workflows/status_badges.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/status_badges.yml b/.github/workflows/status_badges.yml index 63cc12fa39a..2a16b227581 100644 --- a/.github/workflows/status_badges.yml +++ b/.github/workflows/status_badges.yml @@ -1,7 +1,7 @@ name: Update Status Badges on: schedule: - - cron: '0 0 * * *' + - cron: '0 0 * * 1' workflow_dispatch: jobs: From f0333053759db91cd6d3c1abf3ae56c7d1bdf82b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Tue, 19 Jul 2022 17:10:15 +0200 Subject: [PATCH 0012/1872] Comment to make private discussion more obvious (#1078) --- .../{details_missing.yml => label_comment.yml} | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) rename .github/workflows/{details_missing.yml => label_comment.yml} (83%) diff --git a/.github/workflows/details_missing.yml b/.github/workflows/label_comment.yml similarity index 83% rename from .github/workflows/details_missing.yml rename to .github/workflows/label_comment.yml index 08916655cc6..853616bbeb5 100644 --- a/.github/workflows/details_missing.yml +++ b/.github/workflows/label_comment.yml @@ -1,4 +1,4 @@ -name: ask_for_details +name: comment_on_label on: pull_request_target: @@ -36,3 +36,14 @@ jobs: Let us know as soon as you're done with your changes, and we'll give your application another look! GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + private_conversation: + if: github.event.label.name == 'discussion private' + runs-on: ubuntu-latest + steps: + - name: Comment PR + uses: thollander/actions-comment-pull-request@1.0.2 + with: + message: > + The applicant has requested the discussion of the application to happen in a private chat room. + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From fd17e36e419128666c01ca7bdd8029f49941e15c Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 19 Jul 2022 17:29:36 +0200 Subject: [PATCH 0013/1872] Update polkadot_stack.md Polkadot AMM ink --- docs/polkadot_stack.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/polkadot_stack.md b/docs/polkadot_stack.md index 99acf050e92..f7a33f45c33 100644 --- a/docs/polkadot_stack.md +++ b/docs/polkadot_stack.md @@ -117,7 +117,7 @@ In the below sections you can find a list of different layers of the Polkadot St | Components | Existing projects | Potentially interesting projects |-|-|- | Bridges | [Dante Protocol](https://github.com/dantenetwork/protocol-stack-for-ink) :green_circle:| | -| DeFi | [Vera](https://github.com/veradefi/defi) :red_circle:, [Nsure Insurance](https://github.com/nsure-tech/dot-contract) :red_circle:, [Everlasting Cash](https://github.com/CycanTech/ELC) :red_circle:, [Coinversation](https://github.com/Coinversation/coinpro) :red_circle:, [zenlink-dex-contract](https://github.com/zenlinkpro/zenlink-dex-contract) :green_circle:, [AlgoCash](https://github.com/ReserveLabs/AlgoCash) :red_circle:| New seigniorage-style stable coins +| DeFi | [Polkadot AMM](https://github.com/realnimish/polkadot-amm), [Vera](https://github.com/veradefi/defi) :red_circle:, [Nsure Insurance](https://github.com/nsure-tech/dot-contract) :red_circle:, [Everlasting Cash](https://github.com/CycanTech/ELC) :red_circle:, [Coinversation](https://github.com/Coinversation/coinpro) :red_circle:, [zenlink-dex-contract](https://github.com/zenlinkpro/zenlink-dex-contract) :green_circle:, [AlgoCash](https://github.com/ReserveLabs/AlgoCash) :red_circle:| New seigniorage-style stable coins | Gaming | [NewOmega](https://github.com/WiktorStarczewski/newomega.polkadot/blob/master/newomega_delegator/newomega/newomega.rs) :red_circle:| | | DAO | [subDAO](https://github.com/SubDAO-Network/subDAO-contracts) :red_circle:, [RainbowDAO](https://github.com/RainbowcityFoundation/RainbowDAO-Protocol-Ink-milestone_1) :red_circle:| | | Spam Protection | [Prosopo](https://github.com/prosopo-io/integration) :green_circle:| | From fcfcf5d475225ac233b0bdea845eeaaaf75ce2f9 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 19 Jul 2022 17:31:55 +0200 Subject: [PATCH 0014/1872] Update polkadot_stack.md Open Emoji Battler --- docs/polkadot_stack.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/polkadot_stack.md b/docs/polkadot_stack.md index f7a33f45c33..ec732ddad7f 100644 --- a/docs/polkadot_stack.md +++ b/docs/polkadot_stack.md @@ -118,7 +118,7 @@ In the below sections you can find a list of different layers of the Polkadot St |-|-|- | Bridges | [Dante Protocol](https://github.com/dantenetwork/protocol-stack-for-ink) :green_circle:| | | DeFi | [Polkadot AMM](https://github.com/realnimish/polkadot-amm), [Vera](https://github.com/veradefi/defi) :red_circle:, [Nsure Insurance](https://github.com/nsure-tech/dot-contract) :red_circle:, [Everlasting Cash](https://github.com/CycanTech/ELC) :red_circle:, [Coinversation](https://github.com/Coinversation/coinpro) :red_circle:, [zenlink-dex-contract](https://github.com/zenlinkpro/zenlink-dex-contract) :green_circle:, [AlgoCash](https://github.com/ReserveLabs/AlgoCash) :red_circle:| New seigniorage-style stable coins -| Gaming | [NewOmega](https://github.com/WiktorStarczewski/newomega.polkadot/blob/master/newomega_delegator/newomega/newomega.rs) :red_circle:| | +| Gaming | [Open Emoji Battler](https://github.com/OpenEmojiBattler/open-emoji-battler), [NewOmega](https://github.com/WiktorStarczewski/newomega.polkadot/blob/master/newomega_delegator/newomega/newomega.rs) :red_circle:| | | DAO | [subDAO](https://github.com/SubDAO-Network/subDAO-contracts) :red_circle:, [RainbowDAO](https://github.com/RainbowcityFoundation/RainbowDAO-Protocol-Ink-milestone_1) :red_circle:| | | Spam Protection | [Prosopo](https://github.com/prosopo-io/integration) :green_circle:| | | Other | [Candle Auctions](https://github.com/agryaznov/candle-auction-ink) :red_circle:, [polkasign-contract](https://github.com/SubDAO-Network/polkasign-contract) :red_circle:, [OCEX](https://github.com/bsn-si/ocex-cli) :green_circle:| | From f6c825d3a515c31ec9e277e43de737dafab8693c Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Wed, 20 Jul 2022 03:04:41 -0500 Subject: [PATCH 0015/1872] Add wasm-opt-for-rust proposal (#1070) * Add wasm-opt-for-rust proposal * Clarify API deliverables * Update applications/wasm-opt-for-rust.md Co-authored-by: S E R A Y A * Update applications/wasm-opt-for-rust.md Co-authored-by: S E R A Y A * Fix ink! capitalization/punctuation Co-authored-by: S E R A Y A --- applications/wasm-opt-for-rust.md | 299 ++++++++++++++++++++++++++++++ 1 file changed, 299 insertions(+) create mode 100644 applications/wasm-opt-for-rust.md diff --git a/applications/wasm-opt-for-rust.md b/applications/wasm-opt-for-rust.md new file mode 100644 index 00000000000..d5d85a6bbae --- /dev/null +++ b/applications/wasm-opt-for-rust.md @@ -0,0 +1,299 @@ +# W3F Grant Proposal + +- **Project Name:** `wasm-opt` for Rust +- **Team Name:** Common Orbit LLC +- **Payment Address:** (Polkadot aUSD) 143W7CfR2R1dbATX3RVtrYfDXUMju1ua9pQh9B3DpLsuuB5M +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 + + + + +## Project Overview :page_facing_up: + +### Overview + +This project makes the [`wasm-opt`] tool more accessible to Rust programmers. +`wasm-opt` is a [WebAssembly] optimizer and is required by most software toolchains that +produce WebAssembly binaries. + +[`wasm-opt`]: https://rustwasm.github.io/book/reference/tools.html#wasm-opt--a-hrefhttpsgithubcomwebassemblybinaryenrepositorya +[WebAssembly]: https://webassembly.org/ + +This project is to package `wasm-opt` as a cargo crate, +so that it can be installed by typing + +> `cargo install wasm-opt` + +Additionally, it will provide a Rust API so that toolchain developers may, +if they desire, call `wasm-opt` programmatically, +so that their users are not required to manually install the tool. + +`wasm-opt` is a part of the [binaryen] toolset, written in C++. +It is almost universally required by all toolchains that compile to WebAssembly. +It is required by Parity's [`cargo-contract`] tool for [ink!] development. + +[binaryen]: https://github.com/WebAssembly/binaryen +[`cargo-contract`]: https://github.com/paritytech/cargo-contract +[ink!]: https://github.com/paritytech/ink + +**This tool can not be aquired in the way Rust programmers expect — with `cargo install`.** +Installation of the tool is system-dependent. +Many system package managers have some version of it, +in some cases an old version; +or it can be downloaded in binary form for most platforms, from GitHub, +in which case it has to be extracted and added to the environment `PATH` variable in an ad-hoc way. + +In [our personal experience][wasmexp], aquiring this tool was a minor, but needless, barrier, to programming with [ink!]. + +[wasmexp]: #appendix-the-wasm-opt-installation-experience + +In the course of this grant `cargo-contract` will receive pull requests +to optionally enable both the following: + +1) recommend installation via `cargo install wasm-opt` +2) use `wasm-opt` via API and not require installation. + + + + +### Project Details + +Note that although `wasm-opt` comes from the binaryen suite of tools, +this project is only focused on `wasm-opt`. +All other binaryen tools are out of scope. +If this project is successful and there is demand, +future work can extend the technique to the rest of binaryen. + +This project is technically straightforward. +The main complication is that within `cargo` it is not possible to install binaries that were not produced +directly by the Rust compiler. +This means that it is not possible to simply build `wasm-opt` in a build script, then have `cargo` install it. + +This is the basic approach we will take, for the executable: + +- a `wasm-opt-sys` crate builds the C++ code for `wasm-opt` +- the C++ source is built with only the C++ compiler all Rust users will have installed, + no CMake or other build-system dependency +- the C++ `wasm-opt` source is minimally-patched to export its `main` function with C ABI to be called from Rust +- a `wasm-opt` crate contains a tiny Rust module that calls the C `wasm-opt` main function + +We have prototyped the project sufficiently to believe the described approach will succeed. + +For the library bindings: + +- `wasm-opt-sys` will export low-level Rust bindings with the help of one + of the common C++-integration crates, likely `cxx` +- `wasm-opt` will provide an idiomatic Rust wrapper that exposes the necessary `wasm-opt` options programmatically + +We will also deliver the following: + +- Full README and API documentation +- Basic regression tests for the binary and library +- CI for the platforms + - `aarch64-apple-darwin` + - `aarch64-unknown-linux-gnu` + - `i686-pc-windows-msvc` + - `i686-unknown-linux-gnu` + - `x86_64-apple-darwin` + - `x86_64-pc-windows-msvc` + - `x86_64-unknown-linux-gnu` +- Pull requests adding optional support for the `wasm-opt` crate to + - `cargo-contract`, the ink! build tool +- One blog post about the tool and its development, at https://brson.github.io + + + + +### Ecosystem Fit + +This project is immediately useful to all Rust developers that build for wasm. + +It is more specifically useful to developers of Rust-based toolchains that target wasm, +and most specifically the `cargo-contract` tool used to compile ink! programs. +It is probably relevant to authors of Substrate runtimes as well, +though we do not have that experience yet. + + +#### Prior Work and Alternatives + +There are existing [Rust bindings for binaryen][brs]. +As-is they don't provide a route to installing `wasm-opt` via cargo. +It is unclear if they provide the APIs needed to expose `wasm-opt` programmatically, +though they probably do. +These bindings appear to rely on CMake to build. +We do not expect to use them directly, but may reference them during development. + +[brs]: https://github.com/pepyakin/binaryen-rs + +The [`cargo-wasi`] tool takes a [different strategy][cws] to acquiring `wasm-opt`. +It automatically downloads the `wasm-opt` binary, presumably from the official releases. +Other wasm toolchains like `cargo-contract` could follow a similar strategy, +possibly by extracting the existing logic from `cargo-wasi`. + +[`cargo-wasi`]: https://github.com/bytecodealliance/cargo-wasi +[cws]: https://bytecodealliance.github.io/cargo-wasi/wasm-opt.html#which-wasm-opt-executed + + + + + +## Team :busts_in_silhouette: + +### Team members + +- **Team lead:** [Brian Anderson](https://github.com/brson) +- **Team member:** [Aimee Zhu](https://github.com/aimeedeer) + +### Contact + +- **Contact Name:** Brian Anderson +- **Contact Email:** andersrb@gmail.com +- **Website:** https://brson.github.io + +### Legal Structure + +- **Registered Address:** 16192 Coastal Highway, Lewes, Delaware 19958 +- **Registered Legal Entity:** Common Orbit LLC + +### Team's experience + +The team lead is one of the original authors of the Rust programming language, +with 12 years of Rust experience. +They have performed Rust work for Mozilla, Reddit, PingCAP, Solana, MobileCoin, Parity, and Nervos. +Both team members are maintainers of the [Rust in Blockchain](https://rustinblockchain.org/) newsletter. + +### Team Code Repos + +- https://github.com/brson/wasm-opt-rs +- https://github.com/brson +- https://github.com/aimeedeer + +### Team LinkedIn Profiles (if available) + +N/A + + + + +## Development Status :open_book: + +https://github.com/brson/wasm-opt-rs + +We have created the initial project layout and investigated the feasibility of building the binaryen codebase using only the [`cc`] crate, +as well as the feasibility of trivially calling the `wasm-opt` `main` function from Rust as described. + +[`cc`]: https://docs.rs/cc/latest/cc/ + +We have reserved the `wasm-opt` and `wasm-opt-sys` crate names on crates.io. + + + + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Total Estimated Duration:** 3-4 months +- **Full-Time Equivalent (FTE):** 0.4 +- **Total Costs:** 30,000 USD + +This will be a part time effort. +I have divided this into two logical milestones, +though in reality the work will overlap. + + +### Milestone 1 — Proof of Concept + +- **Estimated duration:** 1-2 month +- **FTE:** 0.4 +- **Costs:** 15,000 USD + +During this phase we will prove the concept and produce a `wasm-opt` Rust binary and API. + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | MIT / Apache-2.0 | +| 0b. | Documentation | Basic README. | +| 0c. | Testing Guide | Manual smoke testing on Linux, Windows, and MacOS, x86_64 and ARM. | +| 0d. | Docker | Docker is not required for this project. | +| 1. | `wasm-opt` binary | Produce a `wasm-opt` binary that can be built by cargo but is otherwise identical to stock `wasm-opt`. | +| 2. | APIs | Write an idiomatic, but possibly incomplete, Rust API for loading wasm, optimizing it, and writing it again. | + + +### Milestone 2 — Integration + +- **Estimated duration:** 1-2 month +- **FTE:** 0.4 +- **Costs:** 15,000 USD + +During this phase we will prepare the project for production and integrate it with `cargo-contract`. + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | MIT / Apache-2.0 | +| 0b. | Documentation | Full README and API docs. | +| 0c. | Testing Guide | Basic integration tests for both binary and library. | +| 0d. | Docker | Docker is not required for this project. | +| 0e. | Article | Publish a technical blog post about how the project was developed and indicating it is available for use. | +| 1. | APIs | Ensure the APIs expose all the `wasm-opt` options, and can be easily integrated into tools like `cargo-contract`. | +| 2. | `cargo-contract` integration | Submit a PR to `cargo-contract` that integrates the `wasm-opt` crate. | +| 3. | CI | Set up CI for all indicated platforms. | + + + + +## Future Plans + +Upon completion of this project we will pursue a maintainence grant +to supply hourly funds for maintenance of this project. +We expect maintenance to be minimal, +primarily updating the code and making new releases to match upstream binaryen releases, +and responding to issue reports. + +We are interested in pursuing a pure-Rust alternative to `wasm-opt` with a limited +focus of quickly shrinking wasm binaries. + +We expect to pursue additional projects related to ink! and Substrate. + + + + +## Appendix: The `wasm-opt` installation experience + +Upon calling `cargo-contract build` without `wasm-opt` installed +the build errors with this long explanation: + +``` +ERROR: wasm-opt not found! Make sure the binary is in your PATH environment. + +We use this tool to optimize the size of your contract's Wasm binary. + +wasm-opt is part of the binaryen package. You can find detailed +installation instructions on https://github.com/WebAssembly/binaryen#tools. + +There are ready-to-install packages for many platforms: +* Debian/Ubuntu: apt-get install binaryen +* Homebrew: brew install binaryen +* Arch Linux: pacman -S binaryen +* Windows: binary releases at https://github.com/WebAssembly/binaryen/releases +``` + +Despite the effort to explain how to install this tool, +following the instructions on our system resulted in an old version of `wasm-opt` +and `cargo-contract` produced a new error: + +``` +ERROR: Your wasm-opt version is 91, but we require a version >= 99. + +If you tried installing from your system package manager the best +way forward is to download a recent binary release directly: + +https://github.com/WebAssembly/binaryen/releases + +Make sure that the `wasm-opt` file from that release is in your `PATH`. +``` + +This actually did about the best that could be expected to help us +get set up, and we did end up downloading the binary tarball, +extracting it, and modifying our path. +But the experience could be better. From 64cdb673d2ebdd1e1a424b6705fa52cfb2d6154a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Wed, 20 Jul 2022 11:41:25 +0200 Subject: [PATCH 0016/1872] Flowchart link fix and explanation (#1080) * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md --- README.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 4a9065f229b..c48bbce5290 100644 --- a/README.md +++ b/README.md @@ -236,7 +236,9 @@ Besides, we also have a **community room for all grant recipients**. Head over t We encourage you to explore the alternative funding options listed below. Please note, however, that you should not seek to fund the **same scope of work** from multiple sources and that any team found doing so will have its Web3 Foundation support terminated. -**Substrate Builders Program vs Treasury vs Web3 Grants** (Oversimplified, to provide initial guidance) +### Substrate Builders Program vs Treasury vs Web3 Grants + +The following flowchart gives a rough, oversimplified view of how the W3F Grants Program, the Polkadot and Kusama treasuries and Parity's Substrate Builders Program relate, and where your project might fit best. Note that this diagram does not include any of the [parachain-specific grants/builders programs](#other-grant-programs) other organisations are offering. ```mermaid flowchart LR @@ -251,12 +253,12 @@ flowchart LR style C stroke:#e83e8c,stroke-width:2px,stroke-dasharray: 5 5 style D stroke:#e83e8c,stroke-width:2px,stroke-dasharray: 5 5 style F stroke:#e83e8c,stroke-width:2px,stroke-dasharray: 5 5 - style G stroke:#e83e8c,stroke-width:2px,stroke-dasharray: 5 5 style H stroke:#e83e8c,stroke-width:2px,stroke-dasharray: 5 5 - click C "#pencil-process" "You are already in the right place :)" - click D "https://wiki.polkadot.network/docs/en/learn-treasury" _blank - click H "https://www.substrate.io/builders-program/" _blank + click C "https://github.com/w3f/Grants-Program/blob/semuelle-test-1/README.md#pencil-process" "You are already in the right place :)" + click D "https://wiki.polkadot.network/docs/en/learn-treasury" "https://wiki.polkadot.network/docs/en/learn-treasury" _blank + click F "https://github.com/w3f/Grants-Program/blob/semuelle-test-1/README.md#pencil-process" "You are already in the right place :)" + click H "https://www.substrate.io/builders-program/" "https://www.substrate.io/builders-program/" _blank ``` ### Substrate Builders Program From 5f652a497c3138518ff037e08bb427495d058898 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Wed, 20 Jul 2022 11:43:31 +0200 Subject: [PATCH 0017/1872] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c48bbce5290..81e861ca23e 100644 --- a/README.md +++ b/README.md @@ -255,9 +255,9 @@ flowchart LR style F stroke:#e83e8c,stroke-width:2px,stroke-dasharray: 5 5 style H stroke:#e83e8c,stroke-width:2px,stroke-dasharray: 5 5 - click C "https://github.com/w3f/Grants-Program/blob/semuelle-test-1/README.md#pencil-process" "You are already in the right place :)" + click C "https://github.com/w3f/Grants-Program#pencil-process" "You are already in the right place :)" click D "https://wiki.polkadot.network/docs/en/learn-treasury" "https://wiki.polkadot.network/docs/en/learn-treasury" _blank - click F "https://github.com/w3f/Grants-Program/blob/semuelle-test-1/README.md#pencil-process" "You are already in the right place :)" + click F "https://github.com/w3f/Grants-Program#pencil-process" "You are already in the right place :)" click H "https://www.substrate.io/builders-program/" "https://www.substrate.io/builders-program/" _blank ``` From e8646552ad218059d5c2a498ef8a4ab8f14a2f19 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Thu, 21 Jul 2022 08:17:47 +0200 Subject: [PATCH 0018/1872] Update accepted_grant_applications.md wasm-opt --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 8fabb4db50b..02dac9bb2e8 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -518,4 +518,4 @@ | [Standard Protocol](https://standard.tech/) | Signac - a monorepo plugin for developing multiple Parity ink! smart contracts | [GitHub](https://github.com/digitalnativeinc) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [B-Datagray](https://www.b-datagray.com/) | Datagen Project | [GitHub](https://github.com/Datagen-Project) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Colorful Notion](https://polkaholic.io/#chains) | Polkaholic.io's Multi-Chain Substrate Block Explorer | [GitHub](https://github.com/colorfulnotion/polkaholic/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| - +| [Common Orbit LLC](https://brson.github.io) | `wasm-opt` for Rust | [GitHub](https://github.com/brson/wasm-opt-rs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 2f526e33e241aa03e53a0e300e3d5cf85d33c8f7 Mon Sep 17 00:00:00 2001 From: lucasvanmol Date: Fri, 22 Jul 2022 07:15:05 -0700 Subject: [PATCH 0019/1872] Update stack/applications for Roloi (#1083) --- docs/accepted_grant_applications.md | 2 +- docs/polkadot_stack.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 02dac9bb2e8..6ceff6fad96 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -495,7 +495,7 @@ | [SuperColony](https://github.com/Supercolony-net) | OpenBrush Phase 3 | [GitHub](https://github.com/Supercolony-net) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [FS](https://fair-squares.nl/) | Fair Squares | [GitHub](https://github.com/Fair-squares) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Ideal Labs](https://www.idealabs.network/) | Iris: Phase 2 | [GitHub](https://github.com/ideal-lab5) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [NeoPower](https://www.neopower.digital/) | Roloi: Stream money from one wallet to another | [GitHub](https://github.com/RoloiMoney) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [NeoPower](https://www.neopower.digital/) | Roloi: Stream money from one wallet to another | [GitHub](https://github.com/RoloiMoney) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Tribal Protocol Labs](https://www.tribal.fyi/) | Tribal Protocol Smart Contract Development | [GitHub](https://github.com/tribal-protocol) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Yahuang Wu](https://github.com/wuyahuang) | Dual-Key Stealth Address Protocol | [GitHub](https://github.com/wuyahuang) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [UNIVERSALDOT FOUNDATION](https://universaldot.foundation) | Universaldot.me Phase 2 | [GitHub](https://github.com/UniversalDot) |
  • [ ]
|
  • [ ]
|
  • [ ]
| diff --git a/docs/polkadot_stack.md b/docs/polkadot_stack.md index ec732ddad7f..f7c2094e27d 100644 --- a/docs/polkadot_stack.md +++ b/docs/polkadot_stack.md @@ -121,7 +121,7 @@ In the below sections you can find a list of different layers of the Polkadot St | Gaming | [Open Emoji Battler](https://github.com/OpenEmojiBattler/open-emoji-battler), [NewOmega](https://github.com/WiktorStarczewski/newomega.polkadot/blob/master/newomega_delegator/newomega/newomega.rs) :red_circle:| | | DAO | [subDAO](https://github.com/SubDAO-Network/subDAO-contracts) :red_circle:, [RainbowDAO](https://github.com/RainbowcityFoundation/RainbowDAO-Protocol-Ink-milestone_1) :red_circle:| | | Spam Protection | [Prosopo](https://github.com/prosopo-io/integration) :green_circle:| | -| Other | [Candle Auctions](https://github.com/agryaznov/candle-auction-ink) :red_circle:, [polkasign-contract](https://github.com/SubDAO-Network/polkasign-contract) :red_circle:, [OCEX](https://github.com/bsn-si/ocex-cli) :green_circle:| | +| Other | [Candle Auctions](https://github.com/agryaznov/candle-auction-ink) :red_circle:, [polkasign-contract](https://github.com/SubDAO-Network/polkasign-contract) :red_circle:, [OCEX](https://github.com/bsn-si/ocex-cli) :green_circle:, [Roloi](https://github.com/RoloiMoney/roloi-polkadot-w3f-grant) | | ### :link: Chains and Pallets From 163e1e73767c4cf5f610841499b753e29b369855 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 25 Jul 2022 09:35:14 +0200 Subject: [PATCH 0020/1872] Update status badges (#1085) Co-authored-by: github-actions[bot] --- docs/polkadot_stack.md | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/docs/polkadot_stack.md b/docs/polkadot_stack.md index f7c2094e27d..eea6c517055 100644 --- a/docs/polkadot_stack.md +++ b/docs/polkadot_stack.md @@ -72,10 +72,10 @@ In the below sections you can find a list of different layers of the Polkadot St |-|-|- | Desktop/Web Wallets | [Talisman Web Application](https://github.com/TalismanSociety/talisman-web) :green_circle:, [AirGap](https://github.com/airgap-it/airgap-wallet) :green_circle:, [Sakura](https://github.com/w3finance/sakura) :red_circle:| User-friendly Wallet based on the [Recovery Pallet](https://github.com/paritytech/substrate/tree/master/frame/recovery), Web wallets focused on user-onboarding (e.g. using [localStorage](https://github.com/near/near-wallet) ) | Browser Extensions | [Polkadot{.js}](https://github.com/polkadot-js/extension) :green_circle:, [Polkadot-Js-Plus-Extension](https://github.com/Nick-1979/polkadot-Js-Plus-extension) :green_circle:, [SubWallet-Extension](https://github.com/Koniverse/SubWallet-Extension) :green_circle:, [Doter](https://github.com/ChainBridgeNetworkTeam/Doter) :red_circle:, [Enzyme](https://github.com/blockxlabs/enzyme/) :red_circle:, [Speckle OS](https://github.com/GetSpeckle/speckle-browser-extension) :red_circle:| Sign-in with your polkadot, kusama, etc. account. -| Mobile Wallets| [Lunie](https://github.com/luniehq/lunie) :red_circle:, [Polkawallet](https://github.com/polkawallet-io/polkawallet-flutter) :red_circle:, [Parity Signer](https://github.com/paritytech/parity-signer) :green_circle:, [imToken](https://github.com/consenlabs/token-core) :red_circle:, [Fearless Wallet Android](https://github.com/soramitsu/fearless-Android) :green_circle:, [Fearless Wallet iOS](https://github.com/soramitsu/fearless-iOS) :green_circle:, [Stylo](https://github.com/stylo-app/stylo) :green_circle:, [Nova Wallet](https://github.com/nova-wallet/nova-utils) :green_circle:, [Fractapp](https://github.com/fractapp/fractapp/) :red_circle: +| Mobile Wallets| [Lunie](https://github.com/luniehq/lunie) :red_circle:, [Polkawallet](https://github.com/polkawallet-io/polkawallet-flutter) :red_circle:, [Parity Signer](https://github.com/paritytech/parity-signer) :green_circle:, [imToken](https://github.com/consenlabs/token-core) :red_circle:, [Fearless Wallet Android](https://github.com/soramitsu/fearless-Android) :green_circle:, [Fearless Wallet iOS](https://github.com/soramitsu/fearless-iOS) :green_circle:, [Stylo](https://github.com/stylo-app/stylo) :yellow_circle:, [Nova Wallet](https://github.com/nova-wallet/nova-utils) :green_circle:, [Fractapp](https://github.com/fractapp/fractapp/) :red_circle: | Burner Wallets/Faucet| [KodaDot](https://github.com/vue-polkadot/apps) :red_circle:, [Astar Faucet Bot](https://github.com/AstarNetwork/astar-faucet-bot) :yellow_circle:| Faucet (a sybil-resistant way to receive free tokens) | CLI Wallet | [Subwallet](https://github.com/yxf/subwallet) :red_circle:, [Proxy-hot-wallet](https://github.com/canontech/proxy-hot-wallet) :red_circle: -| Multisignature Wallets| [Subscan Multisig UI - React](https://github.com/itering/subscan-multisig-react) :green_circle:, [Subscan Multisig UI](https://github.com/itering/subscan-multisig-ui) :red_circle:, [Dorafactory-Multisig](https://github.com/DoraFactory/dorafactory-multisig) :yellow_circle:| +| Multisignature Wallets| [Subscan Multisig UI - React](https://github.com/itering/subscan-multisig-react) :yellow_circle:, [Subscan Multisig UI](https://github.com/itering/subscan-multisig-ui) :red_circle:, [Dorafactory-Multisig](https://github.com/DoraFactory/dorafactory-multisig) :red_circle:| | Hardware Wallets | [Ledger Polkadot](https://github.com/ZondaX/ledger-polkadot) :green_circle:, [Ledger Kusama](https://github.com/Zondax/ledger-kusama) :green_circle:| Trezor | Block Explorers | [Polkaholic](https://github.com/colorfulnotion/polkaholic) :green_circle:, [Polkascan](https://github.com/polkascan/explorer-api) :yellow_circle:, [Polkastats](https://github.com/Colm3na/polkastats-backend) :red_circle:, [Subscan](https://github.com/itering/subscan) :green_circle:, [Statescan](https://github.com/opensquare-network/statescan) :green_circle:, [Edgscan](https://github.com/edgeware-builders/edgscan) :red_circle:| Ink Smart Contract Explorer, Mempool focused explorer (including parachain transaction) | Validator Dashboards | [Polkacube](https://github.com/hashquark-io/polkacube-frontend) :red_circle:, [YieldScan](https://github.com/buidl-labs/YieldScan) :red_circle:, [Hubble](https://github.com/w3f-community/hubble/tree/master/app/controllers/polkadot) :red_circle: @@ -101,27 +101,27 @@ In the below sections you can find a list of different layers of the Polkadot St | Runtime Security | [K specifications](https://github.com/kframework/wasm-semantics) :yellow_circle:, [PolPatrol - Polkadot Runtime Checker](https://github.com/ChainSecurity/polpatrol) :red_circle:| Automated Runtime checking tools, economic audit simulator such as [gauntlet.network](https://gauntlet.network/) | Smart Contract Languages | [Ask!](https://github.com/ask-lang/ask) :green_circle:, [Subscript](https://github.com/slickup/subscript) :red_circle:, [Solang](https://github.com/hyperledger-labs/solang) :green_circle:, [Ink!](https://github.com/paritytech/ink) :green_circle:, [Move VM Substrate](https://github.com/pontem-network/sp-move) :yellow_circle:, [Move smart contract by Neatcoin](https://github.com/neatcoin/neatcoin) :red_circle:, [Sol2Ink](https://github.com/Supercolony-net/sol2ink) :yellow_circle:| Functional Programming Languages, other languages with developed toolchains | | Smart Contract Security | -| Testing | [Halva](https://github.com/halva-suite/halva) :red_circle:, [Ink Waterfall](https://github.com/paritytech/ink-waterfall) :green_circle:, [Redspot](https://github.com/patractlabs/redspot) :red_circle:, [MixBytes Tank](https://github.com/mixbytes/tank) :red_circle:, [sub-flood](https://github.com/NikVolf/sub-flood) :red_circle:, [Substrate debug-kit](https://github.com/paritytech/substrate-debug-kit) :red_circle:, [Dotscale - SCALE Codec Comparator](https://github.com/arijitAD/dotscale) :red_circle:, [Asset CLI tool](https://github.com/JesseAbram/asset_cli_tool) :green_circle:, [sub_crash](https://github.com/JesseAbram/unfinished_testing_tool) :red_circle:, [subwasm](https://github.com/chevdor/subwasm) :green_circle:, [subsee](https://github.com/ascjones/subsee) :yellow_circle:, [polkadot-lab](https://github.com/w3f/polkadot-lab) :red_circle:, [Zombienet](https://github.com/paritytech/zombienet) :green_circle:, [RPC-perf](https://github.com/dwellir-public/rpc-perf/) :green_circle: -| Testnet | [Polkadot Launch](https://github.com/paritytech/polkadot-launch) :green_circle:, [polkadot-starship](https://github.com/koute/polkadot-starship) :red_circle:, [Fork off Substrate](https://github.com/maxsam4/fork-off-substrate) :red_circle:, [Parachain Launch](https://github.com/open-web3-stack/parachain-launch) :green_circle:| +| Testing | [Halva](https://github.com/halva-suite/halva) :red_circle:, [Ink Waterfall](https://github.com/paritytech/ink-waterfall) :yellow_circle:, [Redspot](https://github.com/patractlabs/redspot) :red_circle:, [MixBytes Tank](https://github.com/mixbytes/tank) :red_circle:, [sub-flood](https://github.com/NikVolf/sub-flood) :red_circle:, [Substrate debug-kit](https://github.com/paritytech/substrate-debug-kit) :red_circle:, [Dotscale - SCALE Codec Comparator](https://github.com/arijitAD/dotscale) :red_circle:, [Asset CLI tool](https://github.com/JesseAbram/asset_cli_tool) :green_circle:, [sub_crash](https://github.com/JesseAbram/unfinished_testing_tool) :red_circle:, [subwasm](https://github.com/chevdor/subwasm) :green_circle:, [subsee](https://github.com/ascjones/subsee) :yellow_circle:, [polkadot-lab](https://github.com/w3f/polkadot-lab) :red_circle:, [Zombienet](https://github.com/paritytech/zombienet) :green_circle:, [RPC-perf](https://github.com/dwellir-public/rpc-perf/) :green_circle: +| Testnet | [Polkadot Launch](https://github.com/paritytech/polkadot-launch) :yellow_circle:, [polkadot-starship](https://github.com/koute/polkadot-starship) :red_circle:, [Fork off Substrate](https://github.com/maxsam4/fork-off-substrate) :red_circle:, [Parachain Launch](https://github.com/open-web3-stack/parachain-launch) :green_circle:| | Benchmarking | [Substrate Graph Benchmarks](https://github.com/shawntabrizi/substrate-graph-benchmarks) :red_circle:| -| Blockchain Indexing Engine | [Substrate Archive](https://github.com/paritytech/substrate-archive) :yellow_circle:, [PSQL Indexer](https://github.com/usetech-llc/polkadot_psql_indexer) :red_circle:, [Polkadothub Indexer](https://github.com/figment-networks/polkadothub-indexer) :green_circle:, [Substrate Graph](https://github.com/playzero/substrate-graph) :yellow_circle:, [Hydra](https://github.com/subsquid/hydra) :red_circle:, [Subquery](https://github.com/OnFinality-io/subql) :green_circle:, [Polkadot Profit Transformer](https://github.com/p2p-org/polkadot-profit-transformer) :yellow_circle:| -| Blockchain/Event Monitoring | [Web3 Guardian](https://github.com/open-web3-stack/guardian) :yellow_circle:, [Aurras Event Manager](https://github.com/HugoByte/aurras-event-manager) :green_circle:, [@commonwealth/chain-events](https://github.com/hicommonwealth/chain-events) :yellow_circle:| +| Blockchain Indexing Engine | [Substrate Archive](https://github.com/paritytech/substrate-archive) :yellow_circle:, [PSQL Indexer](https://github.com/usetech-llc/polkadot_psql_indexer) :red_circle:, [Polkadothub Indexer](https://github.com/figment-networks/polkadothub-indexer) :green_circle:, [Substrate Graph](https://github.com/playzero/substrate-graph) :yellow_circle:, [Hydra](https://github.com/subsquid/hydra) :red_circle:, [Subquery](https://github.com/OnFinality-io/subql) :green_circle:, [Polkadot Profit Transformer](https://github.com/p2p-org/polkadot-profit-transformer) :green_circle:| +| Blockchain/Event Monitoring | [Web3 Guardian](https://github.com/open-web3-stack/guardian) :yellow_circle:, [Aurras Event Manager](https://github.com/HugoByte/aurras-event-manager) :green_circle:, [@commonwealth/chain-events](https://github.com/hicommonwealth/chain-events) :green_circle:| | Gaming | [Mobile Game Framework for Substrate](https://github.com/creator-rs/creator/) :green_circle:| [Amethyst](https://amethyst.rs/) + [Substrate](https://substrate.dev/) | No-code Platforms | [EzCode's Polkadot.js plugin on Bubble.io](https://github.com/NovaBloq/Bubble-Plugin-Polkadot.js) :red_circle:, [Blackprint Visual Programming Polkadot.js module](https://github.com/Blackprint/nodes-polkadot.js) :green_circle:| | | XCM | [XCM-tools](https://github.com/PureStake/xcm-tools) :green_circle:| | -| Wallet Connection | [Tesseract](https://github.com/tesseract-one/Tesseract.rs) :green_circle:, [WalletConnect](https://github.com/WalletConnect-Labs/walletconnect-v2-monorepo) :grey_question:| | -| Other | [open-web3 JS library](https://github.com/open-web3-stack/open-web3.js) :green_circle:, [VM-Bridge](https://github.com/CycanTech/GVM-Bridge) :red_circle:, [srtool](https://github.com/paritytech/srtool) :green_circle:, [Substrate Tip Bot](https://github.com/paritytech/substrate-tip-bot) :green_circle:, [ORI (Onchain Risk Intelligence)](https://github.com/syntifi/ori) :yellow_circle:, [PolkaTools](https://github.com/albertov19/PolkaTools) :green_circle:, [polkadot-scripts](https://github.com/paritytech/polkadot-scripts) :yellow_circle:, [Static analyzer for Substrate FRAME's pallets](https://github.com/simon-perriard/saft) :green_circle:, [Sube](https://github.com/virto-network/sube) :red_circle:, [data-store-sidecar](https://github.com/CESSProject/data-store-sidecar) :green_circle: +| Wallet Connection | [Tesseract](https://github.com/tesseract-one/Tesseract.rs) :yellow_circle:, [WalletConnect](https://github.com/WalletConnect-Labs/walletconnect-v2-monorepo) :grey_question:| | +| Other | [open-web3 JS library](https://github.com/open-web3-stack/open-web3.js) :green_circle:, [VM-Bridge](https://github.com/CycanTech/GVM-Bridge) :red_circle:, [srtool](https://github.com/paritytech/srtool) :green_circle:, [Substrate Tip Bot](https://github.com/paritytech/substrate-tip-bot) :green_circle:, [ORI (Onchain Risk Intelligence)](https://github.com/syntifi/ori) :red_circle:, [PolkaTools](https://github.com/albertov19/PolkaTools) :yellow_circle:, [polkadot-scripts](https://github.com/paritytech/polkadot-scripts) :yellow_circle:, [Static analyzer for Substrate FRAME's pallets](https://github.com/simon-perriard/saft) :green_circle:, [Sube](https://github.com/virto-network/sube) :red_circle:, [data-store-sidecar](https://github.com/CESSProject/data-store-sidecar) :green_circle: ### :memo: ink Smart Contracts | Components | Existing projects | Potentially interesting projects |-|-|- | Bridges | [Dante Protocol](https://github.com/dantenetwork/protocol-stack-for-ink) :green_circle:| | -| DeFi | [Polkadot AMM](https://github.com/realnimish/polkadot-amm), [Vera](https://github.com/veradefi/defi) :red_circle:, [Nsure Insurance](https://github.com/nsure-tech/dot-contract) :red_circle:, [Everlasting Cash](https://github.com/CycanTech/ELC) :red_circle:, [Coinversation](https://github.com/Coinversation/coinpro) :red_circle:, [zenlink-dex-contract](https://github.com/zenlinkpro/zenlink-dex-contract) :green_circle:, [AlgoCash](https://github.com/ReserveLabs/AlgoCash) :red_circle:| New seigniorage-style stable coins -| Gaming | [Open Emoji Battler](https://github.com/OpenEmojiBattler/open-emoji-battler), [NewOmega](https://github.com/WiktorStarczewski/newomega.polkadot/blob/master/newomega_delegator/newomega/newomega.rs) :red_circle:| | +| DeFi | [Polkadot AMM](https://github.com/realnimish/polkadot-amm) :red_circle:, [Vera](https://github.com/veradefi/defi) :red_circle:, [Nsure Insurance](https://github.com/nsure-tech/dot-contract) :red_circle:, [Everlasting Cash](https://github.com/CycanTech/ELC) :red_circle:, [Coinversation](https://github.com/Coinversation/coinpro) :red_circle:, [zenlink-dex-contract](https://github.com/zenlinkpro/zenlink-dex-contract) :green_circle:, [AlgoCash](https://github.com/ReserveLabs/AlgoCash) :red_circle:| New seigniorage-style stable coins +| Gaming | [Open Emoji Battler](https://github.com/OpenEmojiBattler/open-emoji-battler) :green_circle:, [NewOmega](https://github.com/WiktorStarczewski/newomega.polkadot/blob/master/newomega_delegator/newomega/newomega.rs) :red_circle:| | | DAO | [subDAO](https://github.com/SubDAO-Network/subDAO-contracts) :red_circle:, [RainbowDAO](https://github.com/RainbowcityFoundation/RainbowDAO-Protocol-Ink-milestone_1) :red_circle:| | | Spam Protection | [Prosopo](https://github.com/prosopo-io/integration) :green_circle:| | -| Other | [Candle Auctions](https://github.com/agryaznov/candle-auction-ink) :red_circle:, [polkasign-contract](https://github.com/SubDAO-Network/polkasign-contract) :red_circle:, [OCEX](https://github.com/bsn-si/ocex-cli) :green_circle:, [Roloi](https://github.com/RoloiMoney/roloi-polkadot-w3f-grant) | | +| Other | [Candle Auctions](https://github.com/agryaznov/candle-auction-ink) :red_circle:, [polkasign-contract](https://github.com/SubDAO-Network/polkasign-contract) :red_circle:, [OCEX](https://github.com/bsn-si/ocex-cli) :green_circle:, [Roloi](https://github.com/RoloiMoney/roloi-polkadot-w3f-grant) :green_circle:| | ### :link: Chains and Pallets @@ -129,35 +129,35 @@ In the below sections you can find a list of different layers of the Polkadot St | Components | Existing projects | Potentially interesting projects |-|-|- | Scalable Transactions | [Perun channels](https://github.com/perun-network/perun-polkadot-pallet) :yellow_circle:, [CLI demo of Perun](https://github.com/perun-network/perun-polkadot-demo) :red_circle:, [Astar](https://github.com/AstarNetwork/Astar) :green_circle:, [Celer](https://github.com/celer-network/cChannel-substrate) :red_circle:, [Gunclear](https://github.com/GunClear/Gunero) :red_circle:| roll-ups, DAG-based consensus mechanisms, side chains | -| Bridges | [interBTC](https://github.com/interlay/interbtc) :green_circle:, [ChainBridge](https://github.com/centrifuge/ChainBridge/) :green_circle:, [EOS by Bifrost](https://github.com/bifrost-finance/bifrost-eos-relay) :red_circle:, [POA <> Substrate](https://github.com/paritytech/parity-bridge) :red_circle:, [Substrate <> Ethereum DAI Bridge](https://github.com/akropolisio/POC-polkadai-bridge) :red_circle:, [Substrate <> Substrate Bridge](https://github.com/paritytech/substrate-bridge-relay) :red_circle:, [BTC by ChainX](https://github.com/chainx-org/ChainX) :yellow_circle:, [Cosmos-Substrate bridge](https://github.com/ChorusOne/wormhole-bridge) :red_circle:, [Substrate IBC Pallet](https://github.com/octopus-network/substrate-ibc) :green_circle:, [Polkadot Ethereum Bridge](https://github.com/Snowfork/polkadot-ethereum) :green_circle:, [Darwinia](https://github.com/darwinia-network/darwinia) :green_circle:, [Stellar/DeFi Bridge by Pendulum](https://github.com/pendulum-chain/pendulum-prototype) :red_circle:, [Filecoindot](https://github.com/ChainSafe/filecoindot) :red_circle:| ZCash | +| Bridges | [interBTC](https://github.com/interlay/interbtc) :green_circle:, [ChainBridge](https://github.com/centrifuge/ChainBridge/) :green_circle:, [EOS by Bifrost](https://github.com/bifrost-finance/bifrost-eos-relay) :red_circle:, [POA <> Substrate](https://github.com/paritytech/parity-bridge) :red_circle:, [Substrate <> Ethereum DAI Bridge](https://github.com/akropolisio/POC-polkadai-bridge) :red_circle:, [Substrate <> Substrate Bridge](https://github.com/paritytech/substrate-bridge-relay) :red_circle:, [BTC by ChainX](https://github.com/chainx-org/ChainX) :yellow_circle:, [Cosmos-Substrate bridge](https://github.com/ChorusOne/wormhole-bridge) :red_circle:, [Substrate IBC Pallet](https://github.com/octopus-network/substrate-ibc) :yellow_circle:, [Polkadot Ethereum Bridge](https://github.com/Snowfork/polkadot-ethereum) :green_circle:, [Darwinia](https://github.com/darwinia-network/darwinia) :green_circle:, [Stellar/DeFi Bridge by Pendulum](https://github.com/pendulum-chain/pendulum-prototype) :red_circle:, [Filecoindot](https://github.com/ChainSafe/filecoindot) :red_circle:| ZCash | | Privacy | [Webb Anon](https://github.com/webb-tools/anon) :red_circle:, [ZeroChain](https://github.com/LayerXcom/zero-chain) :red_circle:, [pLibra (Phala Network)](https://github.com/Phala-Network/phala-blockchain) :green_circle:, [Automata Network](https://github.com/automata-network/automata) :green_circle:, [zCloak Network](https://github.com/zCloak-Network/zcloak-node) :red_circle:, [Zero Network](https://github.com/zero-network/zero) :green_circle:| [Multi-Asset Shielded Pool (MASP)](https://github.com/anoma/masp) , [Zkay](https://arxiv.org/pdf/2009.01020.pdf), [Zexe](https://eprint.iacr.org/2018/962.pdf) | ZKP | [ZeroPool](https://github.com/zeropoolnetwork/zeropool-substrate-groth16-example) :red_circle:, [Megaclite](https://github.com/patractlabs/megaclite) :red_circle:, [zkMega](https://github.com/patractlabs/zkmega) :red_circle:, [PLONK for Substrate](https://github.com/AstarNetwork/plonk) :yellow_circle:, [Webb Anchor Protocol](https://github.com/webb-tools/protocol-substrate) :green_circle:| | TEE | [Integritee](https://github.com/integritee-network/worker) :green_circle:, [substraTEE](https://github.com/scs/substraTEE) :red_circle: | DeFi | [Diora](https://github.com/Diora-Network/Diora) :green_circle:, [Pendulum Chain](https://github.com/pendulum-chain/pendulum) :green_circle:, [Compound Gateway](https://github.com/compound-finance/gateway) :red_circle:, [Parallel Finance](https://github.com/parallel-finance/parallel) :green_circle:, [PINT](https://github.com/ChainSafe/PINT) :red_circle:, [Laminar Chain](https://github.com/laminar-protocol/laminar-chain) :red_circle:, [Acala](https://github.com/AcalaNetwork/Acala) :green_circle:, [Centrifuge](https://github.com/centrifuge/centrifuge-chain) :green_circle:, [Stafi](https://github.com/stafiprotocol/stafi-node) :red_circle:, [Definex](https://github.com/y2labs-0sh/definex) :red_circle:, [OAX Foundation](https://github.com/OAXFoundation/parrot) :red_circle:, [Cybex](https://github.com/alexxuyang/substrate-dex) :red_circle:, [Zenlink](https://github.com/zenlinkpro/pallet-zenlink) :red_circle:, [Swaps Pallet](https://github.com/lsaether/pallet-swaps) :red_circle:, [Polkadex](https://github.com/Polkadex-Substrate/Polkadex/tree/master) :yellow_circle:, [SubDEX](https://github.com/subdarkdex/subdex-parachain) :red_circle:, [HydraDX](https://github.com/galacticcouncil/hack.HydraDX-node) :green_circle:, [Substrate Stablecoin](https://github.com/apopiak/stablecoin) :red_circle:, [Standard protocol](https://github.com/digitalnativeinc/standard-substrate) :yellow_circle:, [Polkaswap](https://github.com/sora-xor/sora2-network) :green_circle:, [Curve AMM](https://github.com/equilibrium-eosdt/equilibrium-curve-amm) :red_circle:, [Konomi Network](https://github.com/konomi-network/cumulus/) :red_circle:, [Composable Finance](https://github.com/ComposableFi/composable) :green_circle:, [Stable Asset](https://github.com/nutsfinance/stable-asset) :red_circle:, [Libra Payment](https://github.com/atscaletech/libra) :green_circle:, [Mangata](https://github.com/mangata-finance/mangata-node) :green_circle:, [Tidechain](https://github.com/tidelabs/tidechain) :green_circle:| DEX with privacy and confidentiality features such as those found in a [dark pool](https://en.wikipedia.org/wiki/Dark_pool) -| Smart contract chains | [moonbeam](https://github.com/PureStake/moonbeam) :green_circle:, [Edgeware](https://github.com/hicommonwealth/edgeware-node) :red_circle:, [ParaState](https://github.com/ParaState/substrate-ssvm-node) :red_circle:, [gear](https://github.com/gear-tech/gear) :green_circle:, [CENNZnet](https://github.com/cennznet/cennznet) :green_circle:, [SkyeKiwi](https://github.com/skyekiwi/skyekiwi-network) :green_circle:, [OAK-blockchain](https://github.com/OAK-Foundation/OAK-blockchain) :green_circle:, [ICE Blockchain](https://github.com/web3labs/ice-substrate) :green_circle:| smart contract chains with novel security approaches, smart contract chains based on existing toolchains| -| Oracle | [Laminar](https://github.com/laminar-protocol/open-runtime-module-library/tree/master/oracle) :green_circle:, [Parallel Finance](https://github.com/parallel-finance/parallel/blob/feature-oracle/pallets/ocw-oracle/src/lib.rs) :green_circle:, [Chainlink-polkadot](https://github.com/smartcontractkit/chainlink-polkadot) :red_circle:, [Ares Protocol](https://github.com/aresprotocols/ares) :green_circle:, [Kylin Network](https://github.com/Kylin-Network/kylin-node) :green_circle:, [interbtc-clients oracle](https://github.com/interlay/interbtc-clients/tree/master/oracle) :green_circle:, [Anonima](https://github.com/webb-tools/anonima) :red_circle:, [Apollo](https://github.com/ComposableFi/composable/tree/main/frame/oracle) :green_circle: +| Smart contract chains | [moonbeam](https://github.com/PureStake/moonbeam) :green_circle:, [Edgeware](https://github.com/hicommonwealth/edgeware-node) :red_circle:, [ParaState](https://github.com/ParaState/substrate-ssvm-node) :red_circle:, [gear](https://github.com/gear-tech/gear) :green_circle:, [CENNZnet](https://github.com/cennznet/cennznet) :green_circle:, [SkyeKiwi](https://github.com/skyekiwi/skyekiwi-network) :yellow_circle:, [OAK-blockchain](https://github.com/OAK-Foundation/OAK-blockchain) :green_circle:, [ICE Blockchain](https://github.com/web3labs/ice-substrate) :green_circle:| smart contract chains with novel security approaches, smart contract chains based on existing toolchains| +| Oracle | [Laminar](https://github.com/laminar-protocol/open-runtime-module-library/tree/master/oracle) :green_circle:, [Parallel Finance](https://github.com/parallel-finance/parallel/blob/feature-oracle/pallets/ocw-oracle/src/lib.rs) :green_circle:, [Chainlink-polkadot](https://github.com/smartcontractkit/chainlink-polkadot) :red_circle:, [Ares Protocol](https://github.com/aresprotocols/ares) :green_circle:, [Kylin Network](https://github.com/Kylin-Network/kylin-node) :green_circle:, [interbtc-clients oracle](https://github.com/interlay/interbtc-clients/tree/master/oracle) :yellow_circle:, [Anonima](https://github.com/webb-tools/anonima) :red_circle:, [Apollo](https://github.com/ComposableFi/composable/tree/main/frame/oracle) :green_circle: | Identity/DID | [Litentry](https://github.com/litentry/litentry-runtime) :red_circle:, [pallet-did](https://github.com/substrate-developer-hub/pallet-did) :red_circle:, [dot-id](https://github.com/prasad-kumkar/dot-id) :red_circle: | IoT | [Nodle](https://github.com/NodleCode/chain) :green_circle:, [MXC/DataHighway](https://github.com/DataHighway-DHX/node) :red_circle:, [peaq-network-node](https://github.com/peaqnetwork/peaq-network-node) :yellow_circle: -| Verifiable Claims | [KILT](https://github.com/KILTprotocol/kilt-node) :green_circle:, [Dock](https://github.com/docknetwork/dock-substrate) :green_circle:, [Fennel Protocol](https://github.com/fennelLabs/Fennel-Protocol) :green_circle: +| Verifiable Claims | [KILT](https://github.com/KILTprotocol/kilt-node) :green_circle:, [Dock](https://github.com/docknetwork/dock-substrate) :green_circle:, [Fennel Protocol](https://github.com/fennelLabs/Fennel-Protocol) :yellow_circle: | Supply chain| | | | Health care| [AriaHealth](https://github.com/AriaHealth/MetaNetwork) :red_circle:| | | Social Networking | [Social Network](https://github.com/social-network/blockchain) :red_circle:, [SubSocial](https://github.com/dappforce/subsocial-node) :yellow_circle:, [ZeroDAO](https://github.com/ZeroDAO/ZeroDAO-node) :yellow_circle:, [Myriad Node](https://github.com/myriadsocial/myriad-node) :green_circle:, [Wika Network](https://github.com/randombishop/wika_etl) :red_circle:, [Project Liberty](https://github.com/LibertyDSNP/mrc) :green_circle:, [Listen](https://github.com/listenofficial/listen-parachain) :green_circle:| Private instant messenger that uses on-chain identity -| Governance/DAO| [Hashed Network](https://github.com/hashed-io/hashed-substrate) :green_circle:, [Sunshine DAO](https://github.com/sunshine-protocol/sunshine-bounty) :red_circle:, [Governance OS](https://github.com/NucleiStudio/governance-os) :red_circle:, [Idavoll Network](https://github.com/idavollnetwork/idavoll) :red_circle:, [Substrate Moloch](https://github.com/DoraFactory/Substrate-Moloch-V2) :red_circle:, [QRUCIAL-DAO](https://github.com/Qrucial/QRUCIAL-DAO) :green_circle:, [Societal](https://github.com/sctllabs/societal-node) :green_circle:, [DAOs](https://github.com/daos-org/daos) :green_circle:| [Consul](https://github.com/consul/consul) - Open Government and E-Participation Web Software +| Governance/DAO| [Hashed Network](https://github.com/hashed-io/hashed-substrate) :green_circle:, [Sunshine DAO](https://github.com/sunshine-protocol/sunshine-bounty) :red_circle:, [Governance OS](https://github.com/NucleiStudio/governance-os) :red_circle:, [Idavoll Network](https://github.com/idavollnetwork/idavoll) :red_circle:, [Substrate Moloch](https://github.com/DoraFactory/Substrate-Moloch-V2) :red_circle:, [QRUCIAL-DAO](https://github.com/Qrucial/QRUCIAL-DAO) :green_circle:, [Societal](https://github.com/sctllabs/societal-node) :grey_question:, [DAOs](https://github.com/daos-org/daos) :green_circle:| [Consul](https://github.com/consul/consul) - Open Government and E-Participation Web Software | Prediction Markets and Futarchy| [Zeitgeist](https://github.com/zeitgeistpm/zeitgeist) :green_circle:, [X Predict Market](https://github.com/XPredictMarket/NodePredict) :red_circle:| | Messaging | [HOPR](https://github.com/validitylabs/HOPR-PL-Substrate) :red_circle:, [Nolik](https://github.com/chainify/pallet-nolik/) :red_circle: -| File Storage, Cloud | [DatDot](https://github.com/playproject-io/datdot) :red_circle:, [Crust Network](https://github.com/crustio/crust) :yellow_circle:, [offchain::ipfs](https://github.com/rs-ipfs/offchain-ipfs-manual) :red_circle:, [Canyon Network](https://github.com/canyon-network/canyon) :red_circle:, [CESS](https://github.com/Cumulus2021/cess) :green_circle:, [CESS Proving Subsystem](https://github.com/CESSProject/cess-proving-system) :red_circle:, [Iris](https://github.com/ideal-lab5/iris) :green_circle:, [fmd-cess](https://github.com/CESSProject/fmd-cess) :red_circle:, [IPFS Frame V3](https://github.com/DanHenton/pocket-substrate/tree/ipfs-ocw) :green_circle:, [Threefold Chain](https://github.com/threefoldtech/tfchain) :green_circle:, [Apron](https://github.com/Apron-Network/apron-node) :red_circle: +| File Storage, Cloud | [DatDot](https://github.com/playproject-io/datdot) :red_circle:, [Crust Network](https://github.com/crustio/crust) :red_circle:, [offchain::ipfs](https://github.com/rs-ipfs/offchain-ipfs-manual) :red_circle:, [Canyon Network](https://github.com/canyon-network/canyon) :red_circle:, [CESS](https://github.com/Cumulus2021/cess) :green_circle:, [CESS Proving Subsystem](https://github.com/CESSProject/cess-proving-system) :red_circle:, [Iris](https://github.com/ideal-lab5/iris) :yellow_circle:, [fmd-cess](https://github.com/CESSProject/fmd-cess) :red_circle:, [IPFS Frame V3](https://github.com/DanHenton/pocket-substrate/tree/ipfs-ocw) :green_circle:, [Threefold Chain](https://github.com/threefoldtech/tfchain) :green_circle:, [Apron](https://github.com/Apron-Network/apron-node) :red_circle: | Name Service| [Substrate Names](https://github.com/xaya/substrate-names) :red_circle:, [ENS on Substrate](https://github.com/hskang9/substrate-name-service) :red_circle:, [PNS-Pallets](https://github.com/pnsproject/pns-pallets) :red_circle: | Gaming | [Bit.country](https://github.com/bit-country/Bit-Country-Blockchain) :green_circle:, [SubGame](https://github.com/SubGame-Network/subgame-network) :yellow_circle:, [subzero](https://github.com/playzero/subzero) :red_circle:, [Web3Games](https://github.com/web3gamesofficial/web3games-blockchain) :red_circle:, [Ajuna Network](https://github.com/ajuna-network/Ajuna) :green_circle:, [Gafi Network](https://github.com/cryptoviet/gafi) :green_circle:, [Asylum](https://gitlab.com/asylum-space/asylum-item-nft) | | Computation/AI | [DeepBrain Chain](https://github.com/DeepBrainChain/DeepBrainChain-MainChain) :green_circle:, [AI Infrastructure on Blockchain](https://github.com/anudit/cerebrum) :red_circle:| -| Enable specific use-cases | [Robonomics](https://github.com/airalab/substrate-node-robonomics) :green_circle:, [UniversalDOT](https://github.com/UniversalDot/pallets) :red_circle:, [Evercity Sustainable Finance Protocol](https://github.com/EvercityEcosystem/evercity-chain) :green_circle:, [Fennel Protocol](https://github.com/fennelLabs/Fennel-Protocol) :green_circle:, [logion](https://github.com/logion-network/logion-node) :green_circle: +| Enable specific use-cases | [Robonomics](https://github.com/airalab/substrate-node-robonomics) :green_circle:, [UniversalDOT](https://github.com/UniversalDot/pallets) :red_circle:, [Evercity Sustainable Finance Protocol](https://github.com/EvercityEcosystem/evercity-chain) :green_circle:, [Fennel Protocol](https://github.com/fennelLabs/Fennel-Protocol) :yellow_circle:, [logion](https://github.com/logion-network/logion-node) :green_circle: | NFT | [ternoa](https://github.com/capsule-corp-ternoa/chain) :green_circle:, [FRAME Pallet: NFTs for Substrate](https://github.com/danforbes/pallet-nft) :red_circle:, [NFT Parachain by usetech](https://github.com/w3f-community/nft_parachain) :red_circle:, [DNFT](https://github.com/DNFT-Team/dnft-substrate-node/tree/master/pallets) :red_circle:, [RMRK-Substrate](https://github.com/rmrk-team/rmrk-substrate) :green_circle: | Randomness | [DKG and Randomness Beacon](https://github.com/Cardinal-Cryptography/substrate/tree/randomness-beacon) :yellow_circle: | Licensing | [Anagolay Network](https://github.com/anagolay/anagolay-chain) :green_circle:| | Banking Integration | [FIAT on-off-ramp](https://github.com/element36-io/ebics-java-service) :green_circle: | Crowdfunding | [Imbue Network](https://github.com/ImbueNetwork/imbue) :green_circle:, [Quadratic Funding pallet by Dora](https://github.com/zhangjiannan/QFgrant) :red_circle:, [Quadratic Funding pallet by OAK](https://github.com/OAK-Foundation/quadratic-funding-pallet/tree/master) :red_circle:| [Minimum Anti-Collusion Infrastructure (MACI)](https://ethresear.ch/t/minimal-anti-collusion-infrastructure/5413) | Licensing | [Anagolay Network](https://github.com/anagolay/anagolay-chain) :green_circle:| -| Collection of Pallets | [Substrate Open Runtime Module Library](https://github.com/open-web3-stack/open-runtime-module-library) :green_circle:, [warehouse](https://github.com/galacticcouncil/warehouse) :green_circle:, [InvArch FRAME Pallet Library](https://github.com/InvArch/InvArch-Frames) :green_circle:| -| Other | [Substrate Account Filter](https://github.com/gautamdhameja/substrate-account-filter) :red_circle:, [Subtensor](https://github.com/opentensor/subtensor) :green_circle:, [BitGreen](https://github.com/bitgreen/bitg-node) :green_circle:, [AdMeta](https://github.com/AdMetaNetwork/admeta) :green_circle:, [Chocolate Node](https://github.com/chocolatenetwork/chocolate-node) :green_circle:, [Virto Network](https://github.com/virto-network/virto-node) :yellow_circle:, [Substrate Validator Set](https://github.com/gautamdhameja/substrate-validator-set) :yellow_circle:, [DEIP](https://github.com/DEIPworld/deip-node) :green_circle:, [DeBio](https://github.com/debionetwork/debio-node) :green_circle:, [MathChain](https://github.com/mathwallet/MathChain) :red_circle:, [encointer](https://github.com/encointer/encointer-node) :green_circle:, [Grassland](https://github.com/grasslandnetwork/substrate_node) :yellow_circle:, [Substrate-Tutorials](https://github.com/rusty-crewmates/substrate-tutorials) :green_circle:, [Fair Squares](https://github.com/Fair-Squares/fair-squares) :green_circle:, [Totem Live Accounting](https://github.com/totem-tech/totem) :red_circle:| Decentralized review/reputation system +| Collection of Pallets | [Substrate Open Runtime Module Library](https://github.com/open-web3-stack/open-runtime-module-library) :green_circle:, [warehouse](https://github.com/galacticcouncil/warehouse) :green_circle:, [InvArch FRAME Pallet Library](https://github.com/InvArch/InvArch-Frames) :yellow_circle:| +| Other | [Substrate Account Filter](https://github.com/gautamdhameja/substrate-account-filter) :red_circle:, [Subtensor](https://github.com/opentensor/subtensor) :yellow_circle:, [BitGreen](https://github.com/bitgreen/bitg-node) :green_circle:, [AdMeta](https://github.com/AdMetaNetwork/admeta) :green_circle:, [Chocolate Node](https://github.com/chocolatenetwork/chocolate-node) :green_circle:, [Virto Network](https://github.com/virto-network/virto-node) :yellow_circle:, [Substrate Validator Set](https://github.com/gautamdhameja/substrate-validator-set) :yellow_circle:, [DEIP](https://github.com/DEIPworld/deip-node) :green_circle:, [DeBio](https://github.com/debionetwork/debio-node) :green_circle:, [MathChain](https://github.com/mathwallet/MathChain) :red_circle:, [encointer](https://github.com/encointer/encointer-node) :green_circle:, [Grassland](https://github.com/grasslandnetwork/substrate_node) :yellow_circle:, [Substrate-Tutorials](https://github.com/rusty-crewmates/substrate-tutorials) :green_circle:, [Fair Squares](https://github.com/Fair-Squares/fair-squares) :green_circle:, [Totem Live Accounting](https://github.com/totem-tech/totem) :red_circle:| Decentralized review/reputation system ### :black_circle: Host @@ -178,7 +178,7 @@ In the below sections you can find a list of different layers of the Polkadot St | Load Balanced Endpoints | [terragrunt-polkadot](https://github.com/insight-w3f/terragrunt-polkadot) :red_circle:, [Geometry Labs' Substrate Meta repo](https://github.com/sudoblockio/substrate-meta) :yellow_circle: | Deployment Tools| [Polkadot Package Manager](https://github.com/Blockdaemon/bpm-sdk) :red_circle:, [PolkaHub](https://github.com/akropolisio/polkahub-monorepo) :red_circle:, [Avado](https://github.com/AvadoDServer/AVADO-DNP-Polkadot-custom) :red_circle:, [Polkadot Deployer](https://github.com/w3f/polkadot-deployer) :red_circle: | Validator monitoring | [SubVT](https://github.com/helikon-labs/subvt) :yellow_circle:, [P.A.N.I.C.](https://github.com/SimplyVC/panic_polkadot) :red_circle:, [Polkalert](https://github.com/galacticcouncil/polkalert) :red_circle:, [B-Harvest](https://github.com/nodebreaker0-0/substrate/tree/prometheus_v0.3) :red_circle:, [nmonpolkadot](https://github.com/stakezone/nmonpolkadot) :red_circle:, [Polkadot-K8s-Monitor](https://github.com/ironoa/polkadot-k8s-monitor) :yellow_circle:, [Polkadot-Watcher](https://github.com/w3f/polkadot-watcher) :green_circle:, [1KV Telegram Bot](https://github.com/helikon-labs/polkadot-kusama-1kv-telegram-bot) :yellow_circle: -| Validator payout management | [Substrate validator auto payout](https://github.com/Colm3na/substrate-auto-payout) :yellow_circle:, [Polkadot Payouts](https://github.com/w3f/polkadot-payouts) :yellow_circle:, [staking-payouts CLI](https://github.com/emostov/staking-payouts) :green_circle:, [Payctl](https://github.com/stakelink/substrate-payctl) :red_circle:, [crunch](https://github.com/turboflakes/crunch) :red_circle:| +| Validator payout management | [Substrate validator auto payout](https://github.com/Colm3na/substrate-auto-payout) :yellow_circle:, [Polkadot Payouts](https://github.com/w3f/polkadot-payouts) :yellow_circle:, [staking-payouts CLI](https://github.com/emostov/staking-payouts) :yellow_circle:, [Payctl](https://github.com/stakelink/substrate-payctl) :red_circle:, [crunch](https://github.com/turboflakes/crunch) :green_circle:| ### :black_nib: Signatures From a833d1298e4b44a122023606bb1d988c5b913fa0 Mon Sep 17 00:00:00 2001 From: S E R A Y A Date: Mon, 25 Jul 2022 11:02:39 +0200 Subject: [PATCH 0021/1872] Update accepted_grant_applications.md (#1086) --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 6ceff6fad96..360f4b26ab1 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -473,7 +473,7 @@ | [ChainSafe Systems](https://chainsafe.io/) | SubstrateSnap Maintenance Proposal | [GitHub](https://github.com/ChainSafe/metamask-snap-polkadot) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [HugoByte](https://hugobyte.com/) | Project Aurras - MVP - Phase 2 | [GitHub](https://github.com/HugoByte) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Perun Network](https://perun.network/) | Perun App Channels | [GitHub](https://github.com/perun-network/) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [ChainSafe Systems](https://chainsafe.io/) | Privacy enhancement for Polkadot-js extension | [GitHub](https://github.com/ChainSafe) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [ChainSafe Systems](https://chainsafe.io/) | Privacy enhancement for Polkadot-js extension | [GitHub](https://github.com/ChainSafe) |
  • [ ]
|
  • [x]
|
  • [x]
| | [BQP](https://qbitcoin.tech/) | Quantum Lock for QBITCOIN | [GitHub](https://github.com/bqpquantum/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Simply VC](https://simply-vc.com.mt/) | PANIC Monitoring and Alerting For Blockchains | [GitHub](https://github.com/SimplyVC/panic) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Artree LLC](https://artree.co.jp/) | Zero Network | [GitHub](https://github.com/zero-network) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 80a16930a13a570af0d78041597956804a58c4bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9?= Date: Mon, 25 Jul 2022 15:34:56 -0400 Subject: [PATCH 0022/1872] Ink Explorer (#1052) * Ink Explorer * Update ink-explorer.md * Update ink-explorer.md * Update ink-explorer.md * Update ink-explorer.md * add mock-up * fix typo * merge deliverables underneath the milestone tables into the specification column of each milestone Co-authored-by: Fernando Sirni <33009762+fersirni@users.noreply.github.com> --- applications/ink-explorer.md | 140 +++++++++++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 applications/ink-explorer.md diff --git a/applications/ink-explorer.md b/applications/ink-explorer.md new file mode 100644 index 00000000000..8fe7bbf6ee7 --- /dev/null +++ b/applications/ink-explorer.md @@ -0,0 +1,140 @@ +# W3F Grant Proposal + +- **Project Name:** [Ink Explorer](https://github.com/w3f/Grants-Program/blob/master/rfps/under_development/ink!_smart_contract_block_explorer.md) +- **Team Name:** Blockcoders +- **Payment Address:** Ethereum (USDT/USDC/DAI) 0x0B7144E7960Ac666A6AD6B38Fe65C2fe96E65994 +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 + + +## Project Overview :page_facing_up: + +Ink Explorer is an application that provides Ink contracts related information on Substrate based blockchains. It subscribes to blockchain and Ink modules events and store the information on its own PostgreSQL database. The backend exposes an API that can interact with the DB and run fast queries to get specific information in a short time. + +The idea of this project is to have fast way to start a node that can be used as an explorer getting live and old data for specific contracts or addresses. + +This project serves useful information that is not available anywhere else. Since the back end is in charge of obtaining information related to the balances, transactions and more, of the contracts that use Ink modules. Ink Explorer uses polkadot.js to communicate with the Substrate / Polkadot networks. It is safe to say that this project is a must. + +Blockcoders is a team that is always contributing to blockchain projects to help the growth of the ecosystem. + +### Ecosystem Fit + +Help us locate your project in the Polkadot/Substrate/Kusama landscape and what problems it tries to solve by answering each of these questions: + +- Where and how does your project fit into the ecosystem? + - It gives a solution for all the ones that are interested in analyzing Ink contracts information. +- Who is your target audience (parachain/dapp/wallet/UI developers, designers, your own user base, some dapp's userbase, yourself)? + - Anyone who is interested in working with contracts that use the Ink protocol and has an interest in accessing as much information as possible about what is happening with said contracts. +- What need(s) does your project meet? + - Obtain the greatest amount of information about what is happening with contracts that use the Ink protocol in a fast and easy way. +- Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem? + - There are block explorers, but these are limited to saving and accessing information related to blocks and transactions, but are not intended to provide contract-oriented information. + +## Team :busts_in_silhouette: + +### Team members + +- Jose Ramirez +- Damián Fixel +- Fernando Sirni + +### Contact + +- **Contact Name:** Jose Ramirez +- **Contact Email:** jose@blockcoders.io +- **Website:** http://blockcoders.io/ + +### Legal Structure + +- **Registered Address:** Bouchard 705, Buenos Aires Argentina +- **Registered Legal Entity:** Blockcoders + +### Team's experience + +Our team has been contributing with different projects in blockchain for a few years, building APIs, SDKs and developer tools. Our goal is to continue to drive the crypto space forward by investing intellectual capital into projects, participating actively to help shape the ecosystems we believe in. + +### Team Code Repos + +- https://github.com/blockcoders +- https://github.com/blockcoders/nestjs-ethers +- https://github.com/blockcoders/harmony-marketplace-sdk +- https://github.com/blockcoders/near-rpc-providers +- https://github.com/athenafarm/athena-vault-contracts +- https://github.com/athenafarm/athena-sdk + +Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine. + +- https://github.com/0xslipk +- https://github.com/fersirni +- https://github.com/damianfixel + +### Team LinkedIn Profiles (if available) + +- https://www.linkedin.com/in/jarcodallo/ +- https://www.linkedin.com/in/fernando-sirni-1931ba122/ +- https://www.linkedin.com/in/dami%C3%A1n-fixel-6a3928163/ + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Total Estimated Duration:** 4 month +- **Full-Time Equivalent (FTE):** 2 +- **Total Costs:** 30000 USD + +### Milestone 1 - Backend + +- **Estimated duration:** 2.5 month +- **FTE:** 2 +- **Costs:** 20,000 USD + +In this milestone the focus is on creating a new service that can be consider a full node of the aplication that will create a new DB and will start syncing all the data from the blockchain (can be synced from genesis or a specific block). This node will also have the frontend covered in Milestone 2. +The service will expose an API that will provide all the required information that the frontend may need. + +| Number | Deliverable | Specification | +| ------------- | ------------- | ------------- | +| 0a. | License | MIT | +| 0b. | Documentation | We will provide both **english** and **spanish** versions of the documentation. This will cover step by step how to set up and start the project using both docker and running the node locally. | +| 0c. | Testing Guide | Unit test and end to end tests will cover the core functions to ensure everything works as expected. The documentation will have an example on how to run these tests. | +| 0d. | Docker | A Dockerfile will be provided that will be able to start the node and run tests for all the functionality delivered within this milestone. | +| 0e. | Article | We will post an article on Twitter and Reddit for both english and spanish speakers communities. +| 1. | Create database | Create a docker container to start a PostgreSQL database to store all the information, define the models to store and create tables and indexes. | +| 2. | Backend service | Create a docker container to start a typescript service that subscribes to blockchain events and Ink modules events. This service will store and index the information in the database to be accessed quickly and easily. Add all subscriptions needed to retrieve the information of the emited events from both the blockchain (using polkadot.js) and Ink modules. Store and index the events data on the database. (If needed sync all data from blockHash - can be from genesis but it will take longer) | +| 3. | API | Extend the service functionality to expose an API that gets the contracts data | +| 4. | Testing | Achieve a testing coverage of the functionalities above 90% | + +Deliverables in this milestone will be dockerized. We will provide a README with examples showing how to start the service, and query the API. + +### Milestone 2 - Frontend + +- **Estimated Duration:** 1.5 month +- **FTE:** 2 +- **Costs:** 10,000 USD + +This milestone is entirely about creating a frontend app and making it work along with the back end service. The app will be mounted on the same docker as the backend service so it can be started with a single docker command. + +| Number | Deliverable | Specification | +| ------------- | ------------- | ------------- | +| 0a. | License | MIT | +| 0b. | Documentation | We will provide both **english** and **spanish** versions of the documentation. This will cover step by step how to set up and start the project using both docker and running the node locally. | +| 0c. | Testing Guide | Unit test and end to end tests will cover the core functions to ensure everything works as expected. The documentation will have an example on how to run these tests. | +| 0d. | Docker | A Dockerfile will be provided that will be able to start the node and run tests for all the functionality delivered within this milestone. | +| 0e. | Article | We will post an article on Twitter and Reddit for both english and spanish speakers communities. +| 1. | Create App | Create a frontend application that follows the proposed design. Cover the following functionalities: Blocks explorer, Transactions explorer and Contracts explorer (this section will provide to the user information related to the contract, such as transactions, the contract data and events). Dockerize the app to start in a container. | +| 2. | Support for Spanish speakers community | Translate the app to spanish and add support to switch languages. | +| 3. | Testing | Add tests to the components. Achieve a testing coverage of the functionalities above 90% | +| 4. | Final setups | Deal with all production issues/configuration requirements such as creating the final docker image, reviewing the documentation and verifying everything works fine. | +| 5. | Deploy the app | Define the final domain and deploy the app. | + +#### User Interface + +The user interface will be based on this [mock-up](https://www.figma.com/file/WzYV7xQIfFx7HpMB77z9NS/inkExplorer?node-id=42%3A619): + +![Blockcoders Ink Explorer](https://user-images.githubusercontent.com/3802516/180186130-7a6b6856-f926-44f2-8887-b82e4cb640b4.png) + +## Future Plans + +We plan to expose all the data throughout a Graphql application and add support for more languages. + +## License + +Apache license version 2.0 From 60cd047c462c9b337680edb399d710410a4cbc7f Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 26 Jul 2022 12:51:34 +0200 Subject: [PATCH 0023/1872] Update accepted_grant_applications.md Add Blockcoders --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 360f4b26ab1..638a6b63910 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -519,3 +519,4 @@ | [B-Datagray](https://www.b-datagray.com/) | Datagen Project | [GitHub](https://github.com/Datagen-Project) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Colorful Notion](https://polkaholic.io/#chains) | Polkaholic.io's Multi-Chain Substrate Block Explorer | [GitHub](https://github.com/colorfulnotion/polkaholic/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Common Orbit LLC](https://brson.github.io) | `wasm-opt` for Rust | [GitHub](https://github.com/brson/wasm-opt-rs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Blockcoders](https://blockcoders.io/) | Ink Explorer | [GitHub](https://github.com/blockcoders) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 07ba965f89ae1f8c9fca968aaee130c35f2c7241 Mon Sep 17 00:00:00 2001 From: Vaclav Barta Date: Tue, 26 Jul 2022 16:11:52 +0200 Subject: [PATCH 0024/1872] C++ Light Client proposal (#968) * C++ Light Client proposal * review feedback * extended milestone table * Update c++polkadot-light-client.md Applying discount to costs * Update c++polkadot-light-client.md switching EUR to USD * also mentioning Polkadot spec update Co-authored-by: Mark Robert Henderson --- applications/c++polkadot-light-client.md | 124 +++++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 applications/c++polkadot-light-client.md diff --git a/applications/c++polkadot-light-client.md b/applications/c++polkadot-light-client.md new file mode 100644 index 00000000000..6aefbe314d0 --- /dev/null +++ b/applications/c++polkadot-light-client.md @@ -0,0 +1,124 @@ +# W3F Grant Proposal + +- **Project Name:** Polkadot Light Client in C++ +- **Team Name:** Equilibrium +- **Payment Address:** 0x4126272BA14F7a124b1B98633678e0e5F87Ec478 +- **[Level](https://github.com/w3f/Grants-Program/tee/master#level_slider-levels):** 2 + +## Project Overview :page_facing_up: + +This project is to create a C++ implementation of a Light Client for Substrate-based chains. +On a high level, the C++ Light Client will allow users (via JSON-RPC) to: + +- Query chain state within the client (on synced chain state, including runtime code) +- Route user transactions to peers and track results + +[smoldot]: https://github.com/paritytech/smoldot/ + +### Project Details + +We will extend the [Polkadot specification](https://spec.polkadot.network/) with Light Client requirements\* and deliver a detailed specification for the implementation based on the research done in the time frame specified in this proposal. +The actual implementation will be performed in the next phase. + +The specification includes: + +#### Cryptography + +Define primitives / library requirements such as blake2 hashing for proof verification +Check library availabilities and provide estimates for missing libraries + +#### Embedding Runtime + +Define runtime environment requirements (Browser / NodeJS application / Other?)\* +Select runtimes such as wasmedge and/or emscripten cross-compilation for desktop / server and/or browser +Define embedding environment interface such as bindings in JavaScript + +#### Specifications for multichain support + +Specify scope and support for Parachain and Relay chain + +#### JSON-RPC service APIs + +Define APIs to be supported\* +(submitting transactions, watching transactions / blocks / accounts, etc) + +As the RPC API is currently unstable (see [PSPs#41](https://github.com/w3f/PSPs/issues/41)), specification must be written first. + +#### Components specifications / selection + +Networking (likely cpp-libp2p) +Database (likely SQLite) + +\*Web3 Foundation input required + +### Ecosystem Fit + +This is an alternate implementation to the WASM light node in [Smoldot]. + +## Team :busts_in_silhouette: + +### Team members + +- Vaclav Barta +- Mark Henderson + +### Contact + +- **Contact Name:** Mark Henderson +- **Contact Email:** mark@equilibrium.co +- **Website:** https://equilibrium.co/ + +### Legal Structure + +- **Registered Address:** Leipätehdas, Kaikukatu 4, 6th floor 00530 Helsinki, Finland +- **Registered Legal Entity:** Equilibrium Group Oy + +### Team's experience + +- Vaclav Barta is a Senior Software Developer at Equilibrium. Having implemented C++ projects for companies from Akamai to Deutsche Bank, currently creating smart contract pipelines from C to WebAssembly for XRPL Foundation. +- Mark Henderson is the VP of Engineering at Equilibrium. He has led the team starting with the original Rust IPFS grant in late 2019, through engagements with many of the largest names in Web3, and is now circling back to finish the critical work the team started with the original Ziggurat proposal. Core contributor to OrbitDB, Rust IPFS, and Ziggurat. + +### Team Code Repos + +- https://github.com/eqlabs + +## Development Status :open_book: + +Equilibrium discussed with David Hawig on different implementation on Polkadot host, C++, AssemblyScript and Zig. After initial research, Equilibrium has decided to apply for the C++ implementation of the light node. + +## Development Roadmap :nut_and_bolt: + +To achieve the final implementation, the project is broken down into 2 phases: + +- Phase 0: Initial research for C++ Light Client specification +- Phase 1: Light Client implementation + +This proposal is only for Phase 0 and will culminate with the delivery of a detailed specification for the light client implementation in Phase 1. + +### Overview + +- **Total Estimated Duration:** 5 weeks +- **Full-Time Equivalent (FTE):** 1 +- **Total Costs:** $34000 USD + +### Milestone 1 — Substrate Module Research + +- **Estimated duration:** 5 weeks +- **FTE:** 1 +- **Costs:** $34000 USD + +| Number | Deliverable | Specification | +| -----: | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 0a. | License | Apache 2.0 / MIT | +| 0b. | Format | Markdown (mdBook) | +| 0c. | Published | GitHub, GitHub Pages | +| 1. | Cryptography | security advantages over connecting to 3rd-party node, limitations compared to full client | +| 2. | Runtime environment requirements | for browser and Node.js | +| 3. | Multichain support | use cases for cross-chain communication | +| 4. | JSON-RPC APIs | minimal run-time access interface | +| 5. | Dependencies | libraries for cryptography, networking, build | + + +## Future Plans + +From here we would move on to the implementation of the light client node in Phase 1. We expect Phase 1 to be completed by a larger team at Equilibrium. From 33511c7a56ee963afa791e899b4995f5beca3a76 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 26 Jul 2022 16:13:33 +0200 Subject: [PATCH 0025/1872] Update accepted_grant_applications.md Polkadot Light Client in C++ --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 638a6b63910..4c6e70f6fd9 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -520,3 +520,4 @@ | [Colorful Notion](https://polkaholic.io/#chains) | Polkaholic.io's Multi-Chain Substrate Block Explorer | [GitHub](https://github.com/colorfulnotion/polkaholic/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Common Orbit LLC](https://brson.github.io) | `wasm-opt` for Rust | [GitHub](https://github.com/brson/wasm-opt-rs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Blockcoders](https://blockcoders.io/) | Ink Explorer | [GitHub](https://github.com/blockcoders) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Equilibrium](https://equilibrium.co/) | Polkadot Light Client in C++ | [GitHub](https://github.com/eqlabs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From c6f1fe1a41b0173f0b27ae600a1626e69d1e5bd4 Mon Sep 17 00:00:00 2001 From: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> Date: Thu, 28 Jul 2022 13:59:13 +0200 Subject: [PATCH 0026/1872] Update Crossbow project name (#1090) --- docs/polkadot_stack.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/polkadot_stack.md b/docs/polkadot_stack.md index eea6c517055..863e6e3fbfe 100644 --- a/docs/polkadot_stack.md +++ b/docs/polkadot_stack.md @@ -106,7 +106,7 @@ In the below sections you can find a list of different layers of the Polkadot St | Benchmarking | [Substrate Graph Benchmarks](https://github.com/shawntabrizi/substrate-graph-benchmarks) :red_circle:| | Blockchain Indexing Engine | [Substrate Archive](https://github.com/paritytech/substrate-archive) :yellow_circle:, [PSQL Indexer](https://github.com/usetech-llc/polkadot_psql_indexer) :red_circle:, [Polkadothub Indexer](https://github.com/figment-networks/polkadothub-indexer) :green_circle:, [Substrate Graph](https://github.com/playzero/substrate-graph) :yellow_circle:, [Hydra](https://github.com/subsquid/hydra) :red_circle:, [Subquery](https://github.com/OnFinality-io/subql) :green_circle:, [Polkadot Profit Transformer](https://github.com/p2p-org/polkadot-profit-transformer) :green_circle:| | Blockchain/Event Monitoring | [Web3 Guardian](https://github.com/open-web3-stack/guardian) :yellow_circle:, [Aurras Event Manager](https://github.com/HugoByte/aurras-event-manager) :green_circle:, [@commonwealth/chain-events](https://github.com/hicommonwealth/chain-events) :green_circle:| -| Gaming | [Mobile Game Framework for Substrate](https://github.com/creator-rs/creator/) :green_circle:| [Amethyst](https://amethyst.rs/) + [Substrate](https://substrate.dev/) +| Gaming | [Crossbow](https://github.com/dodorare/crossbow) :green_circle:| [Amethyst](https://amethyst.rs/) + [Substrate](https://substrate.dev/) | No-code Platforms | [EzCode's Polkadot.js plugin on Bubble.io](https://github.com/NovaBloq/Bubble-Plugin-Polkadot.js) :red_circle:, [Blackprint Visual Programming Polkadot.js module](https://github.com/Blackprint/nodes-polkadot.js) :green_circle:| | | XCM | [XCM-tools](https://github.com/PureStake/xcm-tools) :green_circle:| | | Wallet Connection | [Tesseract](https://github.com/tesseract-one/Tesseract.rs) :yellow_circle:, [WalletConnect](https://github.com/WalletConnect-Labs/walletconnect-v2-monorepo) :grey_question:| | From 0d48c83f1c2cc31156406a19db3995f7a04d6bc3 Mon Sep 17 00:00:00 2001 From: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> Date: Thu, 28 Jul 2022 14:53:53 +0200 Subject: [PATCH 0027/1872] Update link (#1091) --- docs/polkadot_stack.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/polkadot_stack.md b/docs/polkadot_stack.md index 863e6e3fbfe..6c6b7e23244 100644 --- a/docs/polkadot_stack.md +++ b/docs/polkadot_stack.md @@ -150,7 +150,7 @@ In the below sections you can find a list of different layers of the Polkadot St | Gaming | [Bit.country](https://github.com/bit-country/Bit-Country-Blockchain) :green_circle:, [SubGame](https://github.com/SubGame-Network/subgame-network) :yellow_circle:, [subzero](https://github.com/playzero/subzero) :red_circle:, [Web3Games](https://github.com/web3gamesofficial/web3games-blockchain) :red_circle:, [Ajuna Network](https://github.com/ajuna-network/Ajuna) :green_circle:, [Gafi Network](https://github.com/cryptoviet/gafi) :green_circle:, [Asylum](https://gitlab.com/asylum-space/asylum-item-nft) | | Computation/AI | [DeepBrain Chain](https://github.com/DeepBrainChain/DeepBrainChain-MainChain) :green_circle:, [AI Infrastructure on Blockchain](https://github.com/anudit/cerebrum) :red_circle:| | Enable specific use-cases | [Robonomics](https://github.com/airalab/substrate-node-robonomics) :green_circle:, [UniversalDOT](https://github.com/UniversalDot/pallets) :red_circle:, [Evercity Sustainable Finance Protocol](https://github.com/EvercityEcosystem/evercity-chain) :green_circle:, [Fennel Protocol](https://github.com/fennelLabs/Fennel-Protocol) :yellow_circle:, [logion](https://github.com/logion-network/logion-node) :green_circle: -| NFT | [ternoa](https://github.com/capsule-corp-ternoa/chain) :green_circle:, [FRAME Pallet: NFTs for Substrate](https://github.com/danforbes/pallet-nft) :red_circle:, [NFT Parachain by usetech](https://github.com/w3f-community/nft_parachain) :red_circle:, [DNFT](https://github.com/DNFT-Team/dnft-substrate-node/tree/master/pallets) :red_circle:, [RMRK-Substrate](https://github.com/rmrk-team/rmrk-substrate) :green_circle: +| NFT | [ternoa](https://github.com/capsule-corp-ternoa/chain) :green_circle:, [FRAME Pallet: NFTs for Substrate](https://github.com/danforbes/pallet-nft) :red_circle:, [Unique NFT Parachain](https://github.com/UniqueNetwork/unique-chain) :green_circle:, [DNFT](https://github.com/DNFT-Team/dnft-substrate-node/tree/master/pallets) :red_circle:, [RMRK-Substrate](https://github.com/rmrk-team/rmrk-substrate) :green_circle: | Randomness | [DKG and Randomness Beacon](https://github.com/Cardinal-Cryptography/substrate/tree/randomness-beacon) :yellow_circle: | Licensing | [Anagolay Network](https://github.com/anagolay/anagolay-chain) :green_circle:| | Banking Integration | [FIAT on-off-ramp](https://github.com/element36-io/ebics-java-service) :green_circle: From ef3b0f2321d78e0e4e27b299eb1cca05b941d330 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Thu, 28 Jul 2022 17:49:43 +0200 Subject: [PATCH 0028/1872] Update accepted_grant_applications.md --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 4c6e70f6fd9..d8369972e39 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -510,7 +510,7 @@ | Team | Project | Link | Terminated | First Delivery | Completed | :--- | :------ | :--- | :--------: | :------------: | :-------: | -| [4ire](https://4irelabs.com/) | Slushie | [GitHub](https://github.com/4IRE-Labs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [4ire](https://4irelabs.com/) | Slushie | [GitHub](https://github.com/4IRE-Labs) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [QRUCIAL OÜ](https://qrucial.io/) | QRUCIAL DAO | [GitHub](https://github.com/Qrucial/QRUCIAL-DAO) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Polkadot js plus](http://polkadotjs.plus/) | Polkadot js plus / Social Recovery Wallet | [GitHub](https://github.com/Nick-1979/polkadot-Js-Plus-extension/wiki) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Lee](https://github.com/rust-0x0) | Hex Space Social Graph | [GitHub](https://github.com/rust-0x0) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 0f49393e028134a397d4417a6b69e84a8fa6bb92 Mon Sep 17 00:00:00 2001 From: Chris <91449322+chrisicen@users.noreply.github.com> Date: Fri, 29 Jul 2022 15:29:30 +0800 Subject: [PATCH 0029/1872] Add openrollup-mvp-phase-1 application (#912) * Add openrollup-mvp-phase-1 application * Add move operation: move currency to another zkapp * Add Assets and NFT support * Update deliverables: add verifier trait, mock verifier, and support for tokens and NFTs. * Remove support for tokens and NFTs in Future plans * Add: Prove and Verification abstraction * fix typo * Add some more details * Add zkapp demo example delivery * Update applications/openrollup-mvp-phase-1.md Co-authored-by: S E R A Y A * Update applications/openrollup-mvp-phase-1.md Co-authored-by: S E R A Y A * Update applications/openrollup-mvp-phase-1.md Co-authored-by: S E R A Y A * Update applications/openrollup-mvp-phase-1.md Co-authored-by: S E R A Y A * Update applications/openrollup-mvp-phase-1.md Co-authored-by: S E R A Y A * Update applications/openrollup-mvp-phase-1.md Co-authored-by: S E R A Y A * Update applications/openrollup-mvp-phase-1.md Co-authored-by: S E R A Y A * Update applications/openrollup-mvp-phase-1.md Co-authored-by: S E R A Y A * Update applications/openrollup-mvp-phase-1.md Co-authored-by: S E R A Y A * Update applications/openrollup-mvp-phase-1.md Co-authored-by: S E R A Y A * Update applications/openrollup-mvp-phase-1.md Co-authored-by: S E R A Y A * Add miden verifier and merge pallet deliverables * Miden verifier in Open rollup Pallet * Update Team and Add Pallet functionality * Update the proposal price Co-authored-by: S E R A Y A --- applications/openrollup-mvp-phase-1.md | 173 +++++++++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100644 applications/openrollup-mvp-phase-1.md diff --git a/applications/openrollup-mvp-phase-1.md b/applications/openrollup-mvp-phase-1.md new file mode 100644 index 00000000000..8aeeb10335f --- /dev/null +++ b/applications/openrollup-mvp-phase-1.md @@ -0,0 +1,173 @@ +# W3F Grant Proposal + +- **Project Name:** Open rollup - MVP - Phase 1 +- **Team Name:** Open rollup +- **Payment Address:** 0xC1347410Ee2Fc96C4e5a090FF97E3937A8aE158F (DAI) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 + +## Project Overview :page_facing_up: + +### Overview + +**Description.** Open rollup provides a powerful and complete ZK rollup solution for substrate-based chains without contract enabled. + +**Background.** We have developed some blockchain products, and the blockchain scalability problem is a serious problem. We believe that the off-chain zkapp solution is one of the best solutions to this problem. + +**Proposal.** We propose an open zk-rollups hub solution based on Substrate. There is no central operator here. Each zkapp developer can freely register their own zkapp on the chain, implement their own offline logic, and submit their ZK Proofs and state changes for their batch transactions. + +**Zkapp.** Zkapp can be a simple voting app, or a professional layer 2 solution with EVM support like zksync. + + +### Project Details + +The core of Open rollup is open-rollup-pallet, which saves the program-hash, balance, operations (e.g., transfer, swap, move), and account state root hash of each zkapp. In addition it saves each users' balance of each zkapp, one child trie per zkapp. +It includes two main components: rollup and verifier. +The rollup component includes a zkapp registration, user deposits to a zkapp, exit when a zkapp is inactive which didn't submit a batch within 7 days and the handling of full-exit operations on the zkapp side. +Due to resource and time constraints, this proposal currently contains a rollup component, and a [miden](https://github.com/maticnetwork/miden) verifier instead of a zkvm that we want to implement in the future. +The verifier will be included in future proposals, and the rollup part will also increase the support of tokens and NFTs. +Our initial idea about the verifier is to implement the verifier of [Cairo VM](https://eprint.iacr.org/2021/1063.pdf) in the future, which requires implementing the AIR of zkstark for Cairo VM. Then the developers of zkapp can use [Cairo-lang](https://www.cairo-lang.org/) to develop zkapp. + + +#### Protocol overview + +We give a brief overview of the rollup protocols. + +- **Zkapp registration.** Developers use a program-hash to register a zkapp. The program-hash is derived from the bytecode of the zkapp. If the zkapp is open source, users can verify that the program-hash is indeed corresponding to the zkapp. In addition, the program-hash is also a public output of the verifier, which ensures that the submitted proof is indeed generated by this very zkapp's execution. +- **User deposit.** Users who want to participate in a zkapp deposit to this zkapp, and the batch submitted by this zkapp needs to include this deposit. +- **User withdraw.** If this zkapp ignores the user's operation in zkapp, the user can submit an withdraw transaction, and this zkapp must include this withdraw operation in the next submission. +- **User full exit.** If the zkapp has not been submitted for a period of time, the user can exit the zkapp and withdraw the assets. +- **Zkapp batch submit.** The submission includes the batch's commitment, operations, proof, and new and previous account state root hashes. The commitment is the hash of the batch's operations, it's the public output of the zkapp's execution, so the verifier can be convinced that the state transition of the operations is correct. Operations include transfers, swaps, moving to another zkapp, and exit ops, which are used to update user balances for int the zkapp. + +- **Zkapp management** The registrant of one zkapp can manage the batch submitter and manually set the zkapp to be inactive +- **Zkapps info api.** Query the status (assets's balances, last submission time, inactive status) of each zkapp, and the assets's balances of each user in each zkapp + +#### Prove and Verification abstraction + +Open rollup supports arbitrary programs (zkapp) to interact with it, the open rollup pallet runs on-chain (L1), and zkapp runs off-chain (L2). To ensure the correctness of off-chain zkapp execution and state transitions, open rollup abstracts a zkvm that runs off-chain, and an on-chain verifier verifies the batch submitted by zkapp. + +- **zkvm** run a zkapp program, generate proofs +- **program** zkapp program, consisting of zkvm instructions +- **program_hash** any zkapp can be reduced to a single 32-byte value, called program-hash, it ensures that the verifier verifies the execution of a specific program +- **zkapp-txs** L2 transactions generated by the user's interaction with zkapp and L1 transactions submitted by the user to the Open rollup pallet (deposit/exit/move) +- **operations** emitted by zkapp-txs (such as transfer, swap, move) to update state +- **state** merkle tree of the account's balances of tokens of a zkapp +- **state root** the Merkle root hash of the state of a zkapp +- **batch_commitment** the state changes commitment (hash) of the batch, it ensures the submitted operations are the result of the batch's execution + +**Pseudocode run offchain on zkapp side** + +``` +let (zk-proof, execute_program_hash, operations, new_state_root, batch_commitment) = zkvm.execute(program, current_state_root, zkapp-txs) +assert program_hash == execute_program_hash +zkapp.submit_to_onchain(program_hash, operations, current_state_root, new_state_root, batch_commitment) +``` + +**Pseudocode run onchain on pallet side** + +``` +assert current_state_root == saved_state_roots[program_hash] +let verifier = new MockVerifier() +assert batch_commitment == verifier.compute_batch_commitment(new_state_root, operations) +let public_inputs = (program_hash, batch_commitment) +assert verifier.vefify(zk-proof, public_inputs) +saved_state_roots[program_hash] = new_state_root +``` + +**note** + +As the detailed zkvm is determined, this abstraction may change. + +#### Scope of current proposal + +Due to the time and resource constraints of us, we limit the scope of the current proposal to implementing the on-chain rollup part of the pallet involving Currency(Balances pallet)/Assets(Assets pallet)/NFT(Uniques pallet). +We are still considering and researching the proof and verification protocol, we can't provide very detailed details yet, we will design it while implementing this proposal. + +### Ecosystem Fit + +- Where and how does your project fit into the ecosystem? + +1) **Open zk-rollup architecture** Developers who want to participate in the Polkadot ecosystem do not need to invest in their own zk-rollup technology alone so that more developers can participate in the development of zkapp. + +2) **increase scalability** The off-chain zkapps greatly expands the scalability of the Polkadot/Substrate. + +3) **Modularity** The architecture of Open rollup is suitable for different proof and verify protocols, and can adapt to zkapps of different ZK protocols in the future + +- Who is your target audience (parachain/dapp/wallet/UI developers, designers, your own user base, some dapp's userbase, yourself)? +- What need(s) does your project meet? + +1) The application developers that are in search of scaling their blockchain application, for example, the payment application. +2) The game developers who do not want to interact with the chain frequently only need to submit in batches for a period of time, which saves the cost of using the chain and improves the user experience. + +- Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem? + +There are many zk-rollup projects, such as zksync, starknet, hermez, plonky2, they are basically in the Ethereum ecosystem. They are all operated by a central operator, and in our protocol, each zkapp is an operator. + + +## Team :busts_in_silhouette: + +### Team members + +- Chris Cen + +### Contact + +- **Contact Name:** Chris Cen +- **Contact Email:** chris@icen.cc +- **Website:** https://openrollup.org/ (not yet established) + +### Legal Structure + +- **Registered Address:** not yet available +- **Registered Legal Entity:** not yet available + +### Team's experience + +Our team has a lot of experience in applied cryptography, blockchain research, and software development. +Chris has been a software engineer for many years in the gaming industry and has led the development of various multiplayer online games. Recently he develop a hybrid consensus of Progpow and AuthorityRound [https://github.com/chrisicen/openethereum-unity](https://github.com/chrisicen/openethereum-unity). He is currently devoted to the development of an off-chain ZK scalability solution for blockchain. + +### Team Code Repos + +- https://github.com/openrollup-zk +- https://github.com/chrisicen + +### Team LinkedIn Profiles (if available) + +not yet available + +## Development Status :open_book: + +We've been working on techniques for zk-rollup, and verifiable computation for some time, including projects like zksync, halo2, plonky2, winterfell, hermez, and related papers and articles. We are starting to implement the rollup part. + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Total Estimated Duration:** 4 months +- **Full-Time Equivalent (FTE):** 1 FTE +- **Total Costs:** 30,000 USD. + +### Milestone 1 — Implement Substrate Modules + +- **Estimated duration:** 4 month +- **FTE:** 1 +- **Costs:** 30,000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can spin up one of our Substrate nodes and send test transactions, which will show how the new functionality works. | +| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 0e. | Article | We will publish an **article**/workshop that explains what was done/achieved as part of the grant. | +| 1. | Open rollup Pallet | We provide the core data types and the functionalities(zkapp registration/user deposit/user exit/user full exit/zkapp batch submit/zkapp management/zkapp info api) which support currencies/tokens/NFTs as specified in Project Details.

- **Pallet Data structures**
- `Zkapps`: Map, The zkappParams defining a zkapp, i.e., the ZkvmType, the submitter, and the inactive status
- `ZkappStates`: Map, A [child Trie](https://docs.substrate.io/main-docs/fundamentals/state-transitions-and-storage/) holds Users' balances of the Assets in each zkapp

- **Pallet Functionality**

- `fn zkappRegister(programHash: Hash, zkvmType: ZkvmType)`: Register a zkapp on the pallet
- `fn addAssetSuppport(programHash: Hash, asset: Asset)`: Add support of one asset in the zkapp
- `fn changeSubmitter(programHash: Hash, asset: Asset, newSubmitter: AccountId)`: Change the submitter of the zkapp
- `fn setInactive(programHash: Hash)`: Set the zkapp is inactive, no batch can be submitted in the future, and the users can send an exit transaction to withdraw their assets
- `fn submitBatch(programHash: Hash, oldStateRoot: Hash, newStateRoot: Hash, operations: Vec, proof: Vec)`: Submit a new batch providing the L2 operations (transfer, swap, move, withdraw)
- `fn deposit(programHash: Hash, asset: Asset)`: Deposits a given amount of assets into the zkapp.
- `fn withdraw(programHash: Hash, asset: Asset)`: Withdraws a given amount of assets from the zkapp to the owner
- `fn moveAsset(fromProgramHash: Hash, toProgramHash: Hash, asset: Asset)`: Move a given amount of assets from one zkapp to another zkapp
- `fn exit(programHash: Hash)`: If one zkapp is inactive, the user can exit the zkapp and withdraw the assets
+| 2. | Miden verifier in Open rollup Pallet | We provide the verifier trait suitable for general apps, and a miden verifier that implements the verifier trait. | + +## Future Plans + +- A proof and verification protocol for developing Cairo programs using the Rust language. +- Add recursive zero-knowledge proof protocol + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** Recommendation from a friend in the [Bifrost](https://github.com/bifrost-finance/bifrost) team. + From 2c8aa0f34c3fdea276eaa7fd337c52a61ca62b16 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Fri, 29 Jul 2022 09:59:14 +0200 Subject: [PATCH 0030/1872] Update accepted_grant_applications.md Open rollup --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index d8369972e39..1f533d2ab57 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -521,3 +521,4 @@ | [Common Orbit LLC](https://brson.github.io) | `wasm-opt` for Rust | [GitHub](https://github.com/brson/wasm-opt-rs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Blockcoders](https://blockcoders.io/) | Ink Explorer | [GitHub](https://github.com/blockcoders) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Equilibrium](https://equilibrium.co/) | Polkadot Light Client in C++ | [GitHub](https://github.com/eqlabs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Open rollup](https://github.com/openrollup-zk) | Open rollup - MVP - Phase 1 | [GitHub](https://github.com/openrollup-zk) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 280128fa32d7d01d319cbba2dcbf7292b499f9f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Fri, 29 Jul 2022 17:27:19 +0200 Subject: [PATCH 0031/1872] Update accepted_grant_applications.md --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 1f533d2ab57..ff14c6f6f9b 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -501,7 +501,7 @@ | [UNIVERSALDOT FOUNDATION](https://universaldot.foundation) | Universaldot.me Phase 2 | [GitHub](https://github.com/UniversalDot) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Societal Labs Ltd.](https://www.sctl.xyz/) | Societal - MVP - Phase 1 | [GitHub](https://github.com/sctllabs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Faceless Protocol](https://github.com/HeisenbergLin22) | Faceless Protocol | [GitHub](https://github.com/HeisenbergLin22) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [SuperColony](https://github.com/Supercolony-net) | Typechain | [GitHub](https://github.com/Supercolony-net/typechain-polkadot) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [SuperColony](https://github.com/Supercolony-net) | Typechain | [GitHub](https://github.com/Supercolony-net/typechain-polkadot) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Codelight](https://massbit.io/) | Massbit Route | [GitHub](https://github.com/massbitprotocol/massbitroute) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Hypha Hashed Partners](https://hypha.earth/) | Social Recovery Wallet | [GitHub](https://github.com/hypha-dao) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [MangoBOX labs](http://mangobox.xyz/) | MangoBOX Protocol | [GitHub](https://github.com/Mangoboxlabs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From b9469568b244f2e0883c11c1172238aea8bec313 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Sun, 31 Jul 2022 20:43:20 +0200 Subject: [PATCH 0032/1872] Update README.md Update Edgeware link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 81e861ca23e..d835378c71a 100644 --- a/README.md +++ b/README.md @@ -285,7 +285,7 @@ Below is a list of other grant programs in the Polkadot/Substrate ecosystem: - [Darwinia Grants Program](https://github.com/darwinia-network/collaboration/blob/master/grant/README.md#grant-program) - [Moonbeam Grants Program](https://moonbeam.foundation/grants/) -- [Edgeware Grants and Bounties](https://github.com/edgeware-builders/construction-projects) +- [Edgeware Grants and Bounties](https://gov.edgewa.re/discussion/1132-edgeware-proposal-process-and-template) - [Crust Grants Program](https://github.com/crustio/Crust-Grants-Program) - [HydraDX Grants and Bounties](https://docs.hydradx.io/new_deal/) - [Astar / Shiden Network Builders Program](https://github.com/PlasmNetwork/Builders-Program) From b741bd454747a5c177c9d32596bb30ec01751fbb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 1 Aug 2022 09:06:33 +0200 Subject: [PATCH 0033/1872] Update status badges (#1095) Co-authored-by: github-actions[bot] --- docs/polkadot_stack.md | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/docs/polkadot_stack.md b/docs/polkadot_stack.md index 6c6b7e23244..456a865a9fb 100644 --- a/docs/polkadot_stack.md +++ b/docs/polkadot_stack.md @@ -72,7 +72,7 @@ In the below sections you can find a list of different layers of the Polkadot St |-|-|- | Desktop/Web Wallets | [Talisman Web Application](https://github.com/TalismanSociety/talisman-web) :green_circle:, [AirGap](https://github.com/airgap-it/airgap-wallet) :green_circle:, [Sakura](https://github.com/w3finance/sakura) :red_circle:| User-friendly Wallet based on the [Recovery Pallet](https://github.com/paritytech/substrate/tree/master/frame/recovery), Web wallets focused on user-onboarding (e.g. using [localStorage](https://github.com/near/near-wallet) ) | Browser Extensions | [Polkadot{.js}](https://github.com/polkadot-js/extension) :green_circle:, [Polkadot-Js-Plus-Extension](https://github.com/Nick-1979/polkadot-Js-Plus-extension) :green_circle:, [SubWallet-Extension](https://github.com/Koniverse/SubWallet-Extension) :green_circle:, [Doter](https://github.com/ChainBridgeNetworkTeam/Doter) :red_circle:, [Enzyme](https://github.com/blockxlabs/enzyme/) :red_circle:, [Speckle OS](https://github.com/GetSpeckle/speckle-browser-extension) :red_circle:| Sign-in with your polkadot, kusama, etc. account. -| Mobile Wallets| [Lunie](https://github.com/luniehq/lunie) :red_circle:, [Polkawallet](https://github.com/polkawallet-io/polkawallet-flutter) :red_circle:, [Parity Signer](https://github.com/paritytech/parity-signer) :green_circle:, [imToken](https://github.com/consenlabs/token-core) :red_circle:, [Fearless Wallet Android](https://github.com/soramitsu/fearless-Android) :green_circle:, [Fearless Wallet iOS](https://github.com/soramitsu/fearless-iOS) :green_circle:, [Stylo](https://github.com/stylo-app/stylo) :yellow_circle:, [Nova Wallet](https://github.com/nova-wallet/nova-utils) :green_circle:, [Fractapp](https://github.com/fractapp/fractapp/) :red_circle: +| Mobile Wallets| [Lunie](https://github.com/luniehq/lunie) :red_circle:, [Polkawallet](https://github.com/polkawallet-io/polkawallet-flutter) :red_circle:, [Parity Signer](https://github.com/paritytech/parity-signer) :green_circle:, [imToken](https://github.com/consenlabs/token-core) :red_circle:, [Fearless Wallet Android](https://github.com/soramitsu/fearless-Android) :green_circle:, [Fearless Wallet iOS](https://github.com/soramitsu/fearless-iOS) :green_circle:, [Stylo](https://github.com/stylo-app/stylo) :green_circle:, [Nova Wallet](https://github.com/nova-wallet/nova-utils) :green_circle:, [Fractapp](https://github.com/fractapp/fractapp/) :red_circle: | Burner Wallets/Faucet| [KodaDot](https://github.com/vue-polkadot/apps) :red_circle:, [Astar Faucet Bot](https://github.com/AstarNetwork/astar-faucet-bot) :yellow_circle:| Faucet (a sybil-resistant way to receive free tokens) | CLI Wallet | [Subwallet](https://github.com/yxf/subwallet) :red_circle:, [Proxy-hot-wallet](https://github.com/canontech/proxy-hot-wallet) :red_circle: | Multisignature Wallets| [Subscan Multisig UI - React](https://github.com/itering/subscan-multisig-react) :yellow_circle:, [Subscan Multisig UI](https://github.com/itering/subscan-multisig-ui) :red_circle:, [Dorafactory-Multisig](https://github.com/DoraFactory/dorafactory-multisig) :red_circle:| @@ -84,7 +84,7 @@ In the below sections you can find a list of different layers of the Polkadot St | Governance Dashboards | [Polkassembly](https://github.com/premiurly/polkassembly) :green_circle:, [dotreasury](https://github.com/opensquare-network/dotreasury) :green_circle:, [Bright Treasury](https://github.com/bright/bright-tresury) :red_circle:, [OpenSquare offchain voting](https://github.com/opensquare-network/collaboration) :green_circle:| UI for the kusama and/or polkadot treasury (see [bounty module](https://github.com/paritytech/substrate/pull/5715) ), UI for Parachain Lease Offering (PLO) | | Staking | [Staking Rewards Collector](https://github.com/w3f/staking-rewards-collector) :yellow_circle:, [Staking Rewards Viewer](https://github.com/jackson-harris-iii/staking-rewards-viewer) :red_circle:, [Polkadot Staking Site](https://github.com/cryptolab-network/polkadot-staking-site) :red_circle:, [Polkadot Staking Dashboard](https://github.com/paritytech/polkadot-staking-dashboard) :green_circle:| | Bridge UI | [Parity Bridges UI](https://github.com/paritytech/parity-bridges-ui) :red_circle:, [Donut Interface (Steem <> Dot)](https://github.com/nutbox-dao/donut-interface) :red_circle:| | -| Parachain/Crowdloan | [Parachains.Network](https://github.com/jhonalino/parachains.network) :red_circle:, [PolkAuction](https://github.com/CrommVardek/polk-auction-ui) :green_circle:| | +| Parachain/Crowdloan | [Parachains.Network](https://github.com/jhonalino/parachains.network) :red_circle:, [PolkAuction](https://github.com/CrommVardek/polk-auction-ui) :yellow_circle:| | | Identicon | [PolkadotWebIdenticon](https://github.com/RidOne-technologies/polkadot-web-identicon) :red_circle:, [Polkadot Angular IdentIcon](https://github.com/RidOne-technologies/polkadot-angular-identicon) :red_circle:, [Bird Identicon](https://github.com/Noc2/Bird-Identicon) :red_circle:| | Other | [KappaSigmaMu Fratority](https://github.com/KappaSigmaMu/ksm-app) :green_circle:, [Quadratic Funding Webapp](https://github.com/OAK-Foundation/quadratic-funding-webapp) :red_circle:, [Polkawatch](https://gitlab.com/polkawatch/polkawatch), [Bytepay](https://github.com/bytepayment/bytepay) :green_circle:, [charging-management-platform](https://github.com/Delmonicos/charging-management-platform) :yellow_circle:, [subidentity-webapp](https://github.com/TDSoftware/subidentity-webapp) :green_circle:, [OpenSquare Paid QA](https://github.com/opensquare-network/paid-qa/) :green_circle:| Portfolio Viewer like Zapper or Zerion @@ -93,31 +93,31 @@ In the below sections you can find a list of different layers of the Polkadot St | Components | Existing projects | Potentially interesting projects |-|-|- | Parachain | [Parachain utilities](https://github.com/AcalaNetwork/parachain-utilities) :red_circle:, [Gantree](https://github.com/gantree-io/gantree-core) :red_circle:| Tools to create parachains from frameworks used in other ecosystems | -| Client Libraries | [Go](https://github.com/centrifuge/go-substrate-rpc-client) :green_circle:, [.Net](https://github.com/usetech-llc/polkadot_api_dotnet) :red_circle:, [.NET Standard 2.0](https://github.com/ajuna-network/Ajuna.NetApi) :green_circle:, [C++](https://github.com/usetech-llc/polkadot_api_cpp) :red_circle:, [C](https://github.com/finoabanking/substrate-c-tool) :red_circle:, [Haskell](https://github.com/airalab/hs-web3) :yellow_circle:, [Javascript](https://github.com/polkadot-js/api) :green_circle:, [Substrate API Sidecar - TypeScript](https://github.com/paritytech/substrate-api-sidecar) :green_circle:, [Ruby](https://github.com/itering/scale.rb) :red_circle:, [Python](https://github.com/polkascan/py-substrate-interface) :green_circle:, [Java (+ Android)](https://github.com/emeraldpay/polkaj) :green_circle:, [Substrate Client Java](https://github.com/strategyobject/substrate-client-java) :green_circle:, [Rust SCS](https://github.com/scs/substrate-api-client) :green_circle:, [Rust Parity](https://github.com/paritytech/substrate-subxt) :green_circle:, [PHP (gmajor-encrypt)](https://github.com/gmajor-encrypt/php-substrate-api) :yellow_circle:, [PHP (neha0921)](https://github.com/neha0921/substrate-interface-package) :red_circle:, [RPC-Ethereum](https://github.com/paritytech/frontier) :green_circle:, [Swift](https://github.com/tesseract-one/Substrate.swift) :red_circle:| | +| Client Libraries | [Go](https://github.com/centrifuge/go-substrate-rpc-client) :green_circle:, [.Net](https://github.com/usetech-llc/polkadot_api_dotnet) :red_circle:, [.NET Standard 2.0](https://github.com/ajuna-network/Ajuna.NetApi) :green_circle:, [C++](https://github.com/usetech-llc/polkadot_api_cpp) :red_circle:, [C](https://github.com/finoabanking/substrate-c-tool) :red_circle:, [Haskell](https://github.com/airalab/hs-web3) :green_circle:, [Javascript](https://github.com/polkadot-js/api) :green_circle:, [Substrate API Sidecar - TypeScript](https://github.com/paritytech/substrate-api-sidecar) :green_circle:, [Ruby](https://github.com/itering/scale.rb) :red_circle:, [Python](https://github.com/polkascan/py-substrate-interface) :yellow_circle:, [Java (+ Android)](https://github.com/emeraldpay/polkaj) :yellow_circle:, [Substrate Client Java](https://github.com/strategyobject/substrate-client-java) :green_circle:, [Rust SCS](https://github.com/scs/substrate-api-client) :green_circle:, [Rust Parity](https://github.com/paritytech/substrate-subxt) :green_circle:, [PHP (gmajor-encrypt)](https://github.com/gmajor-encrypt/php-substrate-api) :yellow_circle:, [PHP (neha0921)](https://github.com/neha0921/substrate-interface-package) :red_circle:, [RPC-Ethereum](https://github.com/paritytech/frontier) :green_circle:, [Swift](https://github.com/tesseract-one/Substrate.swift) :red_circle:| | |Substrate Contract clients | [PatractGo](https://github.com/patractlabs/go-patract) :red_circle:| | -| SCALE Codec | [Rust](https://github.com/paritytech/parity-scale-codec) :green_circle:, [Python](https://github.com/polkascan/py-scale-codec) :green_circle:, [Golang Chainsafe](https://github.com/ChainSafe/gossamer/tree/development/lib/scale) :green_circle:, [Golang Itering](https://github.com/itering/scale.go) :green_circle:, [C](https://github.com/MatthewDarnell/cScale) :red_circle:, [C++](https://github.com/soramitsu/scale-codec-cpp) :yellow_circle:, [JavaScript](https://github.com/polkadot-js/api) :green_circle:, [AssemblyScript](https://github.com/LimeChain/as-scale-codec) :red_circle:, [Haskell](https://github.com/airalab/hs-web3/tree/master/src/Codec) :yellow_circle:, [Java](https://github.com/emeraldpay/polkaj) :green_circle:, [Ruby](https://github.com/itering/scale.rb) :red_circle:, [Dart](https://github.com/nbltrust/dart-scale-codec) :red_circle:, [Swift](https://github.com/tesseract-one/swift-scale-codec) :red_circle:, [PHP](https://github.com/gmajor-encrypt/php-scale-codec) :yellow_circle:, [JavaScript by Soramitsu](https://github.com/soramitsu/scale-codec-js-library) :yellow_circle:| +| SCALE Codec | [Rust](https://github.com/paritytech/parity-scale-codec) :green_circle:, [Python](https://github.com/polkascan/py-scale-codec) :green_circle:, [Golang Chainsafe](https://github.com/ChainSafe/gossamer/tree/development/lib/scale) :green_circle:, [Golang Itering](https://github.com/itering/scale.go) :green_circle:, [C](https://github.com/MatthewDarnell/cScale) :red_circle:, [C++](https://github.com/soramitsu/scale-codec-cpp) :red_circle:, [JavaScript](https://github.com/polkadot-js/api) :green_circle:, [AssemblyScript](https://github.com/LimeChain/as-scale-codec) :red_circle:, [Haskell](https://github.com/airalab/hs-web3/tree/master/src/Codec) :green_circle:, [Java](https://github.com/emeraldpay/polkaj) :yellow_circle:, [Ruby](https://github.com/itering/scale.rb) :red_circle:, [Dart](https://github.com/nbltrust/dart-scale-codec) :red_circle:, [Swift](https://github.com/tesseract-one/swift-scale-codec) :red_circle:, [PHP](https://github.com/gmajor-encrypt/php-scale-codec) :red_circle:, [JavaScript by Soramitsu](https://github.com/soramitsu/scale-codec-js-library) :yellow_circle:| | Easy Runtime Development | [VS Code Plugin](https://github.com/everstake/vscode-plugin-substrate) :red_circle:, [Atom Code Plugin](https://github.com/everstake/atom-plugin-substrate) :red_circle:, [Substrate Playground](https://github.com/paritytech/substrate-playground) :green_circle:, [Substrate Marketplace VS Code Plugin](https://github.com/paritytech/vscode-substrate) :red_circle:, [AssemblyScript Runtime Generation](https://github.com/LimeChain/as-substrate-runtime) :red_circle:, [Substrate Package Manager](https://github.com/clearloop/sup) :red_circle:, [Subsembly: Framework for developing AssemblyScript Substrate Runtimes](https://github.com/LimeChain/subsembly) :red_circle:, [dependency diener](https://github.com/bkchr/diener) :green_circle:| | | Easy Smart Contract Development | [ink-playground](https://github.com/staketechnologies/ink-playground/tree/master) :red_circle:, [Ink! Remix Plugin](https://github.com/blockchain-it-hr/ink-remix-plugin) :red_circle: | Runtime Security | [K specifications](https://github.com/kframework/wasm-semantics) :yellow_circle:, [PolPatrol - Polkadot Runtime Checker](https://github.com/ChainSecurity/polpatrol) :red_circle:| Automated Runtime checking tools, economic audit simulator such as [gauntlet.network](https://gauntlet.network/) -| Smart Contract Languages | [Ask!](https://github.com/ask-lang/ask) :green_circle:, [Subscript](https://github.com/slickup/subscript) :red_circle:, [Solang](https://github.com/hyperledger-labs/solang) :green_circle:, [Ink!](https://github.com/paritytech/ink) :green_circle:, [Move VM Substrate](https://github.com/pontem-network/sp-move) :yellow_circle:, [Move smart contract by Neatcoin](https://github.com/neatcoin/neatcoin) :red_circle:, [Sol2Ink](https://github.com/Supercolony-net/sol2ink) :yellow_circle:| Functional Programming Languages, other languages with developed toolchains | +| Smart Contract Languages | [Ask!](https://github.com/ask-lang/ask) :green_circle:, [Subscript](https://github.com/slickup/subscript) :red_circle:, [Solang](https://github.com/hyperledger-labs/solang) :green_circle:, [Ink!](https://github.com/paritytech/ink) :green_circle:, [Move VM Substrate](https://github.com/pontem-network/sp-move) :red_circle:, [Move smart contract by Neatcoin](https://github.com/neatcoin/neatcoin) :red_circle:, [Sol2Ink](https://github.com/Supercolony-net/sol2ink) :yellow_circle:| Functional Programming Languages, other languages with developed toolchains | | Smart Contract Security | -| Testing | [Halva](https://github.com/halva-suite/halva) :red_circle:, [Ink Waterfall](https://github.com/paritytech/ink-waterfall) :yellow_circle:, [Redspot](https://github.com/patractlabs/redspot) :red_circle:, [MixBytes Tank](https://github.com/mixbytes/tank) :red_circle:, [sub-flood](https://github.com/NikVolf/sub-flood) :red_circle:, [Substrate debug-kit](https://github.com/paritytech/substrate-debug-kit) :red_circle:, [Dotscale - SCALE Codec Comparator](https://github.com/arijitAD/dotscale) :red_circle:, [Asset CLI tool](https://github.com/JesseAbram/asset_cli_tool) :green_circle:, [sub_crash](https://github.com/JesseAbram/unfinished_testing_tool) :red_circle:, [subwasm](https://github.com/chevdor/subwasm) :green_circle:, [subsee](https://github.com/ascjones/subsee) :yellow_circle:, [polkadot-lab](https://github.com/w3f/polkadot-lab) :red_circle:, [Zombienet](https://github.com/paritytech/zombienet) :green_circle:, [RPC-perf](https://github.com/dwellir-public/rpc-perf/) :green_circle: -| Testnet | [Polkadot Launch](https://github.com/paritytech/polkadot-launch) :yellow_circle:, [polkadot-starship](https://github.com/koute/polkadot-starship) :red_circle:, [Fork off Substrate](https://github.com/maxsam4/fork-off-substrate) :red_circle:, [Parachain Launch](https://github.com/open-web3-stack/parachain-launch) :green_circle:| +| Testing | [Halva](https://github.com/halva-suite/halva) :red_circle:, [Ink Waterfall](https://github.com/paritytech/ink-waterfall) :yellow_circle:, [Redspot](https://github.com/patractlabs/redspot) :red_circle:, [MixBytes Tank](https://github.com/mixbytes/tank) :red_circle:, [sub-flood](https://github.com/NikVolf/sub-flood) :red_circle:, [Substrate debug-kit](https://github.com/paritytech/substrate-debug-kit) :red_circle:, [Dotscale - SCALE Codec Comparator](https://github.com/arijitAD/dotscale) :red_circle:, [Asset CLI tool](https://github.com/JesseAbram/asset_cli_tool) :green_circle:, [sub_crash](https://github.com/JesseAbram/unfinished_testing_tool) :red_circle:, [subwasm](https://github.com/chevdor/subwasm) :green_circle:, [subsee](https://github.com/ascjones/subsee) :red_circle:, [polkadot-lab](https://github.com/w3f/polkadot-lab) :red_circle:, [Zombienet](https://github.com/paritytech/zombienet) :green_circle:, [RPC-perf](https://github.com/dwellir-public/rpc-perf/) :green_circle: +| Testnet | [Polkadot Launch](https://github.com/paritytech/polkadot-launch) :green_circle:, [polkadot-starship](https://github.com/koute/polkadot-starship) :red_circle:, [Fork off Substrate](https://github.com/maxsam4/fork-off-substrate) :red_circle:, [Parachain Launch](https://github.com/open-web3-stack/parachain-launch) :green_circle:| | Benchmarking | [Substrate Graph Benchmarks](https://github.com/shawntabrizi/substrate-graph-benchmarks) :red_circle:| | Blockchain Indexing Engine | [Substrate Archive](https://github.com/paritytech/substrate-archive) :yellow_circle:, [PSQL Indexer](https://github.com/usetech-llc/polkadot_psql_indexer) :red_circle:, [Polkadothub Indexer](https://github.com/figment-networks/polkadothub-indexer) :green_circle:, [Substrate Graph](https://github.com/playzero/substrate-graph) :yellow_circle:, [Hydra](https://github.com/subsquid/hydra) :red_circle:, [Subquery](https://github.com/OnFinality-io/subql) :green_circle:, [Polkadot Profit Transformer](https://github.com/p2p-org/polkadot-profit-transformer) :green_circle:| -| Blockchain/Event Monitoring | [Web3 Guardian](https://github.com/open-web3-stack/guardian) :yellow_circle:, [Aurras Event Manager](https://github.com/HugoByte/aurras-event-manager) :green_circle:, [@commonwealth/chain-events](https://github.com/hicommonwealth/chain-events) :green_circle:| +| Blockchain/Event Monitoring | [Web3 Guardian](https://github.com/open-web3-stack/guardian) :green_circle:, [Aurras Event Manager](https://github.com/HugoByte/aurras-event-manager) :green_circle:, [@commonwealth/chain-events](https://github.com/hicommonwealth/chain-events) :green_circle:| | Gaming | [Crossbow](https://github.com/dodorare/crossbow) :green_circle:| [Amethyst](https://amethyst.rs/) + [Substrate](https://substrate.dev/) | No-code Platforms | [EzCode's Polkadot.js plugin on Bubble.io](https://github.com/NovaBloq/Bubble-Plugin-Polkadot.js) :red_circle:, [Blackprint Visual Programming Polkadot.js module](https://github.com/Blackprint/nodes-polkadot.js) :green_circle:| | | XCM | [XCM-tools](https://github.com/PureStake/xcm-tools) :green_circle:| | | Wallet Connection | [Tesseract](https://github.com/tesseract-one/Tesseract.rs) :yellow_circle:, [WalletConnect](https://github.com/WalletConnect-Labs/walletconnect-v2-monorepo) :grey_question:| | -| Other | [open-web3 JS library](https://github.com/open-web3-stack/open-web3.js) :green_circle:, [VM-Bridge](https://github.com/CycanTech/GVM-Bridge) :red_circle:, [srtool](https://github.com/paritytech/srtool) :green_circle:, [Substrate Tip Bot](https://github.com/paritytech/substrate-tip-bot) :green_circle:, [ORI (Onchain Risk Intelligence)](https://github.com/syntifi/ori) :red_circle:, [PolkaTools](https://github.com/albertov19/PolkaTools) :yellow_circle:, [polkadot-scripts](https://github.com/paritytech/polkadot-scripts) :yellow_circle:, [Static analyzer for Substrate FRAME's pallets](https://github.com/simon-perriard/saft) :green_circle:, [Sube](https://github.com/virto-network/sube) :red_circle:, [data-store-sidecar](https://github.com/CESSProject/data-store-sidecar) :green_circle: +| Other | [open-web3 JS library](https://github.com/open-web3-stack/open-web3.js) :green_circle:, [VM-Bridge](https://github.com/CycanTech/GVM-Bridge) :red_circle:, [srtool](https://github.com/paritytech/srtool) :green_circle:, [Substrate Tip Bot](https://github.com/paritytech/substrate-tip-bot) :green_circle:, [ORI (Onchain Risk Intelligence)](https://github.com/syntifi/ori) :red_circle:, [PolkaTools](https://github.com/albertov19/PolkaTools) :green_circle:, [polkadot-scripts](https://github.com/paritytech/polkadot-scripts) :yellow_circle:, [Static analyzer for Substrate FRAME's pallets](https://github.com/simon-perriard/saft) :green_circle:, [Sube](https://github.com/virto-network/sube) :red_circle:, [data-store-sidecar](https://github.com/CESSProject/data-store-sidecar) :green_circle: ### :memo: ink Smart Contracts | Components | Existing projects | Potentially interesting projects |-|-|- | Bridges | [Dante Protocol](https://github.com/dantenetwork/protocol-stack-for-ink) :green_circle:| | -| DeFi | [Polkadot AMM](https://github.com/realnimish/polkadot-amm) :red_circle:, [Vera](https://github.com/veradefi/defi) :red_circle:, [Nsure Insurance](https://github.com/nsure-tech/dot-contract) :red_circle:, [Everlasting Cash](https://github.com/CycanTech/ELC) :red_circle:, [Coinversation](https://github.com/Coinversation/coinpro) :red_circle:, [zenlink-dex-contract](https://github.com/zenlinkpro/zenlink-dex-contract) :green_circle:, [AlgoCash](https://github.com/ReserveLabs/AlgoCash) :red_circle:| New seigniorage-style stable coins +| DeFi | [Polkadot AMM](https://github.com/realnimish/polkadot-amm) :red_circle:, [Vera](https://github.com/veradefi/defi) :red_circle:, [Nsure Insurance](https://github.com/nsure-tech/dot-contract) :red_circle:, [Everlasting Cash](https://github.com/CycanTech/ELC) :red_circle:, [Coinversation](https://github.com/Coinversation/coinpro) :red_circle:, [zenlink-dex-contract](https://github.com/zenlinkpro/zenlink-dex-contract) :yellow_circle:, [AlgoCash](https://github.com/ReserveLabs/AlgoCash) :red_circle:| New seigniorage-style stable coins | Gaming | [Open Emoji Battler](https://github.com/OpenEmojiBattler/open-emoji-battler) :green_circle:, [NewOmega](https://github.com/WiktorStarczewski/newomega.polkadot/blob/master/newomega_delegator/newomega/newomega.rs) :red_circle:| | | DAO | [subDAO](https://github.com/SubDAO-Network/subDAO-contracts) :red_circle:, [RainbowDAO](https://github.com/RainbowcityFoundation/RainbowDAO-Protocol-Ink-milestone_1) :red_circle:| | | Spam Protection | [Prosopo](https://github.com/prosopo-io/integration) :green_circle:| | @@ -133,19 +133,19 @@ In the below sections you can find a list of different layers of the Polkadot St | Privacy | [Webb Anon](https://github.com/webb-tools/anon) :red_circle:, [ZeroChain](https://github.com/LayerXcom/zero-chain) :red_circle:, [pLibra (Phala Network)](https://github.com/Phala-Network/phala-blockchain) :green_circle:, [Automata Network](https://github.com/automata-network/automata) :green_circle:, [zCloak Network](https://github.com/zCloak-Network/zcloak-node) :red_circle:, [Zero Network](https://github.com/zero-network/zero) :green_circle:| [Multi-Asset Shielded Pool (MASP)](https://github.com/anoma/masp) , [Zkay](https://arxiv.org/pdf/2009.01020.pdf), [Zexe](https://eprint.iacr.org/2018/962.pdf) | ZKP | [ZeroPool](https://github.com/zeropoolnetwork/zeropool-substrate-groth16-example) :red_circle:, [Megaclite](https://github.com/patractlabs/megaclite) :red_circle:, [zkMega](https://github.com/patractlabs/zkmega) :red_circle:, [PLONK for Substrate](https://github.com/AstarNetwork/plonk) :yellow_circle:, [Webb Anchor Protocol](https://github.com/webb-tools/protocol-substrate) :green_circle:| | TEE | [Integritee](https://github.com/integritee-network/worker) :green_circle:, [substraTEE](https://github.com/scs/substraTEE) :red_circle: -| DeFi | [Diora](https://github.com/Diora-Network/Diora) :green_circle:, [Pendulum Chain](https://github.com/pendulum-chain/pendulum) :green_circle:, [Compound Gateway](https://github.com/compound-finance/gateway) :red_circle:, [Parallel Finance](https://github.com/parallel-finance/parallel) :green_circle:, [PINT](https://github.com/ChainSafe/PINT) :red_circle:, [Laminar Chain](https://github.com/laminar-protocol/laminar-chain) :red_circle:, [Acala](https://github.com/AcalaNetwork/Acala) :green_circle:, [Centrifuge](https://github.com/centrifuge/centrifuge-chain) :green_circle:, [Stafi](https://github.com/stafiprotocol/stafi-node) :red_circle:, [Definex](https://github.com/y2labs-0sh/definex) :red_circle:, [OAX Foundation](https://github.com/OAXFoundation/parrot) :red_circle:, [Cybex](https://github.com/alexxuyang/substrate-dex) :red_circle:, [Zenlink](https://github.com/zenlinkpro/pallet-zenlink) :red_circle:, [Swaps Pallet](https://github.com/lsaether/pallet-swaps) :red_circle:, [Polkadex](https://github.com/Polkadex-Substrate/Polkadex/tree/master) :yellow_circle:, [SubDEX](https://github.com/subdarkdex/subdex-parachain) :red_circle:, [HydraDX](https://github.com/galacticcouncil/hack.HydraDX-node) :green_circle:, [Substrate Stablecoin](https://github.com/apopiak/stablecoin) :red_circle:, [Standard protocol](https://github.com/digitalnativeinc/standard-substrate) :yellow_circle:, [Polkaswap](https://github.com/sora-xor/sora2-network) :green_circle:, [Curve AMM](https://github.com/equilibrium-eosdt/equilibrium-curve-amm) :red_circle:, [Konomi Network](https://github.com/konomi-network/cumulus/) :red_circle:, [Composable Finance](https://github.com/ComposableFi/composable) :green_circle:, [Stable Asset](https://github.com/nutsfinance/stable-asset) :red_circle:, [Libra Payment](https://github.com/atscaletech/libra) :green_circle:, [Mangata](https://github.com/mangata-finance/mangata-node) :green_circle:, [Tidechain](https://github.com/tidelabs/tidechain) :green_circle:| DEX with privacy and confidentiality features such as those found in a [dark pool](https://en.wikipedia.org/wiki/Dark_pool) +| DeFi | [Diora](https://github.com/Diora-Network/Diora) :green_circle:, [Pendulum Chain](https://github.com/pendulum-chain/pendulum) :green_circle:, [Compound Gateway](https://github.com/compound-finance/gateway) :red_circle:, [Parallel Finance](https://github.com/parallel-finance/parallel) :green_circle:, [PINT](https://github.com/ChainSafe/PINT) :red_circle:, [Laminar Chain](https://github.com/laminar-protocol/laminar-chain) :red_circle:, [Acala](https://github.com/AcalaNetwork/Acala) :green_circle:, [Centrifuge](https://github.com/centrifuge/centrifuge-chain) :green_circle:, [Stafi](https://github.com/stafiprotocol/stafi-node) :red_circle:, [Definex](https://github.com/y2labs-0sh/definex) :red_circle:, [OAX Foundation](https://github.com/OAXFoundation/parrot) :red_circle:, [Cybex](https://github.com/alexxuyang/substrate-dex) :red_circle:, [Zenlink](https://github.com/zenlinkpro/pallet-zenlink) :red_circle:, [Swaps Pallet](https://github.com/lsaether/pallet-swaps) :red_circle:, [Polkadex](https://github.com/Polkadex-Substrate/Polkadex/tree/master) :yellow_circle:, [SubDEX](https://github.com/subdarkdex/subdex-parachain) :red_circle:, [HydraDX](https://github.com/galacticcouncil/hack.HydraDX-node) :green_circle:, [Substrate Stablecoin](https://github.com/apopiak/stablecoin) :red_circle:, [Standard protocol](https://github.com/digitalnativeinc/standard-substrate) :red_circle:, [Polkaswap](https://github.com/sora-xor/sora2-network) :green_circle:, [Curve AMM](https://github.com/equilibrium-eosdt/equilibrium-curve-amm) :red_circle:, [Konomi Network](https://github.com/konomi-network/cumulus/) :red_circle:, [Composable Finance](https://github.com/ComposableFi/composable) :green_circle:, [Stable Asset](https://github.com/nutsfinance/stable-asset) :red_circle:, [Libra Payment](https://github.com/atscaletech/libra) :green_circle:, [Mangata](https://github.com/mangata-finance/mangata-node) :green_circle:, [Tidechain](https://github.com/tidelabs/tidechain) :green_circle:| DEX with privacy and confidentiality features such as those found in a [dark pool](https://en.wikipedia.org/wiki/Dark_pool) | Smart contract chains | [moonbeam](https://github.com/PureStake/moonbeam) :green_circle:, [Edgeware](https://github.com/hicommonwealth/edgeware-node) :red_circle:, [ParaState](https://github.com/ParaState/substrate-ssvm-node) :red_circle:, [gear](https://github.com/gear-tech/gear) :green_circle:, [CENNZnet](https://github.com/cennznet/cennznet) :green_circle:, [SkyeKiwi](https://github.com/skyekiwi/skyekiwi-network) :yellow_circle:, [OAK-blockchain](https://github.com/OAK-Foundation/OAK-blockchain) :green_circle:, [ICE Blockchain](https://github.com/web3labs/ice-substrate) :green_circle:| smart contract chains with novel security approaches, smart contract chains based on existing toolchains| -| Oracle | [Laminar](https://github.com/laminar-protocol/open-runtime-module-library/tree/master/oracle) :green_circle:, [Parallel Finance](https://github.com/parallel-finance/parallel/blob/feature-oracle/pallets/ocw-oracle/src/lib.rs) :green_circle:, [Chainlink-polkadot](https://github.com/smartcontractkit/chainlink-polkadot) :red_circle:, [Ares Protocol](https://github.com/aresprotocols/ares) :green_circle:, [Kylin Network](https://github.com/Kylin-Network/kylin-node) :green_circle:, [interbtc-clients oracle](https://github.com/interlay/interbtc-clients/tree/master/oracle) :yellow_circle:, [Anonima](https://github.com/webb-tools/anonima) :red_circle:, [Apollo](https://github.com/ComposableFi/composable/tree/main/frame/oracle) :green_circle: +| Oracle | [Laminar](https://github.com/laminar-protocol/open-runtime-module-library/tree/master/oracle) :green_circle:, [Parallel Finance](https://github.com/parallel-finance/parallel/blob/feature-oracle/pallets/ocw-oracle/src/lib.rs) :green_circle:, [Chainlink-polkadot](https://github.com/smartcontractkit/chainlink-polkadot) :red_circle:, [Ares Protocol](https://github.com/aresprotocols/ares) :green_circle:, [Kylin Network](https://github.com/Kylin-Network/kylin-node) :green_circle:, [interbtc-clients oracle](https://github.com/interlay/interbtc-clients/tree/master/oracle) :green_circle:, [Anonima](https://github.com/webb-tools/anonima) :red_circle:, [Apollo](https://github.com/ComposableFi/composable/tree/main/frame/oracle) :green_circle: | Identity/DID | [Litentry](https://github.com/litentry/litentry-runtime) :red_circle:, [pallet-did](https://github.com/substrate-developer-hub/pallet-did) :red_circle:, [dot-id](https://github.com/prasad-kumkar/dot-id) :red_circle: | IoT | [Nodle](https://github.com/NodleCode/chain) :green_circle:, [MXC/DataHighway](https://github.com/DataHighway-DHX/node) :red_circle:, [peaq-network-node](https://github.com/peaqnetwork/peaq-network-node) :yellow_circle: | Verifiable Claims | [KILT](https://github.com/KILTprotocol/kilt-node) :green_circle:, [Dock](https://github.com/docknetwork/dock-substrate) :green_circle:, [Fennel Protocol](https://github.com/fennelLabs/Fennel-Protocol) :yellow_circle: | Supply chain| | | | Health care| [AriaHealth](https://github.com/AriaHealth/MetaNetwork) :red_circle:| | -| Social Networking | [Social Network](https://github.com/social-network/blockchain) :red_circle:, [SubSocial](https://github.com/dappforce/subsocial-node) :yellow_circle:, [ZeroDAO](https://github.com/ZeroDAO/ZeroDAO-node) :yellow_circle:, [Myriad Node](https://github.com/myriadsocial/myriad-node) :green_circle:, [Wika Network](https://github.com/randombishop/wika_etl) :red_circle:, [Project Liberty](https://github.com/LibertyDSNP/mrc) :green_circle:, [Listen](https://github.com/listenofficial/listen-parachain) :green_circle:| Private instant messenger that uses on-chain identity +| Social Networking | [Social Network](https://github.com/social-network/blockchain) :red_circle:, [SubSocial](https://github.com/dappforce/subsocial-node) :red_circle:, [ZeroDAO](https://github.com/ZeroDAO/ZeroDAO-node) :yellow_circle:, [Myriad Node](https://github.com/myriadsocial/myriad-node) :green_circle:, [Wika Network](https://github.com/randombishop/wika_etl) :red_circle:, [Project Liberty](https://github.com/LibertyDSNP/mrc) :green_circle:, [Listen](https://github.com/listenofficial/listen-parachain) :green_circle:| Private instant messenger that uses on-chain identity | Governance/DAO| [Hashed Network](https://github.com/hashed-io/hashed-substrate) :green_circle:, [Sunshine DAO](https://github.com/sunshine-protocol/sunshine-bounty) :red_circle:, [Governance OS](https://github.com/NucleiStudio/governance-os) :red_circle:, [Idavoll Network](https://github.com/idavollnetwork/idavoll) :red_circle:, [Substrate Moloch](https://github.com/DoraFactory/Substrate-Moloch-V2) :red_circle:, [QRUCIAL-DAO](https://github.com/Qrucial/QRUCIAL-DAO) :green_circle:, [Societal](https://github.com/sctllabs/societal-node) :grey_question:, [DAOs](https://github.com/daos-org/daos) :green_circle:| [Consul](https://github.com/consul/consul) - Open Government and E-Participation Web Software | Prediction Markets and Futarchy| [Zeitgeist](https://github.com/zeitgeistpm/zeitgeist) :green_circle:, [X Predict Market](https://github.com/XPredictMarket/NodePredict) :red_circle:| | Messaging | [HOPR](https://github.com/validitylabs/HOPR-PL-Substrate) :red_circle:, [Nolik](https://github.com/chainify/pallet-nolik/) :red_circle: -| File Storage, Cloud | [DatDot](https://github.com/playproject-io/datdot) :red_circle:, [Crust Network](https://github.com/crustio/crust) :red_circle:, [offchain::ipfs](https://github.com/rs-ipfs/offchain-ipfs-manual) :red_circle:, [Canyon Network](https://github.com/canyon-network/canyon) :red_circle:, [CESS](https://github.com/Cumulus2021/cess) :green_circle:, [CESS Proving Subsystem](https://github.com/CESSProject/cess-proving-system) :red_circle:, [Iris](https://github.com/ideal-lab5/iris) :yellow_circle:, [fmd-cess](https://github.com/CESSProject/fmd-cess) :red_circle:, [IPFS Frame V3](https://github.com/DanHenton/pocket-substrate/tree/ipfs-ocw) :green_circle:, [Threefold Chain](https://github.com/threefoldtech/tfchain) :green_circle:, [Apron](https://github.com/Apron-Network/apron-node) :red_circle: +| File Storage, Cloud | [DatDot](https://github.com/playproject-io/datdot) :red_circle:, [Crust Network](https://github.com/crustio/crust) :red_circle:, [offchain::ipfs](https://github.com/rs-ipfs/offchain-ipfs-manual) :red_circle:, [Canyon Network](https://github.com/canyon-network/canyon) :red_circle:, [CESS](https://github.com/Cumulus2021/cess) :green_circle:, [CESS Proving Subsystem](https://github.com/CESSProject/cess-proving-system) :red_circle:, [Iris](https://github.com/ideal-lab5/iris) :yellow_circle:, [fmd-cess](https://github.com/CESSProject/fmd-cess) :red_circle:, [IPFS Frame V3](https://github.com/DanHenton/pocket-substrate/tree/ipfs-ocw) :yellow_circle:, [Threefold Chain](https://github.com/threefoldtech/tfchain) :green_circle:, [Apron](https://github.com/Apron-Network/apron-node) :red_circle: | Name Service| [Substrate Names](https://github.com/xaya/substrate-names) :red_circle:, [ENS on Substrate](https://github.com/hskang9/substrate-name-service) :red_circle:, [PNS-Pallets](https://github.com/pnsproject/pns-pallets) :red_circle: | Gaming | [Bit.country](https://github.com/bit-country/Bit-Country-Blockchain) :green_circle:, [SubGame](https://github.com/SubGame-Network/subgame-network) :yellow_circle:, [subzero](https://github.com/playzero/subzero) :red_circle:, [Web3Games](https://github.com/web3gamesofficial/web3games-blockchain) :red_circle:, [Ajuna Network](https://github.com/ajuna-network/Ajuna) :green_circle:, [Gafi Network](https://github.com/cryptoviet/gafi) :green_circle:, [Asylum](https://gitlab.com/asylum-space/asylum-item-nft) | | Computation/AI | [DeepBrain Chain](https://github.com/DeepBrainChain/DeepBrainChain-MainChain) :green_circle:, [AI Infrastructure on Blockchain](https://github.com/anudit/cerebrum) :red_circle:| @@ -157,7 +157,7 @@ In the below sections you can find a list of different layers of the Polkadot St | Crowdfunding | [Imbue Network](https://github.com/ImbueNetwork/imbue) :green_circle:, [Quadratic Funding pallet by Dora](https://github.com/zhangjiannan/QFgrant) :red_circle:, [Quadratic Funding pallet by OAK](https://github.com/OAK-Foundation/quadratic-funding-pallet/tree/master) :red_circle:| [Minimum Anti-Collusion Infrastructure (MACI)](https://ethresear.ch/t/minimal-anti-collusion-infrastructure/5413) | Licensing | [Anagolay Network](https://github.com/anagolay/anagolay-chain) :green_circle:| | Collection of Pallets | [Substrate Open Runtime Module Library](https://github.com/open-web3-stack/open-runtime-module-library) :green_circle:, [warehouse](https://github.com/galacticcouncil/warehouse) :green_circle:, [InvArch FRAME Pallet Library](https://github.com/InvArch/InvArch-Frames) :yellow_circle:| -| Other | [Substrate Account Filter](https://github.com/gautamdhameja/substrate-account-filter) :red_circle:, [Subtensor](https://github.com/opentensor/subtensor) :yellow_circle:, [BitGreen](https://github.com/bitgreen/bitg-node) :green_circle:, [AdMeta](https://github.com/AdMetaNetwork/admeta) :green_circle:, [Chocolate Node](https://github.com/chocolatenetwork/chocolate-node) :green_circle:, [Virto Network](https://github.com/virto-network/virto-node) :yellow_circle:, [Substrate Validator Set](https://github.com/gautamdhameja/substrate-validator-set) :yellow_circle:, [DEIP](https://github.com/DEIPworld/deip-node) :green_circle:, [DeBio](https://github.com/debionetwork/debio-node) :green_circle:, [MathChain](https://github.com/mathwallet/MathChain) :red_circle:, [encointer](https://github.com/encointer/encointer-node) :green_circle:, [Grassland](https://github.com/grasslandnetwork/substrate_node) :yellow_circle:, [Substrate-Tutorials](https://github.com/rusty-crewmates/substrate-tutorials) :green_circle:, [Fair Squares](https://github.com/Fair-Squares/fair-squares) :green_circle:, [Totem Live Accounting](https://github.com/totem-tech/totem) :red_circle:| Decentralized review/reputation system +| Other | [Substrate Account Filter](https://github.com/gautamdhameja/substrate-account-filter) :red_circle:, [Subtensor](https://github.com/opentensor/subtensor) :green_circle:, [BitGreen](https://github.com/bitgreen/bitg-node) :yellow_circle:, [AdMeta](https://github.com/AdMetaNetwork/admeta) :green_circle:, [Chocolate Node](https://github.com/chocolatenetwork/chocolate-node) :green_circle:, [Virto Network](https://github.com/virto-network/virto-node) :yellow_circle:, [Substrate Validator Set](https://github.com/gautamdhameja/substrate-validator-set) :green_circle:, [DEIP](https://github.com/DEIPworld/deip-node) :green_circle:, [DeBio](https://github.com/debionetwork/debio-node) :green_circle:, [MathChain](https://github.com/mathwallet/MathChain) :red_circle:, [encointer](https://github.com/encointer/encointer-node) :green_circle:, [Grassland](https://github.com/grasslandnetwork/substrate_node) :red_circle:, [Substrate-Tutorials](https://github.com/rusty-crewmates/substrate-tutorials) :green_circle:, [Fair Squares](https://github.com/Fair-Squares/fair-squares) :green_circle:, [Totem Live Accounting](https://github.com/totem-tech/totem) :red_circle:| Decentralized review/reputation system ### :black_circle: Host @@ -178,7 +178,7 @@ In the below sections you can find a list of different layers of the Polkadot St | Load Balanced Endpoints | [terragrunt-polkadot](https://github.com/insight-w3f/terragrunt-polkadot) :red_circle:, [Geometry Labs' Substrate Meta repo](https://github.com/sudoblockio/substrate-meta) :yellow_circle: | Deployment Tools| [Polkadot Package Manager](https://github.com/Blockdaemon/bpm-sdk) :red_circle:, [PolkaHub](https://github.com/akropolisio/polkahub-monorepo) :red_circle:, [Avado](https://github.com/AvadoDServer/AVADO-DNP-Polkadot-custom) :red_circle:, [Polkadot Deployer](https://github.com/w3f/polkadot-deployer) :red_circle: | Validator monitoring | [SubVT](https://github.com/helikon-labs/subvt) :yellow_circle:, [P.A.N.I.C.](https://github.com/SimplyVC/panic_polkadot) :red_circle:, [Polkalert](https://github.com/galacticcouncil/polkalert) :red_circle:, [B-Harvest](https://github.com/nodebreaker0-0/substrate/tree/prometheus_v0.3) :red_circle:, [nmonpolkadot](https://github.com/stakezone/nmonpolkadot) :red_circle:, [Polkadot-K8s-Monitor](https://github.com/ironoa/polkadot-k8s-monitor) :yellow_circle:, [Polkadot-Watcher](https://github.com/w3f/polkadot-watcher) :green_circle:, [1KV Telegram Bot](https://github.com/helikon-labs/polkadot-kusama-1kv-telegram-bot) :yellow_circle: -| Validator payout management | [Substrate validator auto payout](https://github.com/Colm3na/substrate-auto-payout) :yellow_circle:, [Polkadot Payouts](https://github.com/w3f/polkadot-payouts) :yellow_circle:, [staking-payouts CLI](https://github.com/emostov/staking-payouts) :yellow_circle:, [Payctl](https://github.com/stakelink/substrate-payctl) :red_circle:, [crunch](https://github.com/turboflakes/crunch) :green_circle:| +| Validator payout management | [Substrate validator auto payout](https://github.com/Colm3na/substrate-auto-payout) :yellow_circle:, [Polkadot Payouts](https://github.com/w3f/polkadot-payouts) :green_circle:, [staking-payouts CLI](https://github.com/emostov/staking-payouts) :yellow_circle:, [Payctl](https://github.com/stakelink/substrate-payctl) :red_circle:, [crunch](https://github.com/turboflakes/crunch) :green_circle:| ### :black_nib: Signatures From 0cbcb65f794353540c7767ce11b26c95d34cd437 Mon Sep 17 00:00:00 2001 From: Yu Feng Date: Mon, 1 Aug 2022 01:00:53 -0700 Subject: [PATCH 0034/1872] Veridise grant proposal (#1069) * Veridise proposal * update per David's feedback --- applications/vanguard.md | 174 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 174 insertions(+) create mode 100644 applications/vanguard.md diff --git a/applications/vanguard.md b/applications/vanguard.md new file mode 100644 index 00000000000..9276980d078 --- /dev/null +++ b/applications/vanguard.md @@ -0,0 +1,174 @@ +# W3F Grant Proposal + +- **Project Name:** Vanguard +- **Team Name:** Veridise +- **Payment Address:** Ethereum: 0x0f8a5076a56b7ECD761562551FAd11DF631447B2 (USDC) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 + +## Project Overview :page_facing_up: + +### Overview + +Decentralized Finance (DeFi) is taking off at a very rapid pace, and smart contracts running on the Polkadot ecosystem are starting to entirely revolutionize the landscape of modern commerce. However, as with any technological revolution, this transformation ushers new security challenges that must be tackled head on: Because financial transactions are *automatically* executed by DeFi apps, bugs and security vulnerabilities in these programs can —and currently *do—* lead to significant amounts of financial loss. For example, over the past year alone, there have been repeated occurrences of so-called “flash loan attacks”, which exploit contract logic to manipulate the price of valuable assets, such as tokens, to obtain a purchase price well below its actual market value. In fact, according to many estimates, *over 1.3 Billion dollars* worth of funds have been stolen in the year 2021 alone, all because of some underlying software vulnerability. If such numbers are not staggering enough, add to this the fact that smart contracts are immutable once deployed: this means that there is no way to fix the vulnerability post-deployment even *after* the problem has been discovered. + +This is exactly why it is so crucial to ensure that the smart contracts on the Polkadot ecosystem are free of security vulnerabilities and that they function as intended *before* they are deployed on a distributed ledger. Here, at Veridise, our mission is to ensure the correctness of modern DeFi applications through state-of-the-art technology based on cutting edge formal verification research. + +Because many DeFi apps suffer from a common set of vulnerabilities (e.g., arithmetic overflows, flash loan vulnerabilities, transaction order dependence etc), a key component of the Veridise toolchain is a static analyzer, called Vanguard, for detecting such common vulnerabilities in ink! contracts. Because Vanguard is based on a technique called abstract interpretation, it is guaranteed to report a vulnerability if one exists (among the vulnerability types checked by Vanguard). + +### Project Details + +Vanguard is a static smart contract analysis framework written in C++. It runs a suite of vulnerability detectors, prints visual information about contract details, and provides an API to easily write custom analyses. Vanguard enables developers to find vulnerabilities, enhance their code comprehension, and quickly prototype custom analyses. The Veridise team has been designing the product vision of the Vanguard for quite some time. We will go over the project details and provide references below for more in-depth context. + +*Static Analysis via Abstract Interpretation.* At a high level, most static analyzers are based on a paradigm known as “abstract interpretation”. Just as a regular *interpreter* for a programming language executes the program on *some specific* input, an *abstract interpreter* symbolically executes the program over *sets of inputs*. + +To make this discussion more concrete, consider a simple function F that takes an integer x and returns x*2 (let’s assume unbounded integers for the purposes of this discussion). A regular interpreter can tell us that F will return 2 when executed on 1 and that it will return 4 when executed on 2 etc. However, when we do abstract interpretation, we can ask questions about what F returns on entire *sets* of inputs. For example, an abstract interpreter can tell us that F will return a value in the range [2, 10] when x is in the range [1, 5] or that the return value of F is always an even integer for any input x. + +So, how can an abstract interpreter do that? The key idea is to define the semantics of the programming language over some underlying *abstract domain*, where each element in the domain represents *a set of inputs*. Again, the best way to understand this concept is to contrast it against a standard interpreter for a programming language. We can think of an interpreter as a program that takes as input a mapping M from variables to concrete values and a code snippet S and produces a new mapping M’ from variables to values, as depicted below: + +drawing + +The idea behind an abstract interpreter is exactly the same except that it operates over *abstract values,* which are elements of an underlying so-called *abstract domain.* For instance, an abstract value could be an interval of the form [a, b] denoting a set of integers x such that a ≤ x ≤ b. Then, just a standard interpreter executes the program over a concrete input, an abstract interpreter executes the program over such abstract inputs: + +drawing + + +So what does it mean to execute a statement over abstract values? Let’s try to understand that through an example (again, assuming mathematical integers). Consider a statement like x = y+z, and suppose that our abstract values are intervals of the form [l, u]. If we know that y is in the range [a, b] and z is in the range [c, d], we can conclude that x is in the range [a+c, b+d]. This is precisely what we mean by *abstractly (symbolically) executing* a given statement! Now, how can we leverage abstract interpretation to detect smart contract vulnerabilities? + +*Reentrancy Detection.* One of the oldest DeFi attacks (responsible for the DAO Hack of 2016) is caused by “reentrancy”, which occurs when a contract invokes a function of another contract before it finishes updating any necessary contract state (such as a contract variable tracking refunds). Since the target contract can invoke functions in the source contract (hence the name “reentrancy”), this will cause the vulnerable contract to use stale values. This, in turn, can allow an attacker to access resources that they don’t have any claim to. Commonly, such an attack is used to withdraw more funds from a contract than they actually have, as illustrated below: + +drawing + + +How to detect them: Such reentrancy vulnerabilities can be detected by statically checking that no storage variables are updated after an external function is called. In particular, the static analyzer needs to compute which function calls can be made at every program point and which variables are updated. Then, if there exist two program points L1 and L2 such that (1) L1 can execute before L2, (2) L1 can invoke an external function, and (3) L2 can write to a storage variable, then there is a possible vulnerability in the code. It is worth noting that reentrancy vulnerabilities cannot be checked in a sound way using syntactic pattern matching — e.g., storage variables may be updated in subtle ways due to pointer aliasing and external functions may be called in non-obvious ways (e.g., through other function calls). + +For more information, please refer to the following resources: +- Veridise Whitepaper [here](https://veridise.com/wp-content/uploads/2022/05/white-paper.pdf) +- Veridise Docs [here](https://veridise.medium.com/) + + +### Ecosystem Fit + +It is well-known that bugs in blockchain ecosystem can have catastrophic consequences. As it stands today, the security landscape within the Polkadot ecosystem is not as mature as other ecosystems such as Ethereum. This is due to insufficient security tooling infrastructure in the ecosystem. Currently, the Polkadot ecosystem does not have the static analysis, symbolic execution, and other security tooling products as other major blockchains. By building the static analysis tooling products for ink! contracts, the Polkadot security landscape is hardened by utilizing the expertise from the Veridise team. + +The target audience of the Vanguard analyzer are web3 developers who require a tool to ensure the robustness and security of their applications. Using the technical capabilities that Veridise provides, our project will meet the needs of the Polkadot community to harden their own ink! contracts away from commmon vulnerabilities such as DoS, ToD, Reentrancy, flashloan attack, and many others. + +To the best of our knowledge, there is no comprehensive security tooling product for ink! contracts. The best option that the developers have is to leverage Linting rules that are supported by ink! 3.0. It is well-known that linting rules can only handle local and shallow patterns and they are completely insufficient for expressing common but serious vulnerabilities such as flashloan and reentrancy attacks. The only similar one is the Slither tool for Solidity. However, Vanguard differs from the Slither project in multiple ways. First, Slither can only support Solidity. On the other hand, Vanguard is language-agnostic and can easily support different versions of ink! language. Second, according to the results from our recent research paper, by evaluating both tools on the entire smart contracts from Etherscan, Vanguard significantly outperforms Slither in terms of both false positives and false negatives. + + +## Team :busts_in_silhouette: + +### Team members + +- Yu Feng +- Jon Stephens +- Ben Mariano + +### Contact + +- **Contact Name:** Yu Feng +- **Contact Email:** yu@veridise.com +- **Website:** www.veridise.com + +### Legal Structure + +- **Registered Address:** 7109 Midwood Pkwy, Austin TX, USA, 78736 +- **Registered Legal Entity:** Veridise INC. + +### Team's experience + +Founded by a team of well-known professors and researchers from academia, Veridise's cofounders collectively have over 30+ years of experience in formal verification, program analysis, and security. Veridise develops cost-effective security audits tooling products for dApps, regardless of the programming language they are implemented in or what blockchain platform they run on. Leveraging our expertise in automated program analysis, Veridise provides state-of-the-art solutions for ensuring security of decentralized finance applications. If you’re interested in learning more information, please consider visiting our prior [research](https://veridise.com/#research). + + +### Team Code Repos + +- https://github.com/veridise +- https://github.com/Veridise/Vanguard +- https://github.com/Veridise/libBlockchain + +Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine. + +- https://github.com/fredfeng +- https://github.com/stephensj2 +- https://github.com/bmarwritescode + +### Team LinkedIn Profiles (if available) + +- https://fredfeng.github.io/ +- https://stephensj2.github.io/ +- https://bmarwritescode.github.io/ + +## Development Status :open_book: + +Before applying for the Web3 Foundation Grant, the Veridise team conducted the following research: + +- Published a research paper at the top-one security conference (Oakland'22) [here](https://www.computer.org/csdl/proceedings-article/sp/2022/131600b235/1A4Q46YLRrq) +- Published a [blog post](https://medium.com/veridise/detecting-smart-contract-vulnerabilities-with-static-analysis-f362c0671f57) about the technique behind Vanguard +- The focus for Vanguard will be automatic detecting common vulnerabilities on ink! contracts +- Spoke with David Hawig and Alberto Navarro from the Parity team regarding the development of Vanguard and the Web3 Grant application + + + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Total Estimated Duration:** 2 months +- **Full-Time Equivalent (FTE):** 2 FTE +- **Total Costs:** 30,000 USDC. + +### Milestone 1 — Implement Core Vanguard Framework + +- **Estimated duration:** 1 month +- **FTE:** 2 +- **Costs:** 15,000 USDC + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | GPLv3 | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can (for example) spin up one of our Substrate nodes and send test transactions, which will show how the new functionality works. | +| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 0e. | Article | We will publish an **article** that explains the high-level overview of Vanguard as part of the grant, followed by a set of extensive examples. +| 1. | Basic infrastructure | We will build the basic infrastructure that is shared by all incoming detectors, including callgraph, alias analysis, and data-flow analysis. | +| 2. | Taint analysis | Many detectors can be reduced to static taint analysis. We will implement it as part of the core analysis | +| 3. | Generic Vanguard API | Design and implement the generic API that will be extended by 3rd-party developers | +| 4. | Basic Detectors | Implement basic detectors based on the core framework, including transaction order dependency, DoS, and uninitialized storage variables. | + + + +### Milestone 2 — Implement Common Vulnerability Detectors + +- **Estimated Duration:** 1 month +- **FTE:** 2 +- **Costs:** 15,000 USDC + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | GPLv3 | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can (for example) spin up one of our Substrate nodes and send test transactions, which will show how the new functionality works. | +| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 0e. | Article | In our medium website, we will publish an **article** that explains the functionality and usage of those detectors using real-world examples from the Polkadot ecosystem. +| 1. | Design unused-state detector | Unused-state variables can potentially increase the attack surface. We will implement a detector to identify unused-state variables | +| 2. | Improve Flashloan Detector | The current flashloan detector only works for very specific situations. It relies on someone calling balanceOf and tracks the taint to a transfer. I think that we can come up with a more generic version of the flashloan detector. | +| 3. | Pay without Withdraw Detector | Add a detector that looks for contracts that will lock funds by having a payable function with no way of withdrawing the token. | +| 4. | Evaluation on ink! contracts | Coordinate with the Parity community to collect a curated list of ink! [contracts](https://github.com/paritytech/awesome-ink) that will be used to evaluate the effectiveness of Vanguard. | + + + + +## Future Plans + + +- We will promote the project by giving talks in the community, writing tutorials and videos. +- We will also work closely with the developers and clients of the Parity ecosystem for getting feedback and refine our project. +- Our long-term plan is to make the tool become one of the default auditing tools for the Parity ecosystem. + + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** Web3 Foundation Website / Parity team / personal recommendation. + +Here you can also add any additional information that you think is relevant to this application but isn't part of it already, such as: + +- Our team collectively has over 30+ years experience in formal methods and static analysis, which setups the foundation of the project: https://veridise.com/#research From cd31fbf811b8b8c9000c7f593c6e43cfee295818 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 1 Aug 2022 10:02:41 +0200 Subject: [PATCH 0035/1872] Update accepted_grant_applications.md Vanguard --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index ff14c6f6f9b..c754ab5455b 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -522,3 +522,4 @@ | [Blockcoders](https://blockcoders.io/) | Ink Explorer | [GitHub](https://github.com/blockcoders) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Equilibrium](https://equilibrium.co/) | Polkadot Light Client in C++ | [GitHub](https://github.com/eqlabs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Open rollup](https://github.com/openrollup-zk) | Open rollup - MVP - Phase 1 | [GitHub](https://github.com/openrollup-zk) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Veridise](https://veridise.com/) | Vanguard | [GitHub](https://github.com/Veridise/Vanguard) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 034a2ab1b62022f978509f0f8c3306fb67a586b0 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 1 Aug 2022 10:09:02 +0200 Subject: [PATCH 0036/1872] Update polkadot_stack.md Vanguard --- docs/polkadot_stack.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/polkadot_stack.md b/docs/polkadot_stack.md index 456a865a9fb..d3f272a26e5 100644 --- a/docs/polkadot_stack.md +++ b/docs/polkadot_stack.md @@ -100,7 +100,7 @@ In the below sections you can find a list of different layers of the Polkadot St | Easy Smart Contract Development | [ink-playground](https://github.com/staketechnologies/ink-playground/tree/master) :red_circle:, [Ink! Remix Plugin](https://github.com/blockchain-it-hr/ink-remix-plugin) :red_circle: | Runtime Security | [K specifications](https://github.com/kframework/wasm-semantics) :yellow_circle:, [PolPatrol - Polkadot Runtime Checker](https://github.com/ChainSecurity/polpatrol) :red_circle:| Automated Runtime checking tools, economic audit simulator such as [gauntlet.network](https://gauntlet.network/) | Smart Contract Languages | [Ask!](https://github.com/ask-lang/ask) :green_circle:, [Subscript](https://github.com/slickup/subscript) :red_circle:, [Solang](https://github.com/hyperledger-labs/solang) :green_circle:, [Ink!](https://github.com/paritytech/ink) :green_circle:, [Move VM Substrate](https://github.com/pontem-network/sp-move) :red_circle:, [Move smart contract by Neatcoin](https://github.com/neatcoin/neatcoin) :red_circle:, [Sol2Ink](https://github.com/Supercolony-net/sol2ink) :yellow_circle:| Functional Programming Languages, other languages with developed toolchains | -| Smart Contract Security | +| Smart Contract Security | [Vanguard](https://github.com/Veridise/Vanguard) | | Testing | [Halva](https://github.com/halva-suite/halva) :red_circle:, [Ink Waterfall](https://github.com/paritytech/ink-waterfall) :yellow_circle:, [Redspot](https://github.com/patractlabs/redspot) :red_circle:, [MixBytes Tank](https://github.com/mixbytes/tank) :red_circle:, [sub-flood](https://github.com/NikVolf/sub-flood) :red_circle:, [Substrate debug-kit](https://github.com/paritytech/substrate-debug-kit) :red_circle:, [Dotscale - SCALE Codec Comparator](https://github.com/arijitAD/dotscale) :red_circle:, [Asset CLI tool](https://github.com/JesseAbram/asset_cli_tool) :green_circle:, [sub_crash](https://github.com/JesseAbram/unfinished_testing_tool) :red_circle:, [subwasm](https://github.com/chevdor/subwasm) :green_circle:, [subsee](https://github.com/ascjones/subsee) :red_circle:, [polkadot-lab](https://github.com/w3f/polkadot-lab) :red_circle:, [Zombienet](https://github.com/paritytech/zombienet) :green_circle:, [RPC-perf](https://github.com/dwellir-public/rpc-perf/) :green_circle: | Testnet | [Polkadot Launch](https://github.com/paritytech/polkadot-launch) :green_circle:, [polkadot-starship](https://github.com/koute/polkadot-starship) :red_circle:, [Fork off Substrate](https://github.com/maxsam4/fork-off-substrate) :red_circle:, [Parachain Launch](https://github.com/open-web3-stack/parachain-launch) :green_circle:| | Benchmarking | [Substrate Graph Benchmarks](https://github.com/shawntabrizi/substrate-graph-benchmarks) :red_circle:| From f3877ac6f2cca43d1e1f8864ebf6472cd35264bd Mon Sep 17 00:00:00 2001 From: Stefan <67900234+mutobui@users.noreply.github.com> Date: Tue, 2 Aug 2022 20:39:35 +0700 Subject: [PATCH 0037/1872] Update Gafi.md (#1098) --- applications/Gafi.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/applications/Gafi.md b/applications/Gafi.md index 4faea88d22a..46ae84afe36 100644 --- a/applications/Gafi.md +++ b/applications/Gafi.md @@ -3,6 +3,7 @@ - **Project Name:** Gafi Network - The Network of Game Finance - **Team Name:** Cryptoviet +- **Gafi Paper:** https://gafi.network/GafiPaper.pdf - **Wiki:** https://wiki.gafi.network/ - **Payment Address:** 0x7fD4b72d3Bf681C2e80D6076D7997B21DEf45130 (USDT) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 3 @@ -160,7 +161,7 @@ Stefan with 5 years of experience as Software Engineer working on the top crypto ## Development Status :open_book: -Gafi Node Repos: https://github.com/cryptoviet/gafi +Gafi Node Repos: https://github.com/grindytech/gafi [Heroes & Empires 2021 Roundup](https://medium.com/@stefan_muto/heroes-and-empires-2021-roundup-a6617941ef5a) From cc8518cc5f315b3d31f3ca0b07618fde64cb7922 Mon Sep 17 00:00:00 2001 From: Karolis Ramanauskas Date: Tue, 2 Aug 2022 16:42:48 +0300 Subject: [PATCH 0038/1872] Add sybil-resistant faucet grant proposal. (#1099) --- applications/Faucet.md | 118 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 applications/Faucet.md diff --git a/applications/Faucet.md b/applications/Faucet.md new file mode 100644 index 00000000000..75c67389aa6 --- /dev/null +++ b/applications/Faucet.md @@ -0,0 +1,118 @@ +# W3F Grant Proposal + +- **Project Name:** Generic sybil-resistant faucet +- **Team Name:** MB Karolio reikalai +- **Payment Address:** 0xc3e6eFA4D0847203dD4E19B7D114516Eb45840EC (DAI) +- **Level:** 1 + +## Project Overview :page_facing_up: + +### Overview + +Sybil-resistant faucet is a generic browser-based faucet solution that can be used on any existing parachain (substrate-based chain, either pallets or ink! smart contracts). + +### Project Details + +#### Mockup + +![mockup](https://user-images.githubusercontent.com/3159964/182354014-6cee3694-af8a-4585-8eaf-348365981716.png) + +#### Technology stack + +- Next.js +- TypeScript +- Tailwind +- Redis +- @polkadot{.js} + +#### Architecture + +![architecture](https://user-images.githubusercontent.com/3159964/182353857-8784b612-154f-458f-b7d8-b81e0fb51f90.png) + +#### Configuration + +To make the faucet generic, it will store its configuration settings in `.env` file which will include the following settings: + +- `DRIP_CAP` - how many tokens to send per drip +- `DRIP_DELAY` - how often user's can request to drip tokens (in ms) +- `REDIS_ENDPOINT` - Redis instance endpoint +- `RPC_ENDPOINT` - Substrate node endpoint +- `PORT` - Substrate node port +- `FAUCET_ACCOUNT_MNEMONIC` - mnemonic of faucet's wallet +- `NEXTAUTH_ENDPOINT` - authentication endpoint +- `NEXTAUTH_JWT_SECRET` - used to encrypt JWT tokens +- `TWITTER_CLIENT_ID` - Twitter client ID +- `TWITTER_CLIENT_SECRET` - Twitter client secret +- `GITHUB_CLIENT_ID` - GitHub client ID +- `GITHUB_CLIENT_SECRET` - GitHub client secret + +### Ecosystem Fit + +Many dApps are facing an issue where it’s difficult to onboard new users. Thus, the goal is to simplify the process by making it easier for parachain and dApp developers to spin up their own faucets, and give users free tokens without people exploiting the system. In order to make the system sybil-resistant, centralised solutions like Twitter or GitHub login will be integrated, that will uniquely identify users, and enable dripping tokens to the account only once per given time period. + +Some similar projects include: +- https://github.com/paritytech/substrate-matrix-faucet +- https://github.com/OAXFoundation/substrate-faucet + +## Team :busts_in_silhouette: + +### Team members + +- Karolis Ramanauskas: full-stack developer & product designer + +### Contact + +- **Contact Name:** Karolis Ramanauskas +- **Contact Email:** hi@krl.is +- **Website:** https://krl.is/ + +### Legal Structure + +- **Registered Address:** Liepų g. 83, Klaipėda 92195 +- **Registered Legal Entity:** MB Karolio reikalai + +### Team's experience + +Karolis is product-minded software engineer who enjoys the challenge of creating pleasant, easy-to-use user experiences. He has worked on large-scale projects for his employers, as well as side-projects of his own. Some of the most notable experiences include building observability tools used by thousands of engineers at Uber that alert and help resolve new incidents, and enable to build more reliable services. He has also worked on a design system for Volvo Cars, and then became responsible for building tools to replace existing translation processes at the company to make them more effective. + +### Team Code Repos + +- * https://github.com/karooolis + +### Team LinkedIn Profiles + +- * https://www.linkedin.com/in/karolisram/ + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Total Estimated Duration:** 1 month +- **Full-Time Equivalent (FTE):** 1 FTE +- **Total Costs:** 4,000 USD + +### Milestone 1 — Implement the Faucet + +- **Estimated duration:** 1 month +- **FTE:** 1 +- **Costs:** 4,000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | I will provide both **inline documentation** of the code and a **tutorial** that explains how a developer can spin up his/her own faucet. | +| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, I will describe how to run these tests. | +| 0d. | Article | I will publish an **article** that explains how the faucet works, why it was created, and how it can be used by developers. +| 1. | User Interface | I will create faucet UI with Tailwind. It will include address form, login buttons, as well as error and success states. | +| 2. | Authentication | I will create a module for 0Auth user authentication that will uniquely identify users and make faucet sybil-resistant. | +| 3. | User status | I will create a module for checking whether user is eligible to receive free tokens. | +| 4. | Faucet drip | I wil create a module that will send user free tokens if eligible. | + +## Future Plans + +- Keep adding additional 0Auth options or other features if needed. +- Keep maintaining the project in case of potential issues. + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** Developer DAO From e9fd0339b1786c5ad6f285d1df9e8566d972f0d4 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 2 Aug 2022 15:46:08 +0200 Subject: [PATCH 0039/1872] Update accepted_grant_applications.md --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index c754ab5455b..ef52e7eea1b 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -523,3 +523,4 @@ | [Equilibrium](https://equilibrium.co/) | Polkadot Light Client in C++ | [GitHub](https://github.com/eqlabs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Open rollup](https://github.com/openrollup-zk) | Open rollup - MVP - Phase 1 | [GitHub](https://github.com/openrollup-zk) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Veridise](https://veridise.com/) | Vanguard | [GitHub](https://github.com/Veridise/Vanguard) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Karolis Ramanauskas](https://krl.is/) | Generic Sybil-Resistant Faucet | [GitHub](https://github.com/karooolis) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 61e57c6d51b3cc8c15e0395b6a0c118ff30d2384 Mon Sep 17 00:00:00 2001 From: failfmi Date: Wed, 3 Aug 2022 15:54:14 +0300 Subject: [PATCH 0040/1872] application: research feasibility of a go runtime (#1100) Signed-off-by: failfmi --- .../research-feasibility-go-runtime.md | 163 ++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 applications/research-feasibility-go-runtime.md diff --git a/applications/research-feasibility-go-runtime.md b/applications/research-feasibility-go-runtime.md new file mode 100644 index 00000000000..deae00122f9 --- /dev/null +++ b/applications/research-feasibility-go-runtime.md @@ -0,0 +1,163 @@ +# W3F Grant Proposal + +- **Project Name:** Research feasibility of a Go Runtime +- **Team Name:** [LimeChain](https://github.com/LimeChain) +- **Payment Address:** eth:0x1F7683228Ee9Bc65335374eA5c92B81C74131404 (USDC/USDT/DAI) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 3 + +## Project Overview :page_facing_up: + +### Overview + +The Internet is designed to be, has been, currently is, and will always be a network of networks. What this means for us, users, is that no-matter who we are, +what we want to do, and what clients we use - we can connect with others through the Internet. Furthermore, different communities, geographically and culturally divided, +can still benefit from each other because of the inclusive, “non-maximalist” attitude of the Internet. Unlike Bitcoin, the Polkadot Network tries explicitly to support these values. + +> “Polkadot is in many respects the biggest bet in this ecosystem against chain maximalism.” - Dr. Gavin Wood + +A lot of effort has been put on the protocol level to make Polkadot interoperable and capable of hosting a variety of parachains, third-party chains (Bitcoin, Ethereum, etc.), +and even computer networks in general, as long as they abide by the specification. However, as of now, no massive strides have been made towards realizing this variation on the +implementation level (except for Host implementations). If Polkadot strives to be truly the chain of chains, it needs to properly address both levels. + +The Polkadot architecture is divided into two parts: Host and Runtime. While there are several choices presented to users regarding the Host implementation +([gossamer](https://github.com/ChainSafe/gossamer), [kagome](https://github.com/soramitsu/kagome), [polkadot](https://github.com/paritytech/polkadot), [smoldot](https://github.com/paritytech/smoldot)), +there really are only two options for the runtime: either start from scratch, which is not ideal in most cases, or utilize the power of Substrate. For many people, especially for those whose expertise +is not in computer networking/blockchain technology, this really leaves them with a single option - Substrate. +**Although great, Substrate is not ideal for newcomers. Rust is well-known to have a steep learning curve and, by inference, so does Substrate, even though great effort has been put to simplify the framework.** + +In summary, the lack of diversity and ease of use of Polkadot Runtimes is a barrier that stops Polkadot from living up to its full promise and the Polkadot community should as a whole address this problem. +The history of software engineering has taught us many times that by bringing diversity and ease of use to the field, an explosion of innovation follows. + +> “Polkadot should also be the biggest bet against implementation maximalism.” - LimeChain Team + +### Project Details + +#### Research + +**The ultimate/end goal is implementing a Polkadot Go RelayChain Runtime**, however, it will be technically challenging to go for the direct implementation without abstracting components into different modules. +Given that a modularised approach is taken, the practical goal would be to formalise those modules into a framework that can be reused by other developers. +**In order to be able to develop a framework for Go Runtimes, we need to clear out Go-related technological challenges first. This proposal is about R&D aimed at those challenges.** + +Go is a modern, powerful, and fast programming language focused on simplicity (abiding by the KISS principle: "Keep It Simple, Stupid") and gaining a lot of popularity among software developers nowadays. +It is future-proof and stable, being backed by Google and used in many of their software. It has great support for network programming. **All of these reasons make Go an ideal candidate for implementing +an alternative framework for blockchain development targeted at newcomers.** Furthermore, the waters have already been tested! [Gossamer](https://github.com/ChainSafe/gossamer) is a recent effort towards implementing a comprehensive +Polkadot Host in Go, which should make implementing the Runtime easier. It is arguable that other frameworks for building Blockchain networks (e.g Cosmos) have gained significant adoption due to the lower barrier for entry (compared to Rust). + +### Ecosystem Fit + +The lack of diversity and ease of use of Polkadot Runtimes is a barrier that stops Polkadot from living up to its full promise and the Polkadot community should as a whole address this problem. +The history of software engineering has taught us many times that by bringing diversity and ease of use to the field, an explosion of innovation follows. + +## Team :busts_in_silhouette: + +### Team members + +- Daniel Ivanov +- Radosvet Mihtarski +- failfmi + +### Contact + +- **Contact Name:** Christian Veselinov, Zhivko Todorov +- **Contact Email:** chris@limechain.tech, zhivko@limechain.tech +- **Website:** https://limechain.tech + +### Legal Structure + +- **Registered Address:** Bulgaria, Dragan Tsankov 23A, 1113, Sofia, Bulgaria +- **Registered Legal Entity:** LimeLabs Ltd. + +### Team's experience + +At LimeChain, we feel confident in and have a lot of development hours invested building [Runtime from scratch](https://github.com/LimeChain/as-substrate-runtime) and evolving it into fully capable [frameworks for building Substrate Runtimes](https://github.com/LimeChain/subsembly). +We have extensive experience in building developer tooling, specifically within Rust/WebAssembly ([matchstick](https://github.com/limeChain/matchstick/)). Other infrastructure projects that we are contributors to is Hedera Hashgraph. +LimeChain’s team has been integrating an EVM within the Hedera networks as-well as being sole technical partner of [Cudos network](https://github.com/CudoVentures) (based on Cosmos) which recently had their genesis mainnet release. +All of this emphasizes that the knowledge/expertise of the company spans across the major blockchain stacks - Substrate/EVM and Cosmos. + +- https://github.com/LimeChain/subsembly +- https://github.com/LimeChain/subsembly-core +- https://github.com/LimeChain/as-scale-codec +- https://github.com/LimeChain/as-substrate-runtime + +### Team Code Repos + +- https://github.com/LimeChain + +Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine. + +- https://github.com/daniel-k-ivanov +- https://github.com/radkomih +- https://github.com/failfmi + +### Team LinkedIn Profiles (if available) +- https://www.linkedin.com/in/daniel-k-ivanov/ +- https://www.linkedin.com/in/radosvet-m + + +## Development Status :open_book: + +So far, in our research process, we have come across technical challenges that Go faces regarding the Polkadot specification. +There are a couple of issues related to how Go translates to the expected Wasm from the Polkadot specification: +- The toolchain for WebAssembly MVP is limited. + - The Wasm runtime described in the Polkadot specification targets WebAssembly MVP, with very domain-specific API. The official Go compiler does not support Wasm for non-browser environments + (read more [1](https://github.com/golang/go/issues/31105), [2](https://substrate.stackexchange.com/questions/60/what-is-gossamer-and-how-does-it-compare-to-substrate/89#89)) and the only options is using [TinyGo](https://github.com/tinygo-org/tinygo). + The runtime is expected to expose some linker specific globals (`__heap_base`, `__data_end`) - [read more](https://github.com/tinygo-org/tinygo/issues/2045), but TinyGo does not support that out of the box. +- Managing memory externally is not supported and not a good fit for Go/TinyGo + - By specification, the Wasm runtime does not include a memory allocator, it is expected to import memory from the host and rely on host imported functions for all heap allocations. TinyGo has GC and manages its memory by itself. So it can’t work directly on systems where the host wants to manage the memory. + Theoretically, it might be possible to add support for it in TinyGo, but it will require a lot of effort in the long term, the support would be limited and performance might be unsatisfactory. To support an automatic memory management, the GC proposal would be handy. + But the Wasm runtime supports only WebAssembly MVP currently, and the [GC proposal](https://github.com/WebAssembly/gc/blob/main/proposals/gc/Overview.md) is under development. +- The standard library support in TinyGo is limited + - The `reflect` package is [not fully supported](https://github.com/tinygo-org/tinygo/pull/2640) in TinyGo. The SCALE serialization logic relies on that package, and we also might need it to implement for the Metadata API. + +## Development Roadmap :nut_and_bolt: + +Described below are the steps we think are necessary to get a deep understanding of how the current technical challenges we have found so far can be overcome: +1. Go internals, runtime, memory allocation, garbage collection + 1. Get a deep understanding of how internals, runtime, memory allocation and garbage collection works in Go. +2. WebAssembly GC proposal + 1. Thoroughly research the GC proposal for WebAssembly, such as its design and progress so far. +3. Research [TinyGo](https://github.com/tinygo-org/tinygo) or alternative compiler toolchain in Go for the following addition of: + 1. How it works + 2. Features support + 3. Wasm support +4. Build a PoC + 1. Manual memory allocator, Go compiler Runtime implementation +5. Propose a specification, based on the previous steps + +### Overview + +- **Total Estimated Duration:** 8 working weeks +- **Full-Time Equivalent (FTE):** 2 +- **Total Costs:** $44,800 + +### Milestone 1 — Research feasibility of a Go Runtime + +- **Estimated duration:** 8 working weeks +- **FTE:** 2 +- **Costs:** $44,800 + +This milestone will + +| Number | Deliverable | Specification | +|-------:|---------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide Markdown documentation of the whole research, explaining the necessary steps needed to resolve the technical challenges for Polkadot Runtime implementation. | +| 0c. | Testing Guide | We will provide a testing guide of the PoC manual memory allocator via FFI | +| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test the PoC. | +| 1. | Research | We will start our research with Go internals, runtime, memory allocation and garbage collection. | +| 2. | Research | We will continue our research with the WebAssembly GC proposal - check progress so far. | +| 3. | Research | We will go through intensively TinyGo or an alternative compiler toolchain. | +| 4. | Research | We will try building a PoC, including a manual memory allocator, and a Go compiler Runtime implementation. | +| 5. | Documentation | We will provide Markdown documentation, based on the previous steps. | + +## Future Plans + +Having this research will give us clear understanding of how the technical challenges that Go has for Polkadot Runtime implementation can be resolved. +By resolving them, Go will become an alternative language to Rust for Polkadot Runtime implementation. + + +## Additional Information :heavy_plus_sign: + +LimeChain has been a long-time contributor to the Substrate ecosystem mainly focused on developer tooling. Due to our involvement in the space, we are working with various clients, developing smart contracts and working on parachains. + + From 2606f01f2fed14bb358560c8ececc9ad05e40bb8 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Wed, 3 Aug 2022 14:55:59 +0200 Subject: [PATCH 0041/1872] Update accepted_grant_applications.md Research feasibility for a Go Runtime --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index ef52e7eea1b..f53c554f599 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -524,3 +524,4 @@ | [Open rollup](https://github.com/openrollup-zk) | Open rollup - MVP - Phase 1 | [GitHub](https://github.com/openrollup-zk) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Veridise](https://veridise.com/) | Vanguard | [GitHub](https://github.com/Veridise/Vanguard) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Karolis Ramanauskas](https://krl.is/) | Generic Sybil-Resistant Faucet | [GitHub](https://github.com/karooolis) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [LimeChain](https://limechain.tech/) | Research feasibility for a Go Runtime | [GitHub](https://github.com/LimeChain) |
  • [ ]
|
  • [x]
|
  • [x]
| From 0b97ce6d13f6a8f36a3798c8184bb91179ab9129 Mon Sep 17 00:00:00 2001 From: Shengda Ding Date: Wed, 3 Aug 2022 12:31:05 -0700 Subject: [PATCH 0042/1872] Update tdot.md (#1079) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update tdot.md * Update applications/tdot.md Co-authored-by: Sebastian Müller Co-authored-by: Sebastian Müller --- applications/tdot.md | 71 +++++++++++++++++++++++--------------------- 1 file changed, 37 insertions(+), 34 deletions(-) diff --git a/applications/tdot.md b/applications/tdot.md index 7907cc2e1b7..cd59e2e301e 100644 --- a/applications/tdot.md +++ b/applications/tdot.md @@ -99,70 +99,73 @@ NUTS Finance is a blockchain development DAO. Our team is composed of experience - **Total Estimated Duration:** 4 weeks - **Full-Time Equivalent (FTE):** 2 -- **Total Costs:** 16,000 DAI +- **Total Costs:** 14,000 DAI -### Milestone 1 — Cross-Chain Mint +### Milestone 1 — Stable Asset XCM Pallet - **Estimated duration:** 1 week - **FTE:** 2 - **Costs:** 4,000 DAI +Stable Asset XCM pallet is a new module which will be deployed in the host chain only. It manages balances and limits for each individual stable asset pools and acts as the portal to mint and redeem tDOT. + +Stable asset LPs will be divided into two layers: +- Local LP, which is the LP of individual stable asset pools and managed by stable asset pallet; +- Aggregate LP, which is the LP generated by local LPs and managed by stable asset XCM pallet. + +![image](https://user-images.githubusercontent.com/3374016/179861856-ffeaf4f8-2501-4cd2-b0b1-f0ea6a998c52.png) + + | Number | Deliverable | Specification | | -----: | ----------- | ------------- | | 0a. | License | Apache 2.0 | -| 0b. | Documentation | Provide documentation on the architecture of tDOT and flow diagrams of cross-chain minting process. | -| 0c. | Testing | Provide comprehensive tests that covers both stable asset local minter and stable asset remote minter. Test for remote minter must cover the case the minting fails due to minter access or minter cap. The underlying asset used to mint remotely must return to the user. | +| 0b. | Documentation | Provide documentation on the architecture of tDOT. | +| 0c. | Testing | Provide comprehensive tests that covers stable asset pool management functionalities. | | 0d. | Docker | Provide a Docker image with Substrate chain that demonstrate this project. | -| 1. | Substrate module: Stable Asset | The stable asset module will be enhanced with minter access control and minter cap functionalities. | -| 2. | Substrate module: Stable Asset Local Minter | The stable asset local minter module is deployed in the stable asset hosting parachain. It uses local method calls to mint stable asset. | -| 3. | Substrate module: Stable Asset Remote Minter | The stable asset local minter module is deployed on parachains other than the stable asset hosting parachain. It relies on XCM v3 to mint stable asset remotely. Slippage control for remote minter is handled locally. Underlying assets used to mint stable asset remotely are locked until receiving XCM acknowledgement that stable asset is minted successfully. | +| 1. | Substrate module: Stable Asset XCM | The stable asset XCM module tracks and manages individual stable asset pools across multiple parachains. It tracks balances of each stable asset pools in each parachain and sets mint limits for each pool. | -### Milestone 2 — Cross-Chain Redeem +### Milestone 2 — tDOT Minting -- **Estimated duration:** 1 weeks +- **Estimated duration:** 2 weeks - **FTE:** 2 -- **Costs:** 4,000 DAI +- **Costs:** 5,000 DAI -| Number | Deliverable | Specification | -| -----: | ----------- | ------------- | -| 0a. | License | Apache 2.0 | -| 0b. | Documentation | Provide documentation on the architecture of tDOT and flow diagrams of cross-chain redeem process. | -| 0c. | Testing | Provide comprehensive tests that covers proportion, single and multi asset redeem. | -| 0d. | Docker | Provide a Docker image with Substrate chain that demonstrate this project. | -| 1. | Substrate module: Stable Asset Local Minter | Proportion and single asset redeem are invoked in stable asset local minter which is deployed on the hosting parachain. If slippage fails on the receiving parachain, the locked stable asset is returned to the user. | -| 2. | Substrate module: Stable Asset Remote Minter | Multi asset redeem is invoked in stable asset remote minter which is not deployed on the hosting parachain. If slippage fails on the hosting parachain, the locked multi assets are returned to the user. | +This milestone implements minting tDOT both locally on the host chain and remotely on the guest chains. In either case, minting is triggered in the stable asset pallet. +![image](https://user-images.githubusercontent.com/3374016/179863159-9f130f5b-3ff6-4f06-a85e-3d243c6d5c39.png) -### Milestone 3 — Cross-Chain Swap +![image](https://user-images.githubusercontent.com/3374016/179863205-7258e9a9-26f4-4a46-9b76-e0773fa8fbed.png) -- **Estimated duration:** 1 week -- **FTE:** 2 -- **Costs:** 4,000 DAI | Number | Deliverable | Specification | | -----: | ----------- | ------------- | | 0a. | License | Apache 2.0 | -| 0b. | Documentation | Provide documentation on the architecture of tDOT and flow diagrams of cross-chain swap process. | -| 0c. | Testing | Provide comprehensive tests that covers cross-chain swap process. The test must cover the case when there are insufficient liquidity on target parachain, or slippage fails. | +| 0b. | Documentation | Provide documentation on the architecture of tDOT and flow diagrams of tDOT minting process. | +| 0c. | Testing | Provide comprehensive tests that covers minting tDOT locally in host chain and remotely in guest chain. | | 0d. | Docker | Provide a Docker image with Substrate chain that demonstrate this project. | -| 0e. | Article | We will publish an article that explains the architecture of tDOT and how does cross-chain mint/redeem/swap works. The article will discuss potential attack vectors of tDOT and how does tDOT addresses it. | -| 1. | Substrate module: Stable Asset Remote Minter | Swap can be seen as a combination of cross-chain mint and single asset redeem. Stable asset remote minter will consolidate the process and handles slippage. | +| 1. | Substrate module: Stable Asset Pallet | Users can mint tDOT on stable asset pallet with underlying asset or with local LP. If minting fails in host chain, the whole extrinsic is reverted. If minting fails in guest chain, user will get local LP. | +| 2. | Substrate module: Stable Asset XCM Pallet | Handles the actual aggregate LP minting. It accepts XCM mint request from guest chain with local LP, and sends back XCM message if minting fails due to mint limit exceeds. | + -### Milestone 4 — Cross-Chain Fees and Yield Hanlding +### Milestone 3 — tDOT Redeeming -- **Estimated Duration:** 1 week +- **Estimated duration:** 2 weeks - **FTE:** 2 -- **Costs:** 4,000 DAI +- **Costs:** 5,000 DAI + +This milestone implements redeeming tDOT on host chain. + +![image](https://user-images.githubusercontent.com/3374016/179863963-5bee9e99-f4a1-42c8-a274-50f2c81420d3.png) + | Number | Deliverable | Specification | | -----: | ----------- | ------------- | | 0a. | License | Apache 2.0 | -| 0b. | Documentation | Provide documentation on the how the fees and yields are handled across multiple parachains. | -| 0c. | Testing | Comprehensive tests that covers the Stable Asset Substrate modules on fees and yields handling. | +| 0b. | Documentation | Provide documentation on the architecture of tDOT and flow diagrams of tDOT redeeming process. | +| 0c. | Testing | Provide comprehensive tests that covers redeeming tDOT to host chain or to guest chains. | | 0d. | Docker | Provide a Docker image with Substrate chain that demonstrate this project. | -| 0e. | Article | We will publish an article that explains why and how tDOT maintains its peg to DOT, despite there are multiple forms of underlying DOT assets. | -| 1. | Substrate module: Stable Asset | The Stable Asset module will bookkeep all fees and yields locally until an explicit collect method is invoked. | -| 2. | Substrate module: Stable Asset Minters | The Stable Asset Local/Remote minters module will mint fees and yield explicitly. | +| 0e. | Article | We will publish an article that explains the architecture of tDOT and how minting and redeeming tDOT works. The article will discuss potential attack vectors of tDOT and how does tDOT addresses it. | +| 1. | Substrate module: Stable Asset XCM Pallet | Handles the aggregate LP redeeming request, eitehr in proportion or to a single asset. If redeeming to a local stable asset pool fails, the whole extrinsic is reverted. If redeeming to a remote stable asset pool fails, users will get local asset on the guest chain instead. | ## Future Plans From 7c3d77b770fe2cd4f83d05e26bcf37c19c07cba6 Mon Sep 17 00:00:00 2001 From: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> Date: Wed, 3 Aug 2022 21:42:28 +0200 Subject: [PATCH 0043/1872] Simplify pull request template (#1103) --- .github/pull_request_template.md | 27 ++++++++------------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index bf6a53f40ba..9508e9b3327 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,32 +1,21 @@ -### Project Abstract +#### Project Abstract -> Please provide a brief description of your project here summarising key points (1-2 paragraphs). +> Please replace these instructions with a brief description of your project summarising key points (1-2 paragraphs). > > If your application is a follow-up to a previous grant, please mention which one in the first line of the abstract and include a link to previous pull requests if applicable. -### For which grant [level](https://github.com/w3f/Grants-Program#level_slider-levels) are you applying? +#### Grant [level](https://github.com/w3f/Grants-Program#level_slider-levels) - [ ] **Level 1**: Up to $10,000, 2 approvals - [ ] **Level 2**: Up to $30,000, 3 approvals - [ ] **Level 3**: Unlimited, 5 approvals (for >$100k: Web3 Foundation Council approval) -### Application Checklist +#### Application Checklist -- [x] The [application template](https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md) has been copied, renamed ( `project_name.md`) and updated. -- [ ] I have read and understood the [FAQs](https://github.com/w3f/Grants-Program/blob/master/docs/faq.md), [application guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/grant_guidelines_per_category.md) and [announcement guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/announcement-guidelines.md). +- [x] The [application template](https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md) has been copied and aptly renamed (`project_name.md`). +- [ ] I have read the [application guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/grant_guidelines_per_category.md). - [ ] A BTC, Ethereum (USDT/USDC/DAI) or Polkadot/Kusama (aUSD) address for the payment of the milestones is provided inside the application. -- [ ] I have read and acknowledge the [terms and conditions](https://github.com/w3f/Grants-Program/blob/master/docs/T&Cs.md). - [ ] The software delivered for this grant will be released under an open-source license specified in the application. - [ ] The initial PR contains only one commit (squash and force-push if needed). -- [ ] The grant will only be announced once the first milestone [has been accepted](https://github.com/w3f/Grant-Milestone-Delivery#process). -- [ ] I prefer the discussion of this application to be in a private Element/Matrix channel. My username is: ``@_______`` - -### How Did You Hear About our grants program? - -- [ ] Social Media -- [ ] Hackathon -- [ ] Personal Recommendation -- [ ] Substrate Builders Program -- [ ] Investor/VC -- [ ] Online Search -- [ ] Other: _______ +- [ ] The grant will only be announced once the first milestone [has been accepted](https://github.com/w3f/Grant-Milestone-Delivery#process) (see the [announcement guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/announcement-guidelines.md)). +- [ ] I prefer the discussion of this application to take place in a private Element/Matrix channel. My username is: `@_______:matrix.org` (change the homeserver if you use a different one) From fb0961e720f08a9d8f3dd3994b4475055260ded0 Mon Sep 17 00:00:00 2001 From: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> Date: Wed, 3 Aug 2022 21:44:14 +0200 Subject: [PATCH 0044/1872] Update accepted_grant_applications.md (#1104) --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index f53c554f599..2cae1e5e94c 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -301,7 +301,7 @@ | [SEOR](https://www.seor.io) | Multi-chain smart contract development platform | [GitHub](https://github.com/SealSC) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Polkastarter](https://polkastarter.com/) | Crowdloan UI | [GitHub](https://github.com/polkastarter) |
  • [x]
|
  • [ ]
|
  • [ ]
| | [Equilibrium.io](https://equilibrium.io/en) | Curve AMM Pallet | [GitHub](https://github.com/equilibrium-eosdt) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Zondax](https://zondax.ch/) | Ledger maintenance + recovery extensions + support | [GitHub](https://github.com/Zondax) |
  • [ ]
|
  • [x]
|
  • [ ]
| +| [Zondax](https://zondax.ch/) | Ledger maintenance + recovery extensions + support | [GitHub](https://github.com/Zondax) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Nuclei Studio](https://nuclei.studio/) | Voting Pallets | [GitHub](https://github.com/NucleiStudio) |
  • [ ]
|
  • [x]
|
  • [x]
| | [RAMP DEFI](https://app.rampdefi.com/#/) | Polkakeeper - A Community-Led Value Assurance Protocol | [GitHub](https://github.com/RAMP-DEFI) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Stone](https://stonedefi.io) | Index project which aims to track the portfolio of multiple digital assets | [GitHub](https://github.com/stonedefi/) |
  • [ ]
|
  • [x]
|
  • [ ]
| From 6ead5786b13e258f7d480a296daeb4ae3b892d58 Mon Sep 17 00:00:00 2001 From: ashley grevelink Date: Wed, 3 Aug 2022 13:44:47 -0600 Subject: [PATCH 0045/1872] DKSAP M1/grant completed (#1101) --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 2cae1e5e94c..c95009a34c8 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -497,7 +497,7 @@ | [Ideal Labs](https://www.idealabs.network/) | Iris: Phase 2 | [GitHub](https://github.com/ideal-lab5) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [NeoPower](https://www.neopower.digital/) | Roloi: Stream money from one wallet to another | [GitHub](https://github.com/RoloiMoney) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Tribal Protocol Labs](https://www.tribal.fyi/) | Tribal Protocol Smart Contract Development | [GitHub](https://github.com/tribal-protocol) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Yahuang Wu](https://github.com/wuyahuang) | Dual-Key Stealth Address Protocol | [GitHub](https://github.com/wuyahuang) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Yahuang Wu](https://github.com/wuyahuang) | Dual-Key Stealth Address Protocol | [GitHub](https://github.com/wuyahuang) |
  • [ ]
|
  • [x]
|
  • [x]
| | [UNIVERSALDOT FOUNDATION](https://universaldot.foundation) | Universaldot.me Phase 2 | [GitHub](https://github.com/UniversalDot) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Societal Labs Ltd.](https://www.sctl.xyz/) | Societal - MVP - Phase 1 | [GitHub](https://github.com/sctllabs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Faceless Protocol](https://github.com/HeisenbergLin22) | Faceless Protocol | [GitHub](https://github.com/HeisenbergLin22) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From a50445be5420d495b02af3943c5de1c7469568f7 Mon Sep 17 00:00:00 2001 From: ashley grevelink Date: Wed, 3 Aug 2022 13:45:09 -0600 Subject: [PATCH 0046/1872] Add DKSAP to Tools (other) (#1102) --- docs/polkadot_stack.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/polkadot_stack.md b/docs/polkadot_stack.md index d3f272a26e5..7bd4be0702f 100644 --- a/docs/polkadot_stack.md +++ b/docs/polkadot_stack.md @@ -110,7 +110,7 @@ In the below sections you can find a list of different layers of the Polkadot St | No-code Platforms | [EzCode's Polkadot.js plugin on Bubble.io](https://github.com/NovaBloq/Bubble-Plugin-Polkadot.js) :red_circle:, [Blackprint Visual Programming Polkadot.js module](https://github.com/Blackprint/nodes-polkadot.js) :green_circle:| | | XCM | [XCM-tools](https://github.com/PureStake/xcm-tools) :green_circle:| | | Wallet Connection | [Tesseract](https://github.com/tesseract-one/Tesseract.rs) :yellow_circle:, [WalletConnect](https://github.com/WalletConnect-Labs/walletconnect-v2-monorepo) :grey_question:| | -| Other | [open-web3 JS library](https://github.com/open-web3-stack/open-web3.js) :green_circle:, [VM-Bridge](https://github.com/CycanTech/GVM-Bridge) :red_circle:, [srtool](https://github.com/paritytech/srtool) :green_circle:, [Substrate Tip Bot](https://github.com/paritytech/substrate-tip-bot) :green_circle:, [ORI (Onchain Risk Intelligence)](https://github.com/syntifi/ori) :red_circle:, [PolkaTools](https://github.com/albertov19/PolkaTools) :green_circle:, [polkadot-scripts](https://github.com/paritytech/polkadot-scripts) :yellow_circle:, [Static analyzer for Substrate FRAME's pallets](https://github.com/simon-perriard/saft) :green_circle:, [Sube](https://github.com/virto-network/sube) :red_circle:, [data-store-sidecar](https://github.com/CESSProject/data-store-sidecar) :green_circle: +| Other | [open-web3 JS library](https://github.com/open-web3-stack/open-web3.js) :green_circle:, [VM-Bridge](https://github.com/CycanTech/GVM-Bridge) :red_circle:, [srtool](https://github.com/paritytech/srtool) :green_circle:, [Substrate Tip Bot](https://github.com/paritytech/substrate-tip-bot) :green_circle:, [ORI (Onchain Risk Intelligence)](https://github.com/syntifi/ori) :red_circle:, [PolkaTools](https://github.com/albertov19/PolkaTools) :green_circle:, [polkadot-scripts](https://github.com/paritytech/polkadot-scripts) :yellow_circle:, [Static analyzer for Substrate FRAME's pallets](https://github.com/simon-perriard/saft) :green_circle:, [Sube](https://github.com/virto-network/sube) :red_circle:, [data-store-sidecar](https://github.com/CESSProject/data-store-sidecar) :green_circle:, [Dual-Key Stealth Address Protocol](https://github.com/GreenLemonProtocol/dksap-polkadot/) ### :memo: ink Smart Contracts From c28eecece6ad1228ac2c9cc9e9378cade880b6d9 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Thu, 4 Aug 2022 08:40:38 +0200 Subject: [PATCH 0047/1872] Update polkadot_stack.md Enkrypt --- docs/polkadot_stack.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/polkadot_stack.md b/docs/polkadot_stack.md index 7bd4be0702f..1f1175a3670 100644 --- a/docs/polkadot_stack.md +++ b/docs/polkadot_stack.md @@ -71,7 +71,7 @@ In the below sections you can find a list of different layers of the Polkadot St | Components | Existing projects | Potentially interesting projects |-|-|- | Desktop/Web Wallets | [Talisman Web Application](https://github.com/TalismanSociety/talisman-web) :green_circle:, [AirGap](https://github.com/airgap-it/airgap-wallet) :green_circle:, [Sakura](https://github.com/w3finance/sakura) :red_circle:| User-friendly Wallet based on the [Recovery Pallet](https://github.com/paritytech/substrate/tree/master/frame/recovery), Web wallets focused on user-onboarding (e.g. using [localStorage](https://github.com/near/near-wallet) ) -| Browser Extensions | [Polkadot{.js}](https://github.com/polkadot-js/extension) :green_circle:, [Polkadot-Js-Plus-Extension](https://github.com/Nick-1979/polkadot-Js-Plus-extension) :green_circle:, [SubWallet-Extension](https://github.com/Koniverse/SubWallet-Extension) :green_circle:, [Doter](https://github.com/ChainBridgeNetworkTeam/Doter) :red_circle:, [Enzyme](https://github.com/blockxlabs/enzyme/) :red_circle:, [Speckle OS](https://github.com/GetSpeckle/speckle-browser-extension) :red_circle:| Sign-in with your polkadot, kusama, etc. account. +| Browser Extensions | [Enkrypt](https://github.com/enkryptcom/enKrypt), [Polkadot{.js}](https://github.com/polkadot-js/extension) :green_circle:, [Polkadot-Js-Plus-Extension](https://github.com/Nick-1979/polkadot-Js-Plus-extension) :green_circle:, [SubWallet-Extension](https://github.com/Koniverse/SubWallet-Extension) :green_circle:, [Doter](https://github.com/ChainBridgeNetworkTeam/Doter) :red_circle:, [Enzyme](https://github.com/blockxlabs/enzyme/) :red_circle:, [Speckle OS](https://github.com/GetSpeckle/speckle-browser-extension) :red_circle:| Sign-in with your polkadot, kusama, etc. account. | Mobile Wallets| [Lunie](https://github.com/luniehq/lunie) :red_circle:, [Polkawallet](https://github.com/polkawallet-io/polkawallet-flutter) :red_circle:, [Parity Signer](https://github.com/paritytech/parity-signer) :green_circle:, [imToken](https://github.com/consenlabs/token-core) :red_circle:, [Fearless Wallet Android](https://github.com/soramitsu/fearless-Android) :green_circle:, [Fearless Wallet iOS](https://github.com/soramitsu/fearless-iOS) :green_circle:, [Stylo](https://github.com/stylo-app/stylo) :green_circle:, [Nova Wallet](https://github.com/nova-wallet/nova-utils) :green_circle:, [Fractapp](https://github.com/fractapp/fractapp/) :red_circle: | Burner Wallets/Faucet| [KodaDot](https://github.com/vue-polkadot/apps) :red_circle:, [Astar Faucet Bot](https://github.com/AstarNetwork/astar-faucet-bot) :yellow_circle:| Faucet (a sybil-resistant way to receive free tokens) | CLI Wallet | [Subwallet](https://github.com/yxf/subwallet) :red_circle:, [Proxy-hot-wallet](https://github.com/canontech/proxy-hot-wallet) :red_circle: From 84570aaeb8d2cba778e784065802b07a7be3cf69 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Thu, 4 Aug 2022 08:56:59 +0200 Subject: [PATCH 0048/1872] Update polkadot_stack.md Update spacewalk link --- docs/polkadot_stack.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/polkadot_stack.md b/docs/polkadot_stack.md index 1f1175a3670..d9b2a67fa53 100644 --- a/docs/polkadot_stack.md +++ b/docs/polkadot_stack.md @@ -129,7 +129,7 @@ In the below sections you can find a list of different layers of the Polkadot St | Components | Existing projects | Potentially interesting projects |-|-|- | Scalable Transactions | [Perun channels](https://github.com/perun-network/perun-polkadot-pallet) :yellow_circle:, [CLI demo of Perun](https://github.com/perun-network/perun-polkadot-demo) :red_circle:, [Astar](https://github.com/AstarNetwork/Astar) :green_circle:, [Celer](https://github.com/celer-network/cChannel-substrate) :red_circle:, [Gunclear](https://github.com/GunClear/Gunero) :red_circle:| roll-ups, DAG-based consensus mechanisms, side chains | -| Bridges | [interBTC](https://github.com/interlay/interbtc) :green_circle:, [ChainBridge](https://github.com/centrifuge/ChainBridge/) :green_circle:, [EOS by Bifrost](https://github.com/bifrost-finance/bifrost-eos-relay) :red_circle:, [POA <> Substrate](https://github.com/paritytech/parity-bridge) :red_circle:, [Substrate <> Ethereum DAI Bridge](https://github.com/akropolisio/POC-polkadai-bridge) :red_circle:, [Substrate <> Substrate Bridge](https://github.com/paritytech/substrate-bridge-relay) :red_circle:, [BTC by ChainX](https://github.com/chainx-org/ChainX) :yellow_circle:, [Cosmos-Substrate bridge](https://github.com/ChorusOne/wormhole-bridge) :red_circle:, [Substrate IBC Pallet](https://github.com/octopus-network/substrate-ibc) :yellow_circle:, [Polkadot Ethereum Bridge](https://github.com/Snowfork/polkadot-ethereum) :green_circle:, [Darwinia](https://github.com/darwinia-network/darwinia) :green_circle:, [Stellar/DeFi Bridge by Pendulum](https://github.com/pendulum-chain/pendulum-prototype) :red_circle:, [Filecoindot](https://github.com/ChainSafe/filecoindot) :red_circle:| ZCash | +| Bridges | [interBTC](https://github.com/interlay/interbtc) :green_circle:, [ChainBridge](https://github.com/centrifuge/ChainBridge/) :green_circle:, [EOS by Bifrost](https://github.com/bifrost-finance/bifrost-eos-relay) :red_circle:, [POA <> Substrate](https://github.com/paritytech/parity-bridge) :red_circle:, [Substrate <> Ethereum DAI Bridge](https://github.com/akropolisio/POC-polkadai-bridge) :red_circle:, [Substrate <> Substrate Bridge](https://github.com/paritytech/substrate-bridge-relay) :red_circle:, [BTC by ChainX](https://github.com/chainx-org/ChainX) :yellow_circle:, [Cosmos-Substrate bridge](https://github.com/ChorusOne/wormhole-bridge) :red_circle:, [Substrate IBC Pallet](https://github.com/octopus-network/substrate-ibc) :yellow_circle:, [Polkadot Ethereum Bridge](https://github.com/Snowfork/polkadot-ethereum) :green_circle:, [Darwinia](https://github.com/darwinia-network/darwinia) :green_circle:, [Stellar/DeFi Bridge by Pendulum](https://github.com/pendulum-chain/spacewalk) :red_circle:, [Filecoindot](https://github.com/ChainSafe/filecoindot) :red_circle:| ZCash | | Privacy | [Webb Anon](https://github.com/webb-tools/anon) :red_circle:, [ZeroChain](https://github.com/LayerXcom/zero-chain) :red_circle:, [pLibra (Phala Network)](https://github.com/Phala-Network/phala-blockchain) :green_circle:, [Automata Network](https://github.com/automata-network/automata) :green_circle:, [zCloak Network](https://github.com/zCloak-Network/zcloak-node) :red_circle:, [Zero Network](https://github.com/zero-network/zero) :green_circle:| [Multi-Asset Shielded Pool (MASP)](https://github.com/anoma/masp) , [Zkay](https://arxiv.org/pdf/2009.01020.pdf), [Zexe](https://eprint.iacr.org/2018/962.pdf) | ZKP | [ZeroPool](https://github.com/zeropoolnetwork/zeropool-substrate-groth16-example) :red_circle:, [Megaclite](https://github.com/patractlabs/megaclite) :red_circle:, [zkMega](https://github.com/patractlabs/zkmega) :red_circle:, [PLONK for Substrate](https://github.com/AstarNetwork/plonk) :yellow_circle:, [Webb Anchor Protocol](https://github.com/webb-tools/protocol-substrate) :green_circle:| | TEE | [Integritee](https://github.com/integritee-network/worker) :green_circle:, [substraTEE](https://github.com/scs/substraTEE) :red_circle: From bda6629f2f207a43dddf3e25f3d148e59fb9a0ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torsten=20St=C3=BCber?= Date: Thu, 4 Aug 2022 09:03:06 +0200 Subject: [PATCH 0049/1872] Amend the proposal for Spacewalk bridge (#1087) --- applications/spacewalk-bridge.md | 38 +++++++++++++++++--------------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/applications/spacewalk-bridge.md b/applications/spacewalk-bridge.md index 376acdc64e1..efad84ea664 100644 --- a/applications/spacewalk-bridge.md +++ b/applications/spacewalk-bridge.md @@ -131,7 +131,7 @@ A detailed bridge concept is currently being researched (described in this grant - **Total Estimated Duration:** 3 Months - **Full-Time Equivalent (FTE):** 0.5 -- **Total Costs:** 9,000 USD +- **Total Costs:** 30,000 USD ### Milestone 1 – Multi asset support @@ -150,11 +150,26 @@ A detailed bridge concept is currently being researched (described in this grant | 2b. | Multi asset withdrawal | Add support for a withdrawal operations involving any possible Stellar asset. | | 2c. | Stellar asset allow list | 1) Allow vaults to register the set of allow listed Stellar assets with the Spacewalk pallet. 2) Allow users to query vaults and their supported assets from the Spacewalk pallet. | -### Milestone 2 – Multi asset collateral management +### Milestone 2 – Stellar oracle -- **Estimated duration:** 1 month -- **FTE:** 0.5 -- **Costs:** 3,000 USD +- **Estimated duration:** 2 months +- **FTE:** 1 +- **Costs:** 12,000 USD + +| Number | Deliverable | Specification | +| -----: | ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 0a. | License | Apache 2.0 / GPLv3 / MIT / Unlicense | +| 0b. | Documentation | We will provide both inline documentation of the code and a basic tutorial that explains how a user can employ the bridge pallet and the Spacewalk protocol to build a working bridge. | +| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Article | We will publish an article that explains the completed Spacewalk protocol and pallet that we built as part of the grant. | +| 1. | Protocol specification | The protocol will specify how the Stellar oracle behaves and what messages it forwards to the bridge pallet. | +| 2. | Stellar oracle consensus | The bridge pallet processes information received from the oracle, which comprises signed messages from Tier 1 Stellar nodes. This is used to reliably find consensus about finalized Stellar blocks and incoming deposits. | + +### Milestone 3 – Multi asset collateral management + +- **Estimated duration:** 2.5 months +- **FTE:** 1 +- **Costs:** 15,000 USD | Number | Deliverable | Specification | | -----: | ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -164,20 +179,7 @@ A detailed bridge concept is currently being researched (described in this grant | 1. | Protocol specification | The protocol will describe how vaults need to behave in case of vault liquidations involving multiple Stellar assets. | | 2. | Monitoring of collatoral | The bridge pallet monitors whether vaults need to be liquidated. This requires to take all locked tokens for every supported token of a specific vault into account. | -### Milestone 3 – Stellar oracle -- **Estimated duration:** 1 month -- **FTE:** 0.5 -- **Costs:** 3,000 USD - -| Number | Deliverable | Specification | -| -----: | ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| 0a. | License | Apache 2.0 / GPLv3 / MIT / Unlicense | -| 0b. | Documentation | We will provide both inline documentation of the code and a basic tutorial that explains how a user can employ the bridge pallet and the Spacewalk protocol to build a working bridge. | -| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | -| 0d. | Article | We will publish an article that explains the completed Spacewalk protocol and pallet that we built as part of the grant. | -| 1. | Protocol specification | The protocol will specify how the Stellar oracle behaves and what messages it forwards to the bridge pallet. | -| 2. | Stellar oracle consensus | The bridge pallet processes information received from the oracle, which comprises signed messages from Tier 1 Stellar nodes. This is used to reliably find consensus about finalized Stellar blocks and incoming deposits. | ## Future Plans From 7d0c82b609e3fca78316be9541d244a20889f125 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Thu, 4 Aug 2022 09:14:39 +0200 Subject: [PATCH 0050/1872] Update polkadot_stack.md typechain-polkadot --- docs/polkadot_stack.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/polkadot_stack.md b/docs/polkadot_stack.md index d9b2a67fa53..2e421a68578 100644 --- a/docs/polkadot_stack.md +++ b/docs/polkadot_stack.md @@ -97,7 +97,7 @@ In the below sections you can find a list of different layers of the Polkadot St |Substrate Contract clients | [PatractGo](https://github.com/patractlabs/go-patract) :red_circle:| | | SCALE Codec | [Rust](https://github.com/paritytech/parity-scale-codec) :green_circle:, [Python](https://github.com/polkascan/py-scale-codec) :green_circle:, [Golang Chainsafe](https://github.com/ChainSafe/gossamer/tree/development/lib/scale) :green_circle:, [Golang Itering](https://github.com/itering/scale.go) :green_circle:, [C](https://github.com/MatthewDarnell/cScale) :red_circle:, [C++](https://github.com/soramitsu/scale-codec-cpp) :red_circle:, [JavaScript](https://github.com/polkadot-js/api) :green_circle:, [AssemblyScript](https://github.com/LimeChain/as-scale-codec) :red_circle:, [Haskell](https://github.com/airalab/hs-web3/tree/master/src/Codec) :green_circle:, [Java](https://github.com/emeraldpay/polkaj) :yellow_circle:, [Ruby](https://github.com/itering/scale.rb) :red_circle:, [Dart](https://github.com/nbltrust/dart-scale-codec) :red_circle:, [Swift](https://github.com/tesseract-one/swift-scale-codec) :red_circle:, [PHP](https://github.com/gmajor-encrypt/php-scale-codec) :red_circle:, [JavaScript by Soramitsu](https://github.com/soramitsu/scale-codec-js-library) :yellow_circle:| | Easy Runtime Development | [VS Code Plugin](https://github.com/everstake/vscode-plugin-substrate) :red_circle:, [Atom Code Plugin](https://github.com/everstake/atom-plugin-substrate) :red_circle:, [Substrate Playground](https://github.com/paritytech/substrate-playground) :green_circle:, [Substrate Marketplace VS Code Plugin](https://github.com/paritytech/vscode-substrate) :red_circle:, [AssemblyScript Runtime Generation](https://github.com/LimeChain/as-substrate-runtime) :red_circle:, [Substrate Package Manager](https://github.com/clearloop/sup) :red_circle:, [Subsembly: Framework for developing AssemblyScript Substrate Runtimes](https://github.com/LimeChain/subsembly) :red_circle:, [dependency diener](https://github.com/bkchr/diener) :green_circle:| | -| Easy Smart Contract Development | [ink-playground](https://github.com/staketechnologies/ink-playground/tree/master) :red_circle:, [Ink! Remix Plugin](https://github.com/blockchain-it-hr/ink-remix-plugin) :red_circle: +| Easy Smart Contract Development | [Typechain Polkadot](https://github.com/Supercolony-net/typechain-polkadot), [ink-playground](https://github.com/staketechnologies/ink-playground/tree/master) :red_circle:, [Ink! Remix Plugin](https://github.com/blockchain-it-hr/ink-remix-plugin) :red_circle: | Runtime Security | [K specifications](https://github.com/kframework/wasm-semantics) :yellow_circle:, [PolPatrol - Polkadot Runtime Checker](https://github.com/ChainSecurity/polpatrol) :red_circle:| Automated Runtime checking tools, economic audit simulator such as [gauntlet.network](https://gauntlet.network/) | Smart Contract Languages | [Ask!](https://github.com/ask-lang/ask) :green_circle:, [Subscript](https://github.com/slickup/subscript) :red_circle:, [Solang](https://github.com/hyperledger-labs/solang) :green_circle:, [Ink!](https://github.com/paritytech/ink) :green_circle:, [Move VM Substrate](https://github.com/pontem-network/sp-move) :red_circle:, [Move smart contract by Neatcoin](https://github.com/neatcoin/neatcoin) :red_circle:, [Sol2Ink](https://github.com/Supercolony-net/sol2ink) :yellow_circle:| Functional Programming Languages, other languages with developed toolchains | | Smart Contract Security | [Vanguard](https://github.com/Veridise/Vanguard) | From 39655fd3c68ea8a74bf9517162a628f47b387a08 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Thu, 4 Aug 2022 16:40:06 +0200 Subject: [PATCH 0051/1872] Update polkadot_stack.md HSM update --- docs/polkadot_stack.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/polkadot_stack.md b/docs/polkadot_stack.md index 2e421a68578..158de3cf668 100644 --- a/docs/polkadot_stack.md +++ b/docs/polkadot_stack.md @@ -186,8 +186,7 @@ In the below sections you can find a list of different layers of the Polkadot St |-|-|- | SR25519 | [rust](https://github.com/w3f/schnorrkel) :green_circle:(contains partial bindings for C, JavaScript, and Python), [.Net bindings](https://github.com/gautamdhameja/sr25519-dotnet) :red_circle:, [C](https://github.com/usetech-llc/sr25519) :red_circle:*(old)*, [C](https://github.com/TerenceGe/sr25519-donna) :red_circle:*(new)*, [C/C++](https://github.com/soramitsu/soramitsu-sr25519-crust) :red_circle:, [C#](https://github.com/usetech-llc/sr25519_dotnet) :red_circle:, [Go](https://github.com/ChainSafe/go-schnorrkel) :green_circle:, [java](https://github.com/debuggor/schnorrkel-java) :red_circle:, [PHP](https://github.com/gmajor-encrypt/sr25519-bindings) :yellow_circle: | Distributed key generation (DKG) | [keygen.rs](https://github.com/isislovecruft/frost-dalek) :red_circle: -| Validator HSMs| | -| Validator HSM-like solutions| +| Validator HSMs| [Zondax Remote Signer](https://github.com/Zondax/buildroot-zondax) | ### :heavy_check_mark: Consensus From edc5540147bb8b9200d3d51cef60fcf3104a8b68 Mon Sep 17 00:00:00 2001 From: JimYam <96558044+JimYam@users.noreply.github.com> Date: Fri, 5 Aug 2022 15:40:21 +0800 Subject: [PATCH 0052/1872] add daos (#1050) * add daos * update daos grant level * update * Modify Payment Address * update milestone specification * add code example of using dao * add code example of using dao * update additional information * update total cost * fix(daos):modify the Level --- applications/daos.md | 135 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 applications/daos.md diff --git a/applications/daos.md b/applications/daos.md new file mode 100644 index 00000000000..97e18c48be6 --- /dev/null +++ b/applications/daos.md @@ -0,0 +1,135 @@ +# W3F Grant Proposal +*** + +* **Project Name:** daos +* **Team Name:** daos-org +* **Payment Address:** 0x08A7876db92b07057E12fAF29AA3CCF33b5aAe3D (USDT ERC20) +* **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 + +## Overview +* This project provides a more flexible governance framework for a large number of small groups with common characteristics. It allows developers to create behavior templates based on this set of governance solutions in the simplest way possible, +However, the origin of each specific behavior in the template completely depends on the users in the population (here we can call it the instance), that is, different user groups using the same type of template can have different Origin combinations. +This can be very useful, especially for products like LISTEN and KICO that have a strong group nature. Rooms are a template, multiple assets are a template, ico are a behavior template. +* In addition to the methods provided by DAOS, the origin of other methods executed externally by DAO is DAO-Account, which is equivalent to an ordinary user. This is a very subtle design of governance. It allows for higher voter participation and greater resource mobility throughout the system. +Each large group can be subdivided indefinitely into smaller groups, and smaller groups can be combined into larger groups indefinitely, similar to the Federal Republic. +## Project Details +### Background +* polkadot provides a set of on-chain governance solutions, but it is also very limited. It assumes that any demands made by each user can be fulfilled through the system's very limited referendum or parliamentary resources. This is obviously unreasonable. +This leads to inefficiency and low willingness of users to vote and participate, which is the root of centralization. +* The polkadot democracy and council are not flexible enough to make more decisions at the non-system level. Parallel chains have many application-level businesses, each of which can be viewed as a behavior template, +Different groups have different origin requirements for specific behaviors. +So we're offering this flexible governance supplement, where we want each community to be able to make more decisions autonomously and efficiently, +They have their own dao's democracy and council, but this is not enough to break the system, because each group performs external execution transactions using origin as a common user. +* It's nice that every DAO executes a transaction with origin as an ordinary user, and you can imagine that the council members in polkadot are made up of part dao-account, which will help decentralize a lot of projects. +> Together with the KICO team, after more than two months of thinking and design, DAOS came into being. + +### project pallets +1. `create-dao pallet` +Create a DAO based on a specific behavior template provided by the developer +2. `agency pallet` +Similar to polkadot's collective module, and most of the code from collective module. +The difference is that each DAO has its own authority agency, and there is no limit to the number of daos on the chain. And it implements EnsureOriginWithArg, where `set_ensure_for_every_call` sets the execution origin of each method. +This is useful because it gives each method more flexibility to get agency origin instead of hard-coding it `in runtime/lib.rs`. +3. `doas pallet` +The agency must first call the `pub fn do_as_collective` of this module when calling non-daos external transactions +4. `square pallet` +A bit like the Democracy module in polkadot, it can get dao-root Origin and execute any methods that can be executed in a DAO. The difference is that there is a Square in each DAO and it introduces a voting threshold requirement. +Different methods can set different thresholds for voting by `set_min_vote_weight_for_every_call`, that is, origin can be set dynamically. +5. `sudo pallet` +Somewhat like the Sudo module in polkadot, let a user own the dao-root origin in the DAO. Each DAO has a sudo, a substitute for Democracy, that can be removed. +6. `emergency pallet` +It uses native referendums or parliaments to help each DAO handle emergencies, such as parameter Settings failing to work properly. +### Workflow +To be added +## Ecosystem Fit +This is a project without any token, focused on community contribution, and tt is now ready for use on KICO and LISTEN. +We believe that this is a very useful product for other projects in application, +it will bring you not only the convenience of development, but also the free flow and integration of resources, as long as you pay attention to it. +Developers can use our governance model by providing a behavior template, regardless of the number of DAOs but only the type of DAOs. +If your project doesn't want to use council and Democracy because the governance resources are limited, +then you need to write a voting system for group decisions. This is a repetitive job and it doesn't add much value. +I recommend using DAOS and leaving the governance code writing to the DAOS team. +We will continue to update, it makes sense, and both KICO and LISTEN are high-quality projects in Kusama and have been given slots. + +## Team +### Team members +* JimYam +* wetalice +* Zifan Zhang +* You Lam +### Team's experience +* JimYam has been engaged in blockchain chain development for 5 years and is passionate about blockchain industry innovation. Currently, he is the main developer of LISTEN parallel chain team. Having worked in Tencent for 3 years, he has unique insights into social products. He has been following polkadot ecological development since Substrate1.0. +* wetalice Graduated from top5 universities in China, good at economics and game theory. Currently he is the lead developer for the KICO team. +* Zifan Zhang has worked for NetEase and did front-end development for 6 years. Currently, he has his own entrepreneurial team in Singapore. +* You Lam is test engineer who has been working in the industry for 9 years. +### Contact +* **Contact Name:** JimYam +* **Contact Email:** transxask1@gmail.com +### Legal Structure +* **Registered Address:** N/A +* **Registered Legal Entity:** N/A +### Team Code Repos + +- [https://github.com/daos-org/daos.git](https://github.com/daos-org/daos.git) +- [https://github.com/DICO-TEAM/dico-chain.git](https://github.com/DICO-TEAM/dico-chain.git) +- [https://github.com/listenofficial/listen-parachain.git](https://github.com/listenofficial/listen-parachain.git) + +### Development Status + +- [https://github.com/daos-org/daos.git](https://github.com/daos-org/daos.git) + +*** + +## Development Roadmap +### Overview +* **Total Estimated Duration:** 2 months +* **Full-Time Equivalent (FTE):** 6FTE +* **Total Costs:** 10k USD +### Milestone 1 — Implement Create-Dao, Agency, DoAS, Square, and Sudo Modules +* **Estimated duration:** 1 month +* **FTE:** 6 +* **Costs:** 6000 USD + +|Number | Deliverable | Specification | +|-----: |-------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +|0a. | License | MIT, APACHE2.0 | +|0b. | Documentation | Write Document for each module | +|0c. | Testing | Write test code for each module | +|0d. | Example | Provides code for examples of using DAOS on substrate projects | +|0e. | Comment | Provide detailed comments for each module | +|0f. | Benchmarking | Write Benchmarking code for each module | +|1. | create-dao pallet | Developers can quickly create a behavior template that works with daos, and users can create DAOs based on behavior templates in this module. | +|2. | agency pallet | A power agent in DAO can solve some things in DAO more quickly. The module can set the difficulty level of transactions that can be executed by power agent, namely Origin. Has its own voting system| +|3. | doas pallet | Through this module, the agency can obtain a dao-account, which is the identity of an ordinary user to perform external transactions | +|4. | square pallet | The highest authority in dao, can execute all transactions in dao. And the execution difficulty of each transaction can be set in this modlue, namely vote weight. Has its own voting system | +|5. | sudo pallet | Giving someone root privileges can execute all executable methods in dao. It should be remove when the DAO is necessary for decentralization. | +### Milestone 2 - Emergency, UI design and JS code implementation examples +* **Estimated duration:** 1 month +* **FTE:** 3 +* **Costs:** 4000 USD + +|Number | Deliverable | Specification | +|-----: |-------------------------------------|----------------------------------------------------------------------------------------------------------------------------------| +|0a. | Documentation | Provide documentation for using daos | +|0b. | Testing | Complete all module tests | +|0c. | Comment | Comment for each module | +|0d. | weight | Implement default weight for each module | +|1. | emergency pallet | When dao cannot run normally for some reason, such as wrong parameter settings, it can be adjusted through democracy and council | +|2. | Add more `set_xxx` in these pallets | More parameters can be set directly and governance is more flexible | +|3. | UI design | Providing a UI framework | +|4. | JS | Provides js code cases based on UI framework implementation | +> The hardest thing about Milestone 2 is UI design, because the front end doesn't know what behavior boundaries the behavior template designer set. Our current solution is to design with metadata. +## Future Plans +We will focus on getting more people to use this project than just LISTEN and KICO. A mature product should pay more attention to the sinking market and listen to differences +voice of the community. Using this project, the voice of every small community can be noticed. +We will continue to introduce more algorithms at the governance level to meet the governance needs of different project parties. We welcome more developers to join us to improve. + +## Additional Information :heavy_plus_sign: +* **How did you hear about the Grants Program?** + + Announcement by another team +* **This is an example of kico network use daos for its own vc behavior template**. + + [https://github.com/DICO-TEAM/dico-chain/blob/main/runtime/kico/src/vc.rs#L275](https://github.com/DICO-TEAM/dico-chain/blob/main/runtime/kico/src/vc.rs#L275) + [https://github.com/DICO-TEAM/dico-chain/blob/main/runtime/kico/src/lib.rs#L1602](https://github.com/DICO-TEAM/dico-chain/blob/main/runtime/kico/src/lib.rs#L1602) + > This case is to create a vc behavior template for any type of asset (including NFT), and users can create a DAO based on any asset id. From 57e904e03e7cc690fbbeb9ebf1a2230e00150497 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Fri, 5 Aug 2022 09:42:50 +0200 Subject: [PATCH 0053/1872] Update accepted_grant_applications.md --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index c95009a34c8..633d98b54b3 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -525,3 +525,4 @@ | [Veridise](https://veridise.com/) | Vanguard | [GitHub](https://github.com/Veridise/Vanguard) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Karolis Ramanauskas](https://krl.is/) | Generic Sybil-Resistant Faucet | [GitHub](https://github.com/karooolis) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [LimeChain](https://limechain.tech/) | Research feasibility for a Go Runtime | [GitHub](https://github.com/LimeChain) |
  • [ ]
|
  • [x]
|
  • [x]
| +| [Jim Yam](https://github.com/JimYam) | daos | [GitHub](https://github.com/daos-org/daos.git) |
  • [ ]
|
  • [x]
|
  • [x]
| From 002398a4ddc827aea8db2a00e5dd31c1f2ca9dde Mon Sep 17 00:00:00 2001 From: "yahuang.wu" Date: Fri, 5 Aug 2022 15:59:56 +0800 Subject: [PATCH 0054/1872] =?UTF-8?q?Proposal:=20Green=20Lemon=20Protocol?= =?UTF-8?q?=F0=9F=8D=8B=20-=20An=20anonymous=20NFT=20solution=20(#1096)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Create GreenLemon.md * Update GreenLemon.md * Update GreenLemon.md * Update GreenLemon.md --- applications/GreenLemon.md | 166 +++++++++++++++++++++++++++++++++++++ 1 file changed, 166 insertions(+) create mode 100644 applications/GreenLemon.md diff --git a/applications/GreenLemon.md b/applications/GreenLemon.md new file mode 100644 index 00000000000..f35bd9d116b --- /dev/null +++ b/applications/GreenLemon.md @@ -0,0 +1,166 @@ +# W3F Grant Proposal + +- **Project Name:** Green Lemon +- **Team Name:** Green Lemon +- **Payment Address:** 0xf4f463B9A0ADa68536423121e7Bf9E559ce54fAf(Ethereum ERC20 USDT) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 + +## Project Overview :page_facing_up: + +[Proposal: Dual-Key Stealth Address Protocol](https://github.com/w3f/Grants-Program/pull/997) + +[Milestone Delivery: Dual-Key Stealth Address Protocol](https://github.com/w3f/Grant-Milestone-Delivery/pull/504) + +### Overview + +Many of today’s blockchains, including Bitcoin and Ethereum, are open and public ledgers in the sense that there are no restrictions on participation and all transaction details are visible on the blockchain. In a public ledger, the transaction entities are only identified by their blockchain addresses, which are derived from the corresponding public keys. Public ledgers are generally considered to be “pseudo-anonymous”, which means that an address is linked to one person, but that person is unknown to the public. However, by analyzing the transaction graph and combining it with other information, it is possible to reveal the true real-world identity behind a blockchain address, as shown by recent research. + +The Green Lemon protocol is an anonymous NFT solution for the Polkadot ecosystem based on zero-knowledge proof and dual-key stealth address protocol: users deposit DOT to an anonymous NFT contract and then anonymously send mint, transfer, and other ERC721 functions to that contract via relayer. + +### Project Details + +The protocol implements the function of initiating anonymous transactions through zero-knowledge proofs and the function of hiding NFT owners through DKSAP. + +Currently, a large number of anonymous transaction projects use zero-knowledge proofs, such as Monero and ZCash based on the UXTO model, and Zether and Tornado based on the account model. + +Zether comes to our attention with its unique implementation, which uses the Σ-Bullets protocol, does not require the generation of public parameters for the initiation ceremony, and uses the Elgamal encryption algorithm for homomorphic encryption and decryption of account balance, which are excellent features. But the Gas for anonymous transfers involving 64 accounts verified amounted to 36,152,558 on Ethereum virtual machine. + +Meanwhile, Tornado, based on zk-SNARK, performed well in terms of Gas, with a Gas consumption of 1,088,354 for deposits and 301,233 for withdrawals. After comparison, we decided to develop a zero-knowledge proof module based on zk-SNARK. + +DKSAP is a new privacy transaction protocol invented by rynomster/sdcoin in 2014. Since its announcement, it has landed in numerous blockchain projects (Monero, Samourai Wallet, TokenPay, etc.). It is characterized by the fact that the account needs to generate two sets of public and private key pairs, "scan key pair", and "spend key pair", the recipient of each transaction is encrypted and cannot be associated with a particular blockchain account. + +The protocol contains the following functions: + +* Deposit: The user generates a random note and deposits a coin to the NFT anonymous contract, so that can pay the relayer fees for anonymous transactions. + +* Withdrawal: The user will get back the DOT previously deposited, and nullifier the corresponding note. + +* Registration: The user registers the Scan public key and Spend public key to the NFT contract, and if the relayer sends the transaction to the chain, the user needs to pay the fee for the relayer. + +* Mint: The user generates the encrypted public key address ePub1(encrypted pub key) based on his scan pub and anonymously mint NFT through the relayer, the owner of this NFT is ePub1, and the user needs to pay the gas fee to the relayer. + +* Transfer: The user generates the encrypted public key address ePub2 based on the scan pub of the recipient and uses the private key signature corresponding to ePub1 to anonymously transfer the NFT, and the owner of the NFT is ePub2, and the user needs to pay a fee to the relayer. + +* Burn: The user pays the fee to relayer to burn NFT. + +* Other functions supported by ERC721, including Approval, ApprovalForAll, clear_approval, and set_approval_for_all. + + +### Ecosystem Fit + +NFT sales reached $17.7 billion in 2021, up from $82.5 million in 2020 — a jump of more than 200 times. Total NFT profits when reselling or buying also skyrocketed from $12 million in 2020 to $5.4 billion in 2021. + +Sotheby's - a renowned auction house with a history of nearly 300 years - generated $7.3 billion in sales in 2021, of which 10% was in private transactions. + +This gives us confidence that anonymous trading, the act of buying and selling without revealing the identity of the trader, is just as strongly demanded in the NFT ecosystem. + +As the first anonymous NFT application of web3 Ecology, we believe Green Lemon will have a positive impact on Polkadot. Users of NFT who value their privacy greatly will find it attractive. + + +## Team :busts_in_silhouette: + +### Team members + +Yahuang Wu + +* [Github address](https://github.com/wuyahuang) +* Educated in Xiamen University, MEM +* 7 years of internet R&D experience, participated in the development of several apps with millions of Daily Active Users (Qunar, Snowball, Meiyou) +* Head of the technical team of EOS genesis block producer +* Author of 40 EOS technical articles [list of technical articles](https://github.com/meet-one/documentation/blob/master/meetone-lab-docs.md) +* Selected into the EOS Open Source Community Acknowledgments List [list of selected lists](https://steemit.com/eos/@liondani/eos-acknowledgments-making-it-immutable-via-steemit) +* EOS Hongkong Hackathon tech mentor +* Contributed code to several repositories in the 2020 GitHub Archive Program +* 10 blockchain technology patents [Patent List](http://www1.soopat.com/Home/Result?SearchWord=%E5%90%B4%E4%BA%9A%E7%9A%87&FMZL=Y&SYXX=Y&WGZL=Y&FMSQ=Y) + + +Rick + +* Educated in Xiamen University, Computer Science & MBA +* Head of the technical team of Meiyou APP (one of the most famous female health APP in Aisa) +* Head of the technical team of EOS wallet (one of the most famous EOS wallets in Asia) + +### Contact + +- **Contact Name:** Yahuang Wu +- **Contact Email:** wuyahuang@gmail.com +- **Website:** https://github.com/GreenLemonProtocol + +### Legal Structure + +- **Registered Address:** +- **Registered Legal Entity:** + +### Team's experience + +We have 10 years of experience in Internet research and development, focusing on the blockchain industry since 2018. We are deep participants in several technical communities, hackathon winners, and node service providers for EOS and PlatON. + +### Team Code Repos + +- Green Lemon Protocol: https://github.com/GreenLemonProtocol + +Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine. + +- Yahuang Wu: https://github.com/wuyahuang +- Rick: https://github.com/MeetYouDevs + +## Development Status :open_book: + +[Milestone Delivery: Dual-Key Stealth Address Protocol](https://github.com/w3f/Grant-Milestone-Delivery/pull/504) + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Total Estimated Duration:** 12 weeks +- **Full-Time Equivalent (FTE):** 2 +- **Total Costs:** 30,000 USD + +### Milestone 1 — Implement anonymous NFT based on ERC721 + +- **Estimated duration:** 3 weeks +- **FTE:** 2 +- **Costs:** 8,000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can (for example) spin up one of our Substrate nodes and send test transactions, which will show how the new functionality works. | +| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Article | We will publish **article & demo video** that explains How is anonymous NFT contract hidden owner works based on dual-key stealth address protocol. +| 1. | (ink!)Smart contracts: Anonymous NFT | [Milestone Delivery: Dual-Key Stealth Address Protocol](https://github.com/w3f/Grant-Milestone-Delivery/pull/504) only implements mint, transfer, and burn. Based on the current version, we will continue to develop other ERC721 protocol methods and related test cases, such as Approval, ApprovalForAll, clear_approval, and set_approval_for_all. | + + + +### Milestone 2 — Implement anonymous transaction + +- **Estimated Duration:** 9 weeks +- **FTE:** 2 +- **Costs:** 22,000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can (for example) spin up one of our Substrate nodes and send test transactions, which will show how the new functionality works. | +| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Article | We will publish **article & demo video** that explain How is anonymous NFT solution works based on zero-knowledge proof. +| 1. | (ink!)Smart contracts: Anonymous NFT | Development and testing of the core functions of the Anonymous NFT smart contract, including deposit/withdraw DOT from the contract, sending the transaction to the NFT contract through the relayer, and paying the transaction fee to the relayer on-chain. As mentioned above, anonymous transactions are based on zero-knowledge proof.| +| 2. | (Node.js)Relayer service | Development and testing of the relayer service. As mentioned above, All user transactions are sent by the relayer service, and users need to transfer token to the relayer based on zero-knowledge proof.| + + + +## Future Plans + +Please include here + +- Develop PC website and Google chrome extension wallet based on Green Lemon Protocol, lower the threshold for blockchain users +- Add Merkle tree to store notes on-chain, so users can verify that transactions are mined by the blockchain network. + + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** Web3 Foundation Website + +Here you can also add any additional information that you think is relevant to this application but isn't part of it already, such as: + +[Proposal: Dual-Key Stealth Address Protocol](https://github.com/w3f/Grants-Program/pull/997) From 49570bff9f3f7f7db08f14e13f2ece2ec79f60cf Mon Sep 17 00:00:00 2001 From: David Hawig Date: Fri, 5 Aug 2022 10:12:14 +0200 Subject: [PATCH 0055/1872] Update accepted_grant_applications.md Green Lemon Protocol --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 633d98b54b3..efc0825b3ba 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -526,3 +526,4 @@ | [Karolis Ramanauskas](https://krl.is/) | Generic Sybil-Resistant Faucet | [GitHub](https://github.com/karooolis) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [LimeChain](https://limechain.tech/) | Research feasibility for a Go Runtime | [GitHub](https://github.com/LimeChain) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Jim Yam](https://github.com/JimYam) | daos | [GitHub](https://github.com/daos-org/daos.git) |
  • [ ]
|
  • [x]
|
  • [x]
| +| [Green Lemon](https://github.com/GreenLemonProtocol) | Green Lemon Protocol | [GitHub](https://github.com/GreenLemonProtocol) |
  • [ ]
|
  • [x]
|
  • [x]
| From 773f612e2d00fcedd62c75d1d4a4c80a9939d650 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Fri, 5 Aug 2022 10:15:25 +0200 Subject: [PATCH 0056/1872] Update accepted_grant_applications.md Fix status --- docs/accepted_grant_applications.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index efc0825b3ba..1ce1fbd9329 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -524,6 +524,6 @@ | [Open rollup](https://github.com/openrollup-zk) | Open rollup - MVP - Phase 1 | [GitHub](https://github.com/openrollup-zk) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Veridise](https://veridise.com/) | Vanguard | [GitHub](https://github.com/Veridise/Vanguard) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Karolis Ramanauskas](https://krl.is/) | Generic Sybil-Resistant Faucet | [GitHub](https://github.com/karooolis) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [LimeChain](https://limechain.tech/) | Research feasibility for a Go Runtime | [GitHub](https://github.com/LimeChain) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Jim Yam](https://github.com/JimYam) | daos | [GitHub](https://github.com/daos-org/daos.git) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Green Lemon](https://github.com/GreenLemonProtocol) | Green Lemon Protocol | [GitHub](https://github.com/GreenLemonProtocol) |
  • [ ]
|
  • [x]
|
  • [x]
| +| [LimeChain](https://limechain.tech/) | Research feasibility for a Go Runtime | [GitHub](https://github.com/LimeChain) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Jim Yam](https://github.com/JimYam) | daos | [GitHub](https://github.com/daos-org/daos.git) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Green Lemon](https://github.com/GreenLemonProtocol) | Green Lemon Protocol | [GitHub](https://github.com/GreenLemonProtocol) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 04bbbcab2efbe34600a40aebb1668d9ac42fc1e2 Mon Sep 17 00:00:00 2001 From: Adit Patel Date: Fri, 5 Aug 2022 04:47:34 -0400 Subject: [PATCH 0057/1872] ISO-8583 RFP Proposal (#1106) --- applications/Integrating-ISO8583.md | 119 ++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 applications/Integrating-ISO8583.md diff --git a/applications/Integrating-ISO8583.md b/applications/Integrating-ISO8583.md new file mode 100644 index 00000000000..16fc3066453 --- /dev/null +++ b/applications/Integrating-ISO8583.md @@ -0,0 +1,119 @@ +# W3F Grant Proposal + +> This document will be part of the terms and conditions of your agreement and therefore needs to contain all the required information about the project. Don't remove any of the mandatory parts presented in bold letters or as headlines! Lines starting with a `>` (such as this one) can be removed. +> +> See the [Grants Program Process](https://github.com/w3f/Grants-Program/#pencil-process) on how to submit a proposal. + +- **Project Name:** Integrating ISO-8583 +- **Team Name:** Stardust Labs Inc. +- **Payment Address:** 0xF3d5F194D9eF961a85a4d5be05EFda7B2B33005d (DAI, Ethereum Mainet) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 + +> ⚠️ _The combination of your GitHub account submitting the application and the payment address above will be your unique identifier during the program. Please keep them safe._ + +## Project Overview :page_facing_up: + +### Overview + +- A brief description of your project. + +This proposal is in [response to the ISO-8583 RFP, that aims to make it easy and possible for the traditional finance industry to leverage substrate and ink! smart contracts to interact with ISO 8583 in various ways](https://github.com/w3f/Grants-Program/blob/master/rfps/open/ISO_8583.md). While it seems the original RFP was primarily for a straightforward techincal implementation, the actual implementation of ISO-8583 on a distributed, permissionless architecture has several unsolved challenges. This grant proposal is to research and develop acceptable solutions to those challenges or at the very least provide the Web3.0 Foundation with a comprehensive view of the options and tradeoffs. + +- An indication of how your project relates to / integrates into Substrate / Polkadot / Kusama. + +Supporting international standards would smooth the connection between crypto and traditional financial institutions and is a [go-to-market strategy for several competing projects](https://www.cryptopolitan.com/iso-20022-compliant-crypto-list/). While those efforts are focused on the newer ISO-20022, and not ISO-8583, there is significant value in being the first blockchain to support traditional banking infrastructure and dislodge incumbent networks such as SWIFT or Visa/Mastercard. + +- An indication of why your team is interested in creating this project. + +I've built credit card infrastructure before during my role as an analyst at Capital One and believe I can bring some experience from traditional finance to this problem. At the very least I can call out the details and complex logistics that others without might miss. + +### Project Details + +[ISO-8583](https://en.wikipedia.org/wiki/ISO_8583) is the international standard for card based payments and transactions. It's used everywhere from ATMs to Merchant point of sale terminals. Supporting international standards could help smooth the connection between crypto and traditional financial institutions. [Further simplifying matters is](https://crates.io/crates/iso8583) [that several rust crates exist](https://github.com/rkbalgi/iso8583_rs) [supporting the packing and unpacking of ISO-8583 data streams.](https://docs.rs/i8583/latest/i8583/) + +At first glance, it seems like one could easily just integrate these packages to achieve the goals of the RFP, namely: +- (Java) APIs or packages that make it possible for the traditional finance industry to integrate a substrate-based ISO 8583 solution into their existing tech stack. +- Proof of concepts, potentially leveraging the unique [Off-Chain Features of Substrate](https://docs.substrate.io/v3/concepts/off-chain-features/) that show the advantages of using ISO 8583 together with Substrate. +- Efficient on-chain representation of the ISO 8583 syntax + +Unfortunately, the logistics of actually implementing ISO-8583 compliant infrastructure on blockchains is unintuitvely complex. At a minimum, 3 major issues exist that must be addressed. + +**Security** +ISO-8583 datastreams [reveal far too much information to ever be publically exposed](https://neapay.com/post/iso8583-atm-pos-crypto-api-integration-coinbase-binance_102.html). Here neapay proposes using ISO-8583 to connect to Coinbase to purchase crypto. However you can see that once the datastream is unpacked, the user's financial details are immediately revealed. Unpacking data is a trivial process that has no security, ISO-8583 data is not encrypted. Of note is the exposed primary account number (F02_PAN: 9876 5000 0030 6082). Most people would recognize this number faster as their credit card number. While it is possible, and implemented in practice, to transfer the data securely between two, trusted centralized servers using [Diffie Hellman key exchange](https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange), research is needed to construct a way to place ISO-8583 data on-chain securely, if it is even possible. There are also laws about retaining this information for a fixed period of time, for example, [Minnesota, a US state mandates that this information is deleted within 48 hours of reciept](https://www.revisor.mn.gov/statutes/cite/325E.64) which is at odds with the enduring, provable structure of a blockchain. + +**Transaction Reversals** +Outside of simple purchases, one of the most common messages communicated over ISO-8583 are [chargebacks.](https://en.wikipedia.org/wiki/Chargeback) [About 0.6% of all transactions are ultimately recalled, though it varies by industry.](https://shiftprocessing.com/chargeback-statistics/) ISO-8583 was designed to handle this process seamlessly and has a reserved MTI code for all chargebacks and reversals (x4xx). Unfortunately, modern blockchains by design are irreversible. From the original [introduction of Satoshi Nakamoto's white paper](https://bitcoin.org/bitcoin.pdf). +> While the system (traditional finance) works well enough for most transactions, it still suffers from the inherent weaknesses of the trust based model. Completely non-reversible transactions are not really possible, since financial institutions cannot avoid mediating disputes. The cost of mediation increases transaction costs, limiting the minimum practical transaction size and cutting off the possibility for small casual transactions, and there is a broader cost in the loss of ability to make non-reversible payments for nonreversible services. With the possibility of reversal, the need for trust spreads. + +Supporting ISO-8583 functionality would require building a new token standard, or making changes to the operation of the blockchain to allow reversible transactions. A solution highlighted in the original bitcoin white paper is automatic escrow accounts, but research would be needed to identify the best way to implement these accounts or if there are better solutions. + +**Authorizations and Privilages** +This leads to another major challenge. In traditional banking, the users are not equal. Certain entites such as the issuing bank or network can make decisions unilaterally without recourse. An example of this would be the aforementioned chargeback or transaction reversals which can be performed by the issuing bank or network for any reason. Blockchains operate on an equivalent peer model, and it is an open question as to how to authorize a super user and who should maintain super user priviliages over the entire network. + +For Milestone 1 we aim to deliver a robust implementation proposal with solutions to these challenges. While likely no the intent of the RFP, significant foundational reserach has to be done into the feasibility of integrating ISO-8583 with Substrate (or even blockchains in general). These challanges have significant risks and may prove unfeasible. For example, it is possible that it is ultimately too risky to store ISO-8583 data on-chain or even expose it to nodes. While we do not aim to make such determinations during Milestone 1, we will provide a detailed documentation of the major challenges, options for addressing these challenges, and the major tradeoffs. We will also try to summarize what others have done in this space. + +### Ecosystem Fit + +Supporting international standards would smooth the connection between crypto and traditional financial institutions and is a [go to market strategy for several competing projects](https://www.cryptopolitan.com/iso-20022-compliant-crypto-list/). While those efforts are focused on the newer ISO-20022, not ISO-8583, there is significant value in being the first blockchain to support traditional banking infrastructure and dislodge incumbent networks such as SWIFT or Visa/Mastercard. + +## Team :busts_in_silhouette: + +### Team members + +- Adit Patel + +### Contact + +- **Contact Name:** Adit Patel +- **Contact Email:** adit.patel@stardustfunds.com +- **Website:** https://stardust.finance/ + +### Legal Structure + +- **Registered Legal Entity:** Stardust Labs Inc. is a registered C-corp incoporated in Wyoming + +### Team's experience + +Adit is a technical expert on cryptography, distributed ledgers, financial markets, and new product development. He graduated Columbia in 2011 with a BSc in Applied Physics and a minor in Econ. During his time there, he took additional coursework focused on cryptography, statistics, and fundamental computer science. After graduating, he joined Capital One and quickly rectified the failing, newly launched small business brand. These efforts made him well known as the go-to analyst for successful new product development, strategy and launch. He was tapped to design and launch financial products for Hispanic consumers and tapped again to build Capital One’s B2B financial products. During his tenure there, Adit experienced first hand the hard learnings that lead to efficient risk mitigation in financial products and the intricacies of financial engineering. He has a decade of technical experience at the intersection of finance and technology and has built and implemented financial products including credit cards before. + +### Team Code Repos + +- https://github.com/adit313/ + +### Team LinkedIn Profiles (if available) + +- https://www.linkedin.com/in/adit-patel/ + +## Development Status :open_book: + +- link to RFP: https://github.com/w3f/Grants-Program/blob/master/rfps/open/ISO_8583.md + +## Development Roadmap :nut_and_bolt: + +Through this grant proposal, we aim to provide a well-detailed analysis and implementation plan for incorporating ISO-8583 with Substrate. + +### Overview + +- **Total Estimated Duration:** 4 Weeks +- **Full-Time Equivalent (FTE):** 1 FTE +- **Total Costs:** 10K + +### Milestone 1 — ISO-8583 Implementation Plan Research + +- **Estimated duration:** 4 Weeks +- **FTE:** 1 +- **Costs:** 10k USD + +| Number | Deliverable | Specification | +| ------: | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| 0. | Rights | All developed materials will be publicly accessible and public domain. | +| **1.** | Research Goal | A well-detailed analysis and implementation plan for incorporating ISO-8583 with Substrate with solutions or options for the outstanding challenges. | +| **1a.** | Specific Coverage | We will deep dive into the outstanding challenges related to security, reversibility, and authorization. As part of this, we will cover some industry security standards such as PCIDSS compliance and it's applicability, though this is not legal advice or intended to be legal advice. For each of these three challenges we will attempt to provide either a well developed solution or options with careful detailed tradeoffs for the Web3.0 Foundation team to select from. | + +## Future Plans + +- We think it is more important at this stage to have a robust implementation plan before attempting to build. If the plan is feasible and acceptable to the Web3.0 team, we will follow up with another grant for implementation. + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** [Previous Grantee](https://github.com/adit313/Grants-Program/blob/master/applications/stardust.md) From c6e417f2e5882f402d8b2851e16639e2388c60b0 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Fri, 5 Aug 2022 10:57:35 +0200 Subject: [PATCH 0058/1872] Update accepted_grant_applications.md --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 1ce1fbd9329..b987168ac3c 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -527,3 +527,4 @@ | [LimeChain](https://limechain.tech/) | Research feasibility for a Go Runtime | [GitHub](https://github.com/LimeChain) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Jim Yam](https://github.com/JimYam) | daos | [GitHub](https://github.com/daos-org/daos.git) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Green Lemon](https://github.com/GreenLemonProtocol) | Green Lemon Protocol | [GitHub](https://github.com/GreenLemonProtocol) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Stardust Labs Inc.](https://stardust.finance/) | Integrating ISO-8583 | [GitHub](https://github.com/adit313/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From acc867af68ac10e476d6185b7ca114523b7b7b39 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Fri, 5 Aug 2022 12:04:18 +0200 Subject: [PATCH 0059/1872] Update accepted_grant_applications.md Update HSM --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index b987168ac3c..8cd9775cb97 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -105,7 +105,7 @@ | [Vision Baker](https://playproject.io/) | DatDot — Dat protocol for Polkadot | [GitHub](https://github.com/playproject-io/datdot) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Speckle OS](https://www.speckleos.io/) | Integrating additional features into Speckle OS | [GitHub](https://github.com/SpeckleOS/speckle-browser-extension) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Archipel](https://archipel.id/) | Solution to resolve high availability problem of Validator nodes in PoS | [GitHub](https://github.com/luguslabs/archipel) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Zondax](https://zondax.ch/) | Flexible TrustZone-based HSM stack | [GitHub](https://github.com/ZondaX) |
  • [ ]
|
  • [x]
|
  • [ ]
| +| [Zondax](https://zondax.ch/) | Flexible TrustZone-based HSM stack | [GitHub](https://github.com/ZondaX) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Usetech](http://usetech.com/blockchain.html) | SR25519 library in pure C and C# | [GitHub](https://github.com/usetech-llc/) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Akropolis](https://akropolis.io/) | PolkaHub — Heroku-like infrastructure for node deployment | [GitHub](https://github.com/akropolisio) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Pixura](https://pixura.io/) | Substrate API client in Haskell | [GitHub](https://github.com/Pixura) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From c12d83feaedcc139b743db0b62680891ca4d31cf Mon Sep 17 00:00:00 2001 From: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> Date: Fri, 5 Aug 2022 12:08:13 +0200 Subject: [PATCH 0060/1872] Update RFPs status (#1108) * move rfps under development * Update RFPs status * Update README.md --- rfps/README.md | 4 ++-- rfps/{open => under_development}/ISO_8583.md | 0 .../{open => under_development}/multi-chain-block-explorer.md | 0 3 files changed, 2 insertions(+), 2 deletions(-) rename rfps/{open => under_development}/ISO_8583.md (100%) rename rfps/{open => under_development}/multi-chain-block-explorer.md (100%) diff --git a/rfps/README.md b/rfps/README.md index ff1f6e7745c..d0b3d13de4d 100644 --- a/rfps/README.md +++ b/rfps/README.md @@ -32,10 +32,10 @@ If you find an open RFP here that you think you can address, feel free to [submi | [implementation-benchmarking.md](./open/implementation-benchmarking.md) | :green_circle: | 20.07.2021 | | [ink!_smart_contract_block_explorer.md](./under_development/ink!_smart_contract_block_explorer.md) | :yellow_circle: | 05.07.2021 | | [ISO_20022.md](./open/ISO_20022.md) | :green_circle: | 31.05.2022 | -| [ISO_8583.md](./open/ISO_8583.md) | :green_circle: | 31.05.2022 | +| [ISO_8583.md](./open/ISO_8583.md) | :yellow_circle: | 31.05.2022 | | [ksm-tipping-button.md](./implemented/ksm-tipping-button.md) | :red_circle: | 20.07.2021 | | [mixer.md](./under_development/mixer.md) | :yellow_circle: | 05.07.2021 | -| [multi-chain-block-explorer.md](./open/multi-chain-block-explorer.md) | :green_circle: | 23.11.2021 | +| [multi-chain-block-explorer.md](./open/multi-chain-block-explorer.md) | :yellow_circle: | 23.11.2021 | | [on-chain-quadratic-funding.md](./implemented/on-chain-quadratic-funding.md) | :red_circle: | 29.03.2022 | | [php-api.md](./implemented/php-api.md) | :red_circle: | 27.05.2022 | | [php-scale.md](./implemented/php-scale.md) | :red_circle: | 23.11.2022 | diff --git a/rfps/open/ISO_8583.md b/rfps/under_development/ISO_8583.md similarity index 100% rename from rfps/open/ISO_8583.md rename to rfps/under_development/ISO_8583.md diff --git a/rfps/open/multi-chain-block-explorer.md b/rfps/under_development/multi-chain-block-explorer.md similarity index 100% rename from rfps/open/multi-chain-block-explorer.md rename to rfps/under_development/multi-chain-block-explorer.md From 11c644ea83d93015db60f117aea458864afc4ac9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 8 Aug 2022 09:29:26 +0200 Subject: [PATCH 0061/1872] Update status badges (#1110) Co-authored-by: github-actions[bot] --- docs/polkadot_stack.md | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/docs/polkadot_stack.md b/docs/polkadot_stack.md index 158de3cf668..f61ea8ce37a 100644 --- a/docs/polkadot_stack.md +++ b/docs/polkadot_stack.md @@ -71,7 +71,7 @@ In the below sections you can find a list of different layers of the Polkadot St | Components | Existing projects | Potentially interesting projects |-|-|- | Desktop/Web Wallets | [Talisman Web Application](https://github.com/TalismanSociety/talisman-web) :green_circle:, [AirGap](https://github.com/airgap-it/airgap-wallet) :green_circle:, [Sakura](https://github.com/w3finance/sakura) :red_circle:| User-friendly Wallet based on the [Recovery Pallet](https://github.com/paritytech/substrate/tree/master/frame/recovery), Web wallets focused on user-onboarding (e.g. using [localStorage](https://github.com/near/near-wallet) ) -| Browser Extensions | [Enkrypt](https://github.com/enkryptcom/enKrypt), [Polkadot{.js}](https://github.com/polkadot-js/extension) :green_circle:, [Polkadot-Js-Plus-Extension](https://github.com/Nick-1979/polkadot-Js-Plus-extension) :green_circle:, [SubWallet-Extension](https://github.com/Koniverse/SubWallet-Extension) :green_circle:, [Doter](https://github.com/ChainBridgeNetworkTeam/Doter) :red_circle:, [Enzyme](https://github.com/blockxlabs/enzyme/) :red_circle:, [Speckle OS](https://github.com/GetSpeckle/speckle-browser-extension) :red_circle:| Sign-in with your polkadot, kusama, etc. account. +| Browser Extensions | [Enkrypt](https://github.com/enkryptcom/enKrypt) :green_circle:, [Polkadot{.js}](https://github.com/polkadot-js/extension) :green_circle:, [Polkadot-Js-Plus-Extension](https://github.com/Nick-1979/polkadot-Js-Plus-extension) :green_circle:, [SubWallet-Extension](https://github.com/Koniverse/SubWallet-Extension) :green_circle:, [Doter](https://github.com/ChainBridgeNetworkTeam/Doter) :red_circle:, [Enzyme](https://github.com/blockxlabs/enzyme/) :red_circle:, [Speckle OS](https://github.com/GetSpeckle/speckle-browser-extension) :red_circle:| Sign-in with your polkadot, kusama, etc. account. | Mobile Wallets| [Lunie](https://github.com/luniehq/lunie) :red_circle:, [Polkawallet](https://github.com/polkawallet-io/polkawallet-flutter) :red_circle:, [Parity Signer](https://github.com/paritytech/parity-signer) :green_circle:, [imToken](https://github.com/consenlabs/token-core) :red_circle:, [Fearless Wallet Android](https://github.com/soramitsu/fearless-Android) :green_circle:, [Fearless Wallet iOS](https://github.com/soramitsu/fearless-iOS) :green_circle:, [Stylo](https://github.com/stylo-app/stylo) :green_circle:, [Nova Wallet](https://github.com/nova-wallet/nova-utils) :green_circle:, [Fractapp](https://github.com/fractapp/fractapp/) :red_circle: | Burner Wallets/Faucet| [KodaDot](https://github.com/vue-polkadot/apps) :red_circle:, [Astar Faucet Bot](https://github.com/AstarNetwork/astar-faucet-bot) :yellow_circle:| Faucet (a sybil-resistant way to receive free tokens) | CLI Wallet | [Subwallet](https://github.com/yxf/subwallet) :red_circle:, [Proxy-hot-wallet](https://github.com/canontech/proxy-hot-wallet) :red_circle: @@ -86,7 +86,7 @@ In the below sections you can find a list of different layers of the Polkadot St | Bridge UI | [Parity Bridges UI](https://github.com/paritytech/parity-bridges-ui) :red_circle:, [Donut Interface (Steem <> Dot)](https://github.com/nutbox-dao/donut-interface) :red_circle:| | | Parachain/Crowdloan | [Parachains.Network](https://github.com/jhonalino/parachains.network) :red_circle:, [PolkAuction](https://github.com/CrommVardek/polk-auction-ui) :yellow_circle:| | | Identicon | [PolkadotWebIdenticon](https://github.com/RidOne-technologies/polkadot-web-identicon) :red_circle:, [Polkadot Angular IdentIcon](https://github.com/RidOne-technologies/polkadot-angular-identicon) :red_circle:, [Bird Identicon](https://github.com/Noc2/Bird-Identicon) :red_circle:| -| Other | [KappaSigmaMu Fratority](https://github.com/KappaSigmaMu/ksm-app) :green_circle:, [Quadratic Funding Webapp](https://github.com/OAK-Foundation/quadratic-funding-webapp) :red_circle:, [Polkawatch](https://gitlab.com/polkawatch/polkawatch), [Bytepay](https://github.com/bytepayment/bytepay) :green_circle:, [charging-management-platform](https://github.com/Delmonicos/charging-management-platform) :yellow_circle:, [subidentity-webapp](https://github.com/TDSoftware/subidentity-webapp) :green_circle:, [OpenSquare Paid QA](https://github.com/opensquare-network/paid-qa/) :green_circle:| Portfolio Viewer like Zapper or Zerion +| Other | [KappaSigmaMu Fratority](https://github.com/KappaSigmaMu/ksm-app) :green_circle:, [Quadratic Funding Webapp](https://github.com/OAK-Foundation/quadratic-funding-webapp) :red_circle:, [Polkawatch](https://gitlab.com/polkawatch/polkawatch), [Bytepay](https://github.com/bytepayment/bytepay) :yellow_circle:, [charging-management-platform](https://github.com/Delmonicos/charging-management-platform) :red_circle:, [subidentity-webapp](https://github.com/TDSoftware/subidentity-webapp) :green_circle:, [OpenSquare Paid QA](https://github.com/opensquare-network/paid-qa/) :green_circle:| Portfolio Viewer like Zapper or Zerion ### :wrench: Tools, APIs and Languages @@ -97,11 +97,11 @@ In the below sections you can find a list of different layers of the Polkadot St |Substrate Contract clients | [PatractGo](https://github.com/patractlabs/go-patract) :red_circle:| | | SCALE Codec | [Rust](https://github.com/paritytech/parity-scale-codec) :green_circle:, [Python](https://github.com/polkascan/py-scale-codec) :green_circle:, [Golang Chainsafe](https://github.com/ChainSafe/gossamer/tree/development/lib/scale) :green_circle:, [Golang Itering](https://github.com/itering/scale.go) :green_circle:, [C](https://github.com/MatthewDarnell/cScale) :red_circle:, [C++](https://github.com/soramitsu/scale-codec-cpp) :red_circle:, [JavaScript](https://github.com/polkadot-js/api) :green_circle:, [AssemblyScript](https://github.com/LimeChain/as-scale-codec) :red_circle:, [Haskell](https://github.com/airalab/hs-web3/tree/master/src/Codec) :green_circle:, [Java](https://github.com/emeraldpay/polkaj) :yellow_circle:, [Ruby](https://github.com/itering/scale.rb) :red_circle:, [Dart](https://github.com/nbltrust/dart-scale-codec) :red_circle:, [Swift](https://github.com/tesseract-one/swift-scale-codec) :red_circle:, [PHP](https://github.com/gmajor-encrypt/php-scale-codec) :red_circle:, [JavaScript by Soramitsu](https://github.com/soramitsu/scale-codec-js-library) :yellow_circle:| | Easy Runtime Development | [VS Code Plugin](https://github.com/everstake/vscode-plugin-substrate) :red_circle:, [Atom Code Plugin](https://github.com/everstake/atom-plugin-substrate) :red_circle:, [Substrate Playground](https://github.com/paritytech/substrate-playground) :green_circle:, [Substrate Marketplace VS Code Plugin](https://github.com/paritytech/vscode-substrate) :red_circle:, [AssemblyScript Runtime Generation](https://github.com/LimeChain/as-substrate-runtime) :red_circle:, [Substrate Package Manager](https://github.com/clearloop/sup) :red_circle:, [Subsembly: Framework for developing AssemblyScript Substrate Runtimes](https://github.com/LimeChain/subsembly) :red_circle:, [dependency diener](https://github.com/bkchr/diener) :green_circle:| | -| Easy Smart Contract Development | [Typechain Polkadot](https://github.com/Supercolony-net/typechain-polkadot), [ink-playground](https://github.com/staketechnologies/ink-playground/tree/master) :red_circle:, [Ink! Remix Plugin](https://github.com/blockchain-it-hr/ink-remix-plugin) :red_circle: +| Easy Smart Contract Development | [Typechain Polkadot](https://github.com/Supercolony-net/typechain-polkadot) :green_circle:, [ink-playground](https://github.com/staketechnologies/ink-playground/tree/master) :red_circle:, [Ink! Remix Plugin](https://github.com/blockchain-it-hr/ink-remix-plugin) :red_circle: | Runtime Security | [K specifications](https://github.com/kframework/wasm-semantics) :yellow_circle:, [PolPatrol - Polkadot Runtime Checker](https://github.com/ChainSecurity/polpatrol) :red_circle:| Automated Runtime checking tools, economic audit simulator such as [gauntlet.network](https://gauntlet.network/) -| Smart Contract Languages | [Ask!](https://github.com/ask-lang/ask) :green_circle:, [Subscript](https://github.com/slickup/subscript) :red_circle:, [Solang](https://github.com/hyperledger-labs/solang) :green_circle:, [Ink!](https://github.com/paritytech/ink) :green_circle:, [Move VM Substrate](https://github.com/pontem-network/sp-move) :red_circle:, [Move smart contract by Neatcoin](https://github.com/neatcoin/neatcoin) :red_circle:, [Sol2Ink](https://github.com/Supercolony-net/sol2ink) :yellow_circle:| Functional Programming Languages, other languages with developed toolchains | -| Smart Contract Security | [Vanguard](https://github.com/Veridise/Vanguard) | -| Testing | [Halva](https://github.com/halva-suite/halva) :red_circle:, [Ink Waterfall](https://github.com/paritytech/ink-waterfall) :yellow_circle:, [Redspot](https://github.com/patractlabs/redspot) :red_circle:, [MixBytes Tank](https://github.com/mixbytes/tank) :red_circle:, [sub-flood](https://github.com/NikVolf/sub-flood) :red_circle:, [Substrate debug-kit](https://github.com/paritytech/substrate-debug-kit) :red_circle:, [Dotscale - SCALE Codec Comparator](https://github.com/arijitAD/dotscale) :red_circle:, [Asset CLI tool](https://github.com/JesseAbram/asset_cli_tool) :green_circle:, [sub_crash](https://github.com/JesseAbram/unfinished_testing_tool) :red_circle:, [subwasm](https://github.com/chevdor/subwasm) :green_circle:, [subsee](https://github.com/ascjones/subsee) :red_circle:, [polkadot-lab](https://github.com/w3f/polkadot-lab) :red_circle:, [Zombienet](https://github.com/paritytech/zombienet) :green_circle:, [RPC-perf](https://github.com/dwellir-public/rpc-perf/) :green_circle: +| Smart Contract Languages | [Ask!](https://github.com/ask-lang/ask) :green_circle:, [Subscript](https://github.com/slickup/subscript) :red_circle:, [Solang](https://github.com/hyperledger-labs/solang) :green_circle:, [Ink!](https://github.com/paritytech/ink) :green_circle:, [Move VM Substrate](https://github.com/pontem-network/sp-move) :red_circle:, [Move smart contract by Neatcoin](https://github.com/neatcoin/neatcoin) :red_circle:, [Sol2Ink](https://github.com/Supercolony-net/sol2ink) :green_circle:| Functional Programming Languages, other languages with developed toolchains | +| Smart Contract Security | [Vanguard](https://github.com/Veridise/Vanguard) :yellow_circle:| +| Testing | [Halva](https://github.com/halva-suite/halva) :red_circle:, [Ink Waterfall](https://github.com/paritytech/ink-waterfall) :yellow_circle:, [Redspot](https://github.com/patractlabs/redspot) :red_circle:, [MixBytes Tank](https://github.com/mixbytes/tank) :red_circle:, [sub-flood](https://github.com/NikVolf/sub-flood) :red_circle:, [Substrate debug-kit](https://github.com/paritytech/substrate-debug-kit) :red_circle:, [Dotscale - SCALE Codec Comparator](https://github.com/arijitAD/dotscale) :red_circle:, [Asset CLI tool](https://github.com/JesseAbram/asset_cli_tool) :yellow_circle:, [sub_crash](https://github.com/JesseAbram/unfinished_testing_tool) :red_circle:, [subwasm](https://github.com/chevdor/subwasm) :yellow_circle:, [subsee](https://github.com/ascjones/subsee) :red_circle:, [polkadot-lab](https://github.com/w3f/polkadot-lab) :red_circle:, [Zombienet](https://github.com/paritytech/zombienet) :green_circle:, [RPC-perf](https://github.com/dwellir-public/rpc-perf/) :yellow_circle: | Testnet | [Polkadot Launch](https://github.com/paritytech/polkadot-launch) :green_circle:, [polkadot-starship](https://github.com/koute/polkadot-starship) :red_circle:, [Fork off Substrate](https://github.com/maxsam4/fork-off-substrate) :red_circle:, [Parachain Launch](https://github.com/open-web3-stack/parachain-launch) :green_circle:| | Benchmarking | [Substrate Graph Benchmarks](https://github.com/shawntabrizi/substrate-graph-benchmarks) :red_circle:| | Blockchain Indexing Engine | [Substrate Archive](https://github.com/paritytech/substrate-archive) :yellow_circle:, [PSQL Indexer](https://github.com/usetech-llc/polkadot_psql_indexer) :red_circle:, [Polkadothub Indexer](https://github.com/figment-networks/polkadothub-indexer) :green_circle:, [Substrate Graph](https://github.com/playzero/substrate-graph) :yellow_circle:, [Hydra](https://github.com/subsquid/hydra) :red_circle:, [Subquery](https://github.com/OnFinality-io/subql) :green_circle:, [Polkadot Profit Transformer](https://github.com/p2p-org/polkadot-profit-transformer) :green_circle:| @@ -110,7 +110,7 @@ In the below sections you can find a list of different layers of the Polkadot St | No-code Platforms | [EzCode's Polkadot.js plugin on Bubble.io](https://github.com/NovaBloq/Bubble-Plugin-Polkadot.js) :red_circle:, [Blackprint Visual Programming Polkadot.js module](https://github.com/Blackprint/nodes-polkadot.js) :green_circle:| | | XCM | [XCM-tools](https://github.com/PureStake/xcm-tools) :green_circle:| | | Wallet Connection | [Tesseract](https://github.com/tesseract-one/Tesseract.rs) :yellow_circle:, [WalletConnect](https://github.com/WalletConnect-Labs/walletconnect-v2-monorepo) :grey_question:| | -| Other | [open-web3 JS library](https://github.com/open-web3-stack/open-web3.js) :green_circle:, [VM-Bridge](https://github.com/CycanTech/GVM-Bridge) :red_circle:, [srtool](https://github.com/paritytech/srtool) :green_circle:, [Substrate Tip Bot](https://github.com/paritytech/substrate-tip-bot) :green_circle:, [ORI (Onchain Risk Intelligence)](https://github.com/syntifi/ori) :red_circle:, [PolkaTools](https://github.com/albertov19/PolkaTools) :green_circle:, [polkadot-scripts](https://github.com/paritytech/polkadot-scripts) :yellow_circle:, [Static analyzer for Substrate FRAME's pallets](https://github.com/simon-perriard/saft) :green_circle:, [Sube](https://github.com/virto-network/sube) :red_circle:, [data-store-sidecar](https://github.com/CESSProject/data-store-sidecar) :green_circle:, [Dual-Key Stealth Address Protocol](https://github.com/GreenLemonProtocol/dksap-polkadot/) +| Other | [open-web3 JS library](https://github.com/open-web3-stack/open-web3.js) :green_circle:, [VM-Bridge](https://github.com/CycanTech/GVM-Bridge) :red_circle:, [srtool](https://github.com/paritytech/srtool) :yellow_circle:, [Substrate Tip Bot](https://github.com/paritytech/substrate-tip-bot) :green_circle:, [ORI (Onchain Risk Intelligence)](https://github.com/syntifi/ori) :red_circle:, [PolkaTools](https://github.com/albertov19/PolkaTools) :green_circle:, [polkadot-scripts](https://github.com/paritytech/polkadot-scripts) :yellow_circle:, [Static analyzer for Substrate FRAME's pallets](https://github.com/simon-perriard/saft) :green_circle:, [Sube](https://github.com/virto-network/sube) :red_circle:, [data-store-sidecar](https://github.com/CESSProject/data-store-sidecar) :green_circle:, [Dual-Key Stealth Address Protocol](https://github.com/GreenLemonProtocol/dksap-polkadot/) :green_circle: ### :memo: ink Smart Contracts @@ -121,7 +121,7 @@ In the below sections you can find a list of different layers of the Polkadot St | Gaming | [Open Emoji Battler](https://github.com/OpenEmojiBattler/open-emoji-battler) :green_circle:, [NewOmega](https://github.com/WiktorStarczewski/newomega.polkadot/blob/master/newomega_delegator/newomega/newomega.rs) :red_circle:| | | DAO | [subDAO](https://github.com/SubDAO-Network/subDAO-contracts) :red_circle:, [RainbowDAO](https://github.com/RainbowcityFoundation/RainbowDAO-Protocol-Ink-milestone_1) :red_circle:| | | Spam Protection | [Prosopo](https://github.com/prosopo-io/integration) :green_circle:| | -| Other | [Candle Auctions](https://github.com/agryaznov/candle-auction-ink) :red_circle:, [polkasign-contract](https://github.com/SubDAO-Network/polkasign-contract) :red_circle:, [OCEX](https://github.com/bsn-si/ocex-cli) :green_circle:, [Roloi](https://github.com/RoloiMoney/roloi-polkadot-w3f-grant) :green_circle:| | +| Other | [Candle Auctions](https://github.com/agryaznov/candle-auction-ink) :red_circle:, [polkasign-contract](https://github.com/SubDAO-Network/polkasign-contract) :red_circle:, [OCEX](https://github.com/bsn-si/ocex-cli) :yellow_circle:, [Roloi](https://github.com/RoloiMoney/roloi-polkadot-w3f-grant) :green_circle:| | ### :link: Chains and Pallets @@ -129,15 +129,15 @@ In the below sections you can find a list of different layers of the Polkadot St | Components | Existing projects | Potentially interesting projects |-|-|- | Scalable Transactions | [Perun channels](https://github.com/perun-network/perun-polkadot-pallet) :yellow_circle:, [CLI demo of Perun](https://github.com/perun-network/perun-polkadot-demo) :red_circle:, [Astar](https://github.com/AstarNetwork/Astar) :green_circle:, [Celer](https://github.com/celer-network/cChannel-substrate) :red_circle:, [Gunclear](https://github.com/GunClear/Gunero) :red_circle:| roll-ups, DAG-based consensus mechanisms, side chains | -| Bridges | [interBTC](https://github.com/interlay/interbtc) :green_circle:, [ChainBridge](https://github.com/centrifuge/ChainBridge/) :green_circle:, [EOS by Bifrost](https://github.com/bifrost-finance/bifrost-eos-relay) :red_circle:, [POA <> Substrate](https://github.com/paritytech/parity-bridge) :red_circle:, [Substrate <> Ethereum DAI Bridge](https://github.com/akropolisio/POC-polkadai-bridge) :red_circle:, [Substrate <> Substrate Bridge](https://github.com/paritytech/substrate-bridge-relay) :red_circle:, [BTC by ChainX](https://github.com/chainx-org/ChainX) :yellow_circle:, [Cosmos-Substrate bridge](https://github.com/ChorusOne/wormhole-bridge) :red_circle:, [Substrate IBC Pallet](https://github.com/octopus-network/substrate-ibc) :yellow_circle:, [Polkadot Ethereum Bridge](https://github.com/Snowfork/polkadot-ethereum) :green_circle:, [Darwinia](https://github.com/darwinia-network/darwinia) :green_circle:, [Stellar/DeFi Bridge by Pendulum](https://github.com/pendulum-chain/spacewalk) :red_circle:, [Filecoindot](https://github.com/ChainSafe/filecoindot) :red_circle:| ZCash | -| Privacy | [Webb Anon](https://github.com/webb-tools/anon) :red_circle:, [ZeroChain](https://github.com/LayerXcom/zero-chain) :red_circle:, [pLibra (Phala Network)](https://github.com/Phala-Network/phala-blockchain) :green_circle:, [Automata Network](https://github.com/automata-network/automata) :green_circle:, [zCloak Network](https://github.com/zCloak-Network/zcloak-node) :red_circle:, [Zero Network](https://github.com/zero-network/zero) :green_circle:| [Multi-Asset Shielded Pool (MASP)](https://github.com/anoma/masp) , [Zkay](https://arxiv.org/pdf/2009.01020.pdf), [Zexe](https://eprint.iacr.org/2018/962.pdf) +| Bridges | [interBTC](https://github.com/interlay/interbtc) :green_circle:, [ChainBridge](https://github.com/centrifuge/ChainBridge/) :green_circle:, [EOS by Bifrost](https://github.com/bifrost-finance/bifrost-eos-relay) :red_circle:, [POA <> Substrate](https://github.com/paritytech/parity-bridge) :red_circle:, [Substrate <> Ethereum DAI Bridge](https://github.com/akropolisio/POC-polkadai-bridge) :red_circle:, [Substrate <> Substrate Bridge](https://github.com/paritytech/substrate-bridge-relay) :red_circle:, [BTC by ChainX](https://github.com/chainx-org/ChainX) :yellow_circle:, [Cosmos-Substrate bridge](https://github.com/ChorusOne/wormhole-bridge) :red_circle:, [Substrate IBC Pallet](https://github.com/octopus-network/substrate-ibc) :yellow_circle:, [Polkadot Ethereum Bridge](https://github.com/Snowfork/polkadot-ethereum) :green_circle:, [Darwinia](https://github.com/darwinia-network/darwinia) :green_circle:, [Stellar/DeFi Bridge by Pendulum](https://github.com/pendulum-chain/spacewalk) :yellow_circle:, [Filecoindot](https://github.com/ChainSafe/filecoindot) :red_circle:| ZCash | +| Privacy | [Webb Anon](https://github.com/webb-tools/anon) :red_circle:, [ZeroChain](https://github.com/LayerXcom/zero-chain) :red_circle:, [pLibra (Phala Network)](https://github.com/Phala-Network/phala-blockchain) :green_circle:, [Automata Network](https://github.com/automata-network/automata) :yellow_circle:, [zCloak Network](https://github.com/zCloak-Network/zcloak-node) :red_circle:, [Zero Network](https://github.com/zero-network/zero) :yellow_circle:| [Multi-Asset Shielded Pool (MASP)](https://github.com/anoma/masp) , [Zkay](https://arxiv.org/pdf/2009.01020.pdf), [Zexe](https://eprint.iacr.org/2018/962.pdf) | ZKP | [ZeroPool](https://github.com/zeropoolnetwork/zeropool-substrate-groth16-example) :red_circle:, [Megaclite](https://github.com/patractlabs/megaclite) :red_circle:, [zkMega](https://github.com/patractlabs/zkmega) :red_circle:, [PLONK for Substrate](https://github.com/AstarNetwork/plonk) :yellow_circle:, [Webb Anchor Protocol](https://github.com/webb-tools/protocol-substrate) :green_circle:| | TEE | [Integritee](https://github.com/integritee-network/worker) :green_circle:, [substraTEE](https://github.com/scs/substraTEE) :red_circle: -| DeFi | [Diora](https://github.com/Diora-Network/Diora) :green_circle:, [Pendulum Chain](https://github.com/pendulum-chain/pendulum) :green_circle:, [Compound Gateway](https://github.com/compound-finance/gateway) :red_circle:, [Parallel Finance](https://github.com/parallel-finance/parallel) :green_circle:, [PINT](https://github.com/ChainSafe/PINT) :red_circle:, [Laminar Chain](https://github.com/laminar-protocol/laminar-chain) :red_circle:, [Acala](https://github.com/AcalaNetwork/Acala) :green_circle:, [Centrifuge](https://github.com/centrifuge/centrifuge-chain) :green_circle:, [Stafi](https://github.com/stafiprotocol/stafi-node) :red_circle:, [Definex](https://github.com/y2labs-0sh/definex) :red_circle:, [OAX Foundation](https://github.com/OAXFoundation/parrot) :red_circle:, [Cybex](https://github.com/alexxuyang/substrate-dex) :red_circle:, [Zenlink](https://github.com/zenlinkpro/pallet-zenlink) :red_circle:, [Swaps Pallet](https://github.com/lsaether/pallet-swaps) :red_circle:, [Polkadex](https://github.com/Polkadex-Substrate/Polkadex/tree/master) :yellow_circle:, [SubDEX](https://github.com/subdarkdex/subdex-parachain) :red_circle:, [HydraDX](https://github.com/galacticcouncil/hack.HydraDX-node) :green_circle:, [Substrate Stablecoin](https://github.com/apopiak/stablecoin) :red_circle:, [Standard protocol](https://github.com/digitalnativeinc/standard-substrate) :red_circle:, [Polkaswap](https://github.com/sora-xor/sora2-network) :green_circle:, [Curve AMM](https://github.com/equilibrium-eosdt/equilibrium-curve-amm) :red_circle:, [Konomi Network](https://github.com/konomi-network/cumulus/) :red_circle:, [Composable Finance](https://github.com/ComposableFi/composable) :green_circle:, [Stable Asset](https://github.com/nutsfinance/stable-asset) :red_circle:, [Libra Payment](https://github.com/atscaletech/libra) :green_circle:, [Mangata](https://github.com/mangata-finance/mangata-node) :green_circle:, [Tidechain](https://github.com/tidelabs/tidechain) :green_circle:| DEX with privacy and confidentiality features such as those found in a [dark pool](https://en.wikipedia.org/wiki/Dark_pool) +| DeFi | [Diora](https://github.com/Diora-Network/Diora) :green_circle:, [Pendulum Chain](https://github.com/pendulum-chain/pendulum) :green_circle:, [Compound Gateway](https://github.com/compound-finance/gateway) :red_circle:, [Parallel Finance](https://github.com/parallel-finance/parallel) :green_circle:, [PINT](https://github.com/ChainSafe/PINT) :red_circle:, [Laminar Chain](https://github.com/laminar-protocol/laminar-chain) :red_circle:, [Acala](https://github.com/AcalaNetwork/Acala) :green_circle:, [Centrifuge](https://github.com/centrifuge/centrifuge-chain) :green_circle:, [Stafi](https://github.com/stafiprotocol/stafi-node) :red_circle:, [Definex](https://github.com/y2labs-0sh/definex) :red_circle:, [OAX Foundation](https://github.com/OAXFoundation/parrot) :red_circle:, [Cybex](https://github.com/alexxuyang/substrate-dex) :red_circle:, [Zenlink](https://github.com/zenlinkpro/pallet-zenlink) :red_circle:, [Swaps Pallet](https://github.com/lsaether/pallet-swaps) :red_circle:, [Polkadex](https://github.com/Polkadex-Substrate/Polkadex/tree/master) :yellow_circle:, [SubDEX](https://github.com/subdarkdex/subdex-parachain) :red_circle:, [HydraDX](https://github.com/galacticcouncil/hack.HydraDX-node) :green_circle:, [Substrate Stablecoin](https://github.com/apopiak/stablecoin) :red_circle:, [Standard protocol](https://github.com/digitalnativeinc/standard-substrate) :red_circle:, [Polkaswap](https://github.com/sora-xor/sora2-network) :green_circle:, [Curve AMM](https://github.com/equilibrium-eosdt/equilibrium-curve-amm) :red_circle:, [Konomi Network](https://github.com/konomi-network/cumulus/) :red_circle:, [Composable Finance](https://github.com/ComposableFi/composable) :green_circle:, [Stable Asset](https://github.com/nutsfinance/stable-asset) :green_circle:, [Libra Payment](https://github.com/atscaletech/libra) :green_circle:, [Mangata](https://github.com/mangata-finance/mangata-node) :green_circle:, [Tidechain](https://github.com/tidelabs/tidechain) :green_circle:| DEX with privacy and confidentiality features such as those found in a [dark pool](https://en.wikipedia.org/wiki/Dark_pool) | Smart contract chains | [moonbeam](https://github.com/PureStake/moonbeam) :green_circle:, [Edgeware](https://github.com/hicommonwealth/edgeware-node) :red_circle:, [ParaState](https://github.com/ParaState/substrate-ssvm-node) :red_circle:, [gear](https://github.com/gear-tech/gear) :green_circle:, [CENNZnet](https://github.com/cennznet/cennznet) :green_circle:, [SkyeKiwi](https://github.com/skyekiwi/skyekiwi-network) :yellow_circle:, [OAK-blockchain](https://github.com/OAK-Foundation/OAK-blockchain) :green_circle:, [ICE Blockchain](https://github.com/web3labs/ice-substrate) :green_circle:| smart contract chains with novel security approaches, smart contract chains based on existing toolchains| | Oracle | [Laminar](https://github.com/laminar-protocol/open-runtime-module-library/tree/master/oracle) :green_circle:, [Parallel Finance](https://github.com/parallel-finance/parallel/blob/feature-oracle/pallets/ocw-oracle/src/lib.rs) :green_circle:, [Chainlink-polkadot](https://github.com/smartcontractkit/chainlink-polkadot) :red_circle:, [Ares Protocol](https://github.com/aresprotocols/ares) :green_circle:, [Kylin Network](https://github.com/Kylin-Network/kylin-node) :green_circle:, [interbtc-clients oracle](https://github.com/interlay/interbtc-clients/tree/master/oracle) :green_circle:, [Anonima](https://github.com/webb-tools/anonima) :red_circle:, [Apollo](https://github.com/ComposableFi/composable/tree/main/frame/oracle) :green_circle: | Identity/DID | [Litentry](https://github.com/litentry/litentry-runtime) :red_circle:, [pallet-did](https://github.com/substrate-developer-hub/pallet-did) :red_circle:, [dot-id](https://github.com/prasad-kumkar/dot-id) :red_circle: -| IoT | [Nodle](https://github.com/NodleCode/chain) :green_circle:, [MXC/DataHighway](https://github.com/DataHighway-DHX/node) :red_circle:, [peaq-network-node](https://github.com/peaqnetwork/peaq-network-node) :yellow_circle: +| IoT | [Nodle](https://github.com/NodleCode/chain) :green_circle:, [MXC/DataHighway](https://github.com/DataHighway-DHX/node) :red_circle:, [peaq-network-node](https://github.com/peaqnetwork/peaq-network-node) :red_circle: | Verifiable Claims | [KILT](https://github.com/KILTprotocol/kilt-node) :green_circle:, [Dock](https://github.com/docknetwork/dock-substrate) :green_circle:, [Fennel Protocol](https://github.com/fennelLabs/Fennel-Protocol) :yellow_circle: | Supply chain| | | | Health care| [AriaHealth](https://github.com/AriaHealth/MetaNetwork) :red_circle:| | @@ -153,11 +153,11 @@ In the below sections you can find a list of different layers of the Polkadot St | NFT | [ternoa](https://github.com/capsule-corp-ternoa/chain) :green_circle:, [FRAME Pallet: NFTs for Substrate](https://github.com/danforbes/pallet-nft) :red_circle:, [Unique NFT Parachain](https://github.com/UniqueNetwork/unique-chain) :green_circle:, [DNFT](https://github.com/DNFT-Team/dnft-substrate-node/tree/master/pallets) :red_circle:, [RMRK-Substrate](https://github.com/rmrk-team/rmrk-substrate) :green_circle: | Randomness | [DKG and Randomness Beacon](https://github.com/Cardinal-Cryptography/substrate/tree/randomness-beacon) :yellow_circle: | Licensing | [Anagolay Network](https://github.com/anagolay/anagolay-chain) :green_circle:| -| Banking Integration | [FIAT on-off-ramp](https://github.com/element36-io/ebics-java-service) :green_circle: +| Banking Integration | [FIAT on-off-ramp](https://github.com/element36-io/ebics-java-service) :yellow_circle: | Crowdfunding | [Imbue Network](https://github.com/ImbueNetwork/imbue) :green_circle:, [Quadratic Funding pallet by Dora](https://github.com/zhangjiannan/QFgrant) :red_circle:, [Quadratic Funding pallet by OAK](https://github.com/OAK-Foundation/quadratic-funding-pallet/tree/master) :red_circle:| [Minimum Anti-Collusion Infrastructure (MACI)](https://ethresear.ch/t/minimal-anti-collusion-infrastructure/5413) | Licensing | [Anagolay Network](https://github.com/anagolay/anagolay-chain) :green_circle:| | Collection of Pallets | [Substrate Open Runtime Module Library](https://github.com/open-web3-stack/open-runtime-module-library) :green_circle:, [warehouse](https://github.com/galacticcouncil/warehouse) :green_circle:, [InvArch FRAME Pallet Library](https://github.com/InvArch/InvArch-Frames) :yellow_circle:| -| Other | [Substrate Account Filter](https://github.com/gautamdhameja/substrate-account-filter) :red_circle:, [Subtensor](https://github.com/opentensor/subtensor) :green_circle:, [BitGreen](https://github.com/bitgreen/bitg-node) :yellow_circle:, [AdMeta](https://github.com/AdMetaNetwork/admeta) :green_circle:, [Chocolate Node](https://github.com/chocolatenetwork/chocolate-node) :green_circle:, [Virto Network](https://github.com/virto-network/virto-node) :yellow_circle:, [Substrate Validator Set](https://github.com/gautamdhameja/substrate-validator-set) :green_circle:, [DEIP](https://github.com/DEIPworld/deip-node) :green_circle:, [DeBio](https://github.com/debionetwork/debio-node) :green_circle:, [MathChain](https://github.com/mathwallet/MathChain) :red_circle:, [encointer](https://github.com/encointer/encointer-node) :green_circle:, [Grassland](https://github.com/grasslandnetwork/substrate_node) :red_circle:, [Substrate-Tutorials](https://github.com/rusty-crewmates/substrate-tutorials) :green_circle:, [Fair Squares](https://github.com/Fair-Squares/fair-squares) :green_circle:, [Totem Live Accounting](https://github.com/totem-tech/totem) :red_circle:| Decentralized review/reputation system +| Other | [Substrate Account Filter](https://github.com/gautamdhameja/substrate-account-filter) :red_circle:, [Subtensor](https://github.com/opentensor/subtensor) :green_circle:, [BitGreen](https://github.com/bitgreen/bitg-node) :green_circle:, [AdMeta](https://github.com/AdMetaNetwork/admeta) :green_circle:, [Chocolate Node](https://github.com/chocolatenetwork/chocolate-node) :green_circle:, [Virto Network](https://github.com/virto-network/virto-node) :yellow_circle:, [Substrate Validator Set](https://github.com/gautamdhameja/substrate-validator-set) :green_circle:, [DEIP](https://github.com/DEIPworld/deip-node) :green_circle:, [DeBio](https://github.com/debionetwork/debio-node) :green_circle:, [MathChain](https://github.com/mathwallet/MathChain) :red_circle:, [encointer](https://github.com/encointer/encointer-node) :green_circle:, [Grassland](https://github.com/grasslandnetwork/substrate_node) :red_circle:, [Substrate-Tutorials](https://github.com/rusty-crewmates/substrate-tutorials) :green_circle:, [Fair Squares](https://github.com/Fair-Squares/fair-squares) :green_circle:, [Totem Live Accounting](https://github.com/totem-tech/totem) :red_circle:| Decentralized review/reputation system ### :black_circle: Host @@ -186,7 +186,7 @@ In the below sections you can find a list of different layers of the Polkadot St |-|-|- | SR25519 | [rust](https://github.com/w3f/schnorrkel) :green_circle:(contains partial bindings for C, JavaScript, and Python), [.Net bindings](https://github.com/gautamdhameja/sr25519-dotnet) :red_circle:, [C](https://github.com/usetech-llc/sr25519) :red_circle:*(old)*, [C](https://github.com/TerenceGe/sr25519-donna) :red_circle:*(new)*, [C/C++](https://github.com/soramitsu/soramitsu-sr25519-crust) :red_circle:, [C#](https://github.com/usetech-llc/sr25519_dotnet) :red_circle:, [Go](https://github.com/ChainSafe/go-schnorrkel) :green_circle:, [java](https://github.com/debuggor/schnorrkel-java) :red_circle:, [PHP](https://github.com/gmajor-encrypt/sr25519-bindings) :yellow_circle: | Distributed key generation (DKG) | [keygen.rs](https://github.com/isislovecruft/frost-dalek) :red_circle: -| Validator HSMs| [Zondax Remote Signer](https://github.com/Zondax/buildroot-zondax) | +| Validator HSMs| [Zondax Remote Signer](https://github.com/Zondax/buildroot-zondax) :green_circle:| ### :heavy_check_mark: Consensus From 5d1932f77b73a1379d4206dad88e903fe44f6f4b Mon Sep 17 00:00:00 2001 From: ashley grevelink Date: Mon, 8 Aug 2022 01:29:59 -0600 Subject: [PATCH 0062/1872] InvArch completed grant (#1109) --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 8cd9775cb97..9eb3011acbc 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -392,7 +392,7 @@ | [Tesseract](https://tesseract.one/) | Mobile dApps/Wallet Connection | [GitHub](https://github.com/tesseract-one) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Wow Labz](http://www.wowlabz.com) | Dot Marketplace | [GitHub](https://github.com/WowLabz) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Perun Network](https://perun.network/) | Perun Channels - Integration with go-perun | [GitHub](https://github.com/perun-network/) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [InvArchitects](https://www.invarch.io/) | InvArch - IP Infrastructure for Substrate | [GitHub](https://github.com/InvArch) |
  • [ ]
|
  • [x]
|
  • [ ]
| +| [InvArchitects](https://www.invarch.io/) | InvArch - IP Infrastructure for Substrate | [GitHub](https://github.com/InvArch) |
  • [ ]
|
  • [x]
|
  • [x]
| | [SubGame Network](https://subgame.org) | A decentralized game platform Phase 2| [GitHub](https://github.com/SubGame-Network) |
  • [ ]
|
  • [x]
|
  • [x]
| | [CESS LAB](https://www.cess.cloud/) | Cumulus Encrypted Storage System (CESS) | [GitHub](https://github.com/Cumulus2021/Whitepaper) |
  • [ ]
|
  • [x]
|
  • [x]
| | [CheersLand Labs](https://cheersland.org/) | Multi-game Platform for Polkadot & Kusama | [GitHub](https://github.com/cheersland) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From b3b9343540619e6929581835b1bf4b2eca20da43 Mon Sep 17 00:00:00 2001 From: Eljo Prifti Date: Mon, 8 Aug 2022 10:56:52 +0200 Subject: [PATCH 0063/1872] Escrow pallet (#1094) * Create recipes.md * Update recipes.md * Update application-template.md * Update application-template.md * Add escrow_pallet.md doc * Update escrow_pallet.md * Small changes * Remove unneeded file * Add Benchmarking to doc * Remove leftover texts --- applications/escrow_pallet.md | 151 ++++++++++++++++++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100644 applications/escrow_pallet.md diff --git a/applications/escrow_pallet.md b/applications/escrow_pallet.md new file mode 100644 index 00000000000..fa24594c771 --- /dev/null +++ b/applications/escrow_pallet.md @@ -0,0 +1,151 @@ +# W3F Grant Proposal + +- **Project Name:** Escrow Pallet +- **Team Name:** TwinP +- **Payment Address:** TLQQGTvyCzhqCWp3w8pjVaEQU3uYWajRx1 +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 + +## Project Overview + + +### Overview + +- We will build an Escrow pallet. +- The Escrow pallet will help the web3 communities to release funds easier. +- I will use substrate framework to build this pallet. +- My team is happy to create this project because they want to build something for the community. + +### Project Details + +We aim to build a Escrow pallet which will help communities to release funds easier to devs/teams. +I would like to explain the purpose of the project with a real example. +A developer wants to fix/develop a bug/feature. +He requested some funds and his proposal got approved. +Both of the parties (for ex: web3 community and contributor) sign an Escrow contract by defining the Web3 community address, the contributor address, the amount, the expiry date, and “take action days”. +“Take action days” would be some supplement time after the contract has ended for the Web3 to test/check if the bug/feature has been delivered correctly. +Once the contract is signed the Web3 funds will be locked into another address. +During the take action days Web3 can decide to: +1-Send the funds manually to the contributor +2-Withdraw the funds because nothing was delivered +3-Do not take any action during the “take action days” and when these additive days are expired the contributor can withdraw the funds by himself. (This option would reduce the releasing fund steps by giving additional work to the contributor) + +### Ecosystem Fit + +- Substrate learners would have an Escrow pallet as example. +- Web3 companies who would like to release funds in a very easy way. + +## Team + +### Team members + +- MSc Eljo Prifti - Rust developer and Rust community enthusiast. +- Ing Gerti Prifti - Rust developer + +### Contact + +- **Contact Name:** MSc Eljo Prifti +- **Contact Email:** elioprifti@gmail.com +- **Website:** https://www.linkedin.com/in/elioprifti/ + +### Legal Structure + +- **Registered Address:** We do not have any registered address +- **Registered Legal Entity:** We do not have any registered legal entity + +### Team's experience + +Hello, my name is Elio. I have a master's degree in computer science and I have more than 6 years experience as a professional software developer in Android/Java developer in the market. I have been deeply fascinated by blockchain and discovered Substrate. I have spent 1+ year learning/contributing to Rust/Substrate. +I am a contributor to the Substrate recipes repo, taking it upon myself to upgrading Substrate “Kitchen Node” Recipes from v1 to v2, which took 5-6 months working in my spare time. + + +Hello, my name is Gerti. Over the last 5 years, I've been continuously working towards achieving clients' business goals through the application of IT technology. The collaborations I've had working in a few industries brought to life numerous products with an audience of thousands and even millions of users. The secret behind this success was creating an intuitive, visually attractive application customized to the needs of the target clientele. +In addition to the substantial experience working as a Java Enterprise, I've also gained a Master's Degree in Computer Science that has equipped me with a strong knowledge of the newest tools and technologies to create flawless products your clients will enjoy. +The last months I have been curious about Substrate/Rust, and I am learning it on my spare time. + + + +### Team Code Repos + +- https://github.com/JoshOrndorff/recipes/pull/471 +- https://github.com/herou/recipes + +### Team Github +- Eljo : https://github.com/herou +- Gerti: https://github.com/gertt + +### Team LinkedIn Profiles (if available) + +- MSc Eljo Prifti: https://www.linkedin.com/in/elioprifti/ +- Ing Gerti Priftihttps://www.linkedin.com/in/gertiprifti/ + +## Development Status + +We would like to add this pallet to the Subtrate recipes repo. + +- [Substrate recipes](https://github.com/herou/recipes) + +## Development Roadmap + +### Overview + +- **Total Estimated Duration:** 3 months +- Full-Time Equivalent (FTE): 1 FTE +- **Costs:** $9,000 USDT + + +### Milestone 1 — Implement sign functionality + +- Estimated Duration: 1 month +- FTE: 1 +- Costs: $3,000 USDT + + +| Number | Deliverable | Specification | +|-------:|---------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can sign an Escrow contract with another user. | +| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 0e. | Article | We will publish an **article** that explains how an Escrow contract can be created and how can it be used. +| 0f. | Benchmarking | Benchmarking will be provided for sign_contract. +| 1. | Substrate module: sign_contract | We will create a Substrate module that will sign an Escrow contract between two users. | + + +### Milestone 2 — Implement send funds functionality + +- Estimated Duration: 1 month +- FTE: 1 +- Costs: $3,000 USDT + + +| Number | Deliverable | Specification | +|-------:|-----------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------| +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can send funds to the contributor/receiver. | +| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 0e. | Article | We will publish an **article** that explains how an Escrow contract can be created and how can it be used. +| 0f. | Benchmarking | Benchmarking will be provided for send_funds. +| 1. | Substrate module: send_funds | We will create a Substrate module that will send funds to to the contributor/receiver | + +### Milestone 3 — Implement Withdraw funds functionality + +- Estimated Duration: 1 month +- FTE: 1 +- Costs: $3,000 USDT + + +| Number | Deliverable | Specification | +|-------:|----------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------| +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how the funds holders withdraw. | +| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 0e. | Article | We will publish an **article** that explains how an Escrow contract can be created and how can it be used. +| 0f. | Benchmarking | Benchmarking will be provided for withdraw_funds. +| 1. | Substrate module: withdraw_funds | We will create a Substrate module that will withdraw the funds if nothing was delivered. | + + +## Future Plans + +- In the future we may have several senders instead of one and we can also do that during "take action days" if 51% of senders do not want to release funding then the funds can be withdrawn. From da62ee49510f2380af10f46b9719f39f4e9c8437 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 8 Aug 2022 10:58:45 +0200 Subject: [PATCH 0064/1872] Update accepted_grant_applications.md Escrow Pallet --- docs/accepted_grant_applications.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 9eb3011acbc..5b92a9b1a11 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -528,3 +528,5 @@ | [Jim Yam](https://github.com/JimYam) | daos | [GitHub](https://github.com/daos-org/daos.git) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Green Lemon](https://github.com/GreenLemonProtocol) | Green Lemon Protocol | [GitHub](https://github.com/GreenLemonProtocol) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Stardust Labs Inc.](https://stardust.finance/) | Integrating ISO-8583 | [GitHub](https://github.com/adit313/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [TwinP](https://www.linkedin.com/in/elioprifti/) | Escrow Pallet | [GitHub](https://github.com/herou) |
  • [ ]
|
  • [ ]
|
  • [ ]
| + From 8e3163ed993dbe0363b6051e84b6da61afe2d66c Mon Sep 17 00:00:00 2001 From: Noc2 Date: Mon, 8 Aug 2022 14:02:48 +0200 Subject: [PATCH 0065/1872] Update links in readme --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d835378c71a..cb5f379fb6f 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,7 @@ We also try to enforce our [code of conduct](CODE_OF_CONDUCT.md) and based on th ### Project ideas -An overview of existing projects in the Web 3.0 Technology Stack along with broad project ideas we would potentially be interested in funding can be found [here](docs/polkadot_stack.md), as well as a list of previously accepted applications [here](docs/accepted_grant_applications.md). +An overview of existing projects in the Web 3.0 Technology Stack along with broad project ideas we would potentially be interested in funding can be found [here](https://wiki.polkadot.network/docs/build-open-source), as well as a list of previously accepted applications [here](docs/accepted_grant_applications.md). [Requests For Proposals](rfps) (RFPs) represent concrete ideas for projects that we would like to see implemented. Several teams may apply for the same RFP, so even if another team has already applied to implement a certain RFP, we invite you to do the same if you're interested. @@ -174,11 +174,11 @@ The W3F Grants Program offers different grant levels to help you best depending ## :mailbox_with_mail: Suggest a Project -If you think that we should support the development of certain tools or projects that aren't in the Polkadot/Kusama [tech stack](docs/polkadot_stack.md), feel free to submit a suggestion using the process described below. We are particularly interested in supporting projects that could be leveraged by other builders in our ecosystem. +If you think that we should support the development of certain tools or projects that aren't in the Polkadot/Kusama [tech stack](https://wiki.polkadot.network/docs/build-open-source), feel free to submit a suggestion using the process described below. We are particularly interested in supporting projects that could be leveraged by other builders in our ecosystem. **Submit an idea:** -If you have an idea for a project or would like to highlight an area in which you'd like to see teams build, but lack the technical background to create a detailed outline, you're welcome to open an [issue](https://github.com/w3f/Grants-Program/issues/new) or add it to the [tech stack](docs/polkadot_stack.md) as a potentially interesting project. We will review your suggestion and, if necessary, will create an RFP based on it and reach out to teams able to build it. +If you have an idea for a project or would like to highlight an area in which you'd like to see teams build, but lack the technical background to create a detailed outline, you're welcome to open an [issue](https://github.com/w3f/Grants-Program/issues/new) or add it to the [tech stack](https://wiki.polkadot.network/docs/build-open-source) as a potentially interesting project. We will review your suggestion and, if necessary, will create an RFP based on it and reach out to teams able to build it. **Submit an RFP (Request for Proposals):** From ea51c7a4fb3e327f954ee2ac0dfc29ab54ba1d16 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 8 Aug 2022 14:22:07 +0200 Subject: [PATCH 0066/1872] Update README.md Update https://polkadot.network/treasury/ --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index cb5f379fb6f..ad3ab3a6ce8 100644 --- a/README.md +++ b/README.md @@ -256,7 +256,7 @@ flowchart LR style H stroke:#e83e8c,stroke-width:2px,stroke-dasharray: 5 5 click C "https://github.com/w3f/Grants-Program#pencil-process" "You are already in the right place :)" - click D "https://wiki.polkadot.network/docs/en/learn-treasury" "https://wiki.polkadot.network/docs/en/learn-treasury" _blank + click D "https://polkadot.network/treasury" "https://polkadot.network/treasury/" _blank click F "https://github.com/w3f/Grants-Program#pencil-process" "You are already in the right place :)" click H "https://www.substrate.io/builders-program/" "https://www.substrate.io/builders-program/" _blank ``` @@ -269,7 +269,7 @@ The [Substrate Builders Program](https://substrate.io/ecosystem/substrate-builde The treasury is a pot of on-chain funds collected through transaction fees, slashing, staking inefficiencies, etc. The funds held in the treasury can be spent on spending proposals. Both [Polkadot](https://polkadot.network/) and [Kusama](https://kusama.network/) offer everyone the opportunity to apply for funding via the treasury. See: -- [Treasury Wiki](https://wiki.polkadot.network/docs/en/learn-treasury) +- [Treasury](https://polkadot.network/treasury/) - [Polkadot Treasury Guide](https://docs.google.com/document/d/1IZykdp2cyQavcRyZd_dgNj5DcgxgZR6kAqGdcNARu1w) - [Kusama Treasury Guide](https://docs.google.com/document/d/1p3UQUjph5t8TVaWnTkfrI5mE-BABnM9Xvtuhdlhl6JE) From 5f61d3e245a6810ecd725439f61def3f6317d0e7 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 8 Aug 2022 14:44:23 +0200 Subject: [PATCH 0067/1872] Update polkadot_stack.md --- docs/polkadot_stack.md | 214 +---------------------------------------- 1 file changed, 1 insertion(+), 213 deletions(-) diff --git a/docs/polkadot_stack.md b/docs/polkadot_stack.md index f61ea8ce37a..fe9627f18d3 100644 --- a/docs/polkadot_stack.md +++ b/docs/polkadot_stack.md @@ -1,215 +1,3 @@ # Open Source Polkadot Stack -The goal of this page is to provide an overview of the open-source Polkadot/Kusama Tech Stack. - -This is a living document and we are relying on our community to contribute to it and help maintain it. [**Please feel free to make edits and additions via pull requests**](#construction_worker-contributing). We apologize if we missed your project! - ---- - -- [:clipboard: About](#clipboard-about) -- [:battery: Funding](#battery-funding) -- [:bookmark_tabs: Layers of Polkadot Stack](#bookmark_tabs-layers-of-polkadot-stack) - - [:iphone: User Interface](#iphone-user-interface) - - [:wrench: Tools, APIs and Languages](#wrench-tools-apis-and-languages) - - [:memo: ink Smart Contracts](#memo-ink-smart-contracts) - - [:link: Chains and Pallets](#link-chains-and-pallets) - - [:black_circle: Host](#black_circle-host) - - [:electric_plug: Network Maintenance Tools](#electric_plug-network-maintenance-tools) - - [:black_nib: Signatures](#black_nib-signatures) - - [:heavy_check_mark: Consensus](#heavy_check_mark-consensus) - - [:satellite: Networking](#satellite-networking) -- [:construction_worker: Contributing](#construction_worker-contributing) - -## :clipboard: About - -The Polkadot Tech Stack is a subset of the Web 3.0 Tech Stack, which consists of the **open-source** technologies contributing to and relying on [Polkadot](https://polkadot.network/), [Kusama](https://kusama.network/) and [Substrate](https://substrate.dev/). It is meant to be used for decentralized application (Dapp) development within numerous verticals including DeFi, Gaming, Provenance and many others not pictured below. - - -``` -|------|--------|------------| -| DeFi | Gaming | Provenance | -|______|________|____________| - Dapps -|--------------------------/-| -| Explorers, Wallets / | -|------------------------/---| -| Tools, Apis, Languages/ | -|----------------------/-----| -| 2nd layer protocols / | -|--------------------/-------| -| Chains / other | -|------------------/--- --| -| *Polkadot* | tech | -|------------------\---------| -| P2P, Crypto, Wasm \ | -|--------------------\-------| -``` - -## :battery: Funding - -The Web3 Foundation's [Grants Program](https://github.com/w3f/Grants-Program) is focused on funding development work to build out all layers of the Polkadot Tech Stack. - -To get a better understanding of the projects we consider most relevant, you can explore a detailed breakdown of the various layers of the stack below. We divide each of the layers into the various *components* which we feel are most important. We then highlight some of the *existing projects* that address these components as well as some *potentially interesting projects* that we would like to fund. - -We typically like to fund more than one project for each component. So, if you see a component with 1 or 0 existing projects, it's likely that we would consider an application in this area. In order to consider funding a proposal that addresses a component with many existing projects, we would need to be persuaded that yours brings unique value to the ecosystem. Such value could come in many forms including but not limited to differentiated functionality, better user experience, the attraction of new users to the ecosystem or a high likelihood that the technology would be maintained for a long period of time. - -By describing our areas of priority in detail, we do not wish to preclude grant applications that address different areas that we may not have thought of. We would like to fund all projects that bring value to the ecosystem. If you are considering applying for a project and are not sure if it falls within our areas of interest, please get in touch with us to discuss it. - -For open source infrastructure projects that are no longer maintained, we are also interested in signing [maintenance grants](https://github.com/w3f/Grants-Program#hammer_and_wrench-maintenance-grants). - -## :bookmark_tabs: Layers of Polkadot Stack - -In the below sections you can find a list of different layers of the Polkadot Stack. - -**Maintenance Status**: -- :green_circle: Actively maintained -- :yellow_circle: Stale (no activity since 1 month) -- :red_circle: Unmaintained (no activity for more than 3 months) - -### :iphone: User Interface - -| Components | Existing projects | Potentially interesting projects -|-|-|- -| Desktop/Web Wallets | [Talisman Web Application](https://github.com/TalismanSociety/talisman-web) :green_circle:, [AirGap](https://github.com/airgap-it/airgap-wallet) :green_circle:, [Sakura](https://github.com/w3finance/sakura) :red_circle:| User-friendly Wallet based on the [Recovery Pallet](https://github.com/paritytech/substrate/tree/master/frame/recovery), Web wallets focused on user-onboarding (e.g. using [localStorage](https://github.com/near/near-wallet) ) -| Browser Extensions | [Enkrypt](https://github.com/enkryptcom/enKrypt) :green_circle:, [Polkadot{.js}](https://github.com/polkadot-js/extension) :green_circle:, [Polkadot-Js-Plus-Extension](https://github.com/Nick-1979/polkadot-Js-Plus-extension) :green_circle:, [SubWallet-Extension](https://github.com/Koniverse/SubWallet-Extension) :green_circle:, [Doter](https://github.com/ChainBridgeNetworkTeam/Doter) :red_circle:, [Enzyme](https://github.com/blockxlabs/enzyme/) :red_circle:, [Speckle OS](https://github.com/GetSpeckle/speckle-browser-extension) :red_circle:| Sign-in with your polkadot, kusama, etc. account. -| Mobile Wallets| [Lunie](https://github.com/luniehq/lunie) :red_circle:, [Polkawallet](https://github.com/polkawallet-io/polkawallet-flutter) :red_circle:, [Parity Signer](https://github.com/paritytech/parity-signer) :green_circle:, [imToken](https://github.com/consenlabs/token-core) :red_circle:, [Fearless Wallet Android](https://github.com/soramitsu/fearless-Android) :green_circle:, [Fearless Wallet iOS](https://github.com/soramitsu/fearless-iOS) :green_circle:, [Stylo](https://github.com/stylo-app/stylo) :green_circle:, [Nova Wallet](https://github.com/nova-wallet/nova-utils) :green_circle:, [Fractapp](https://github.com/fractapp/fractapp/) :red_circle: -| Burner Wallets/Faucet| [KodaDot](https://github.com/vue-polkadot/apps) :red_circle:, [Astar Faucet Bot](https://github.com/AstarNetwork/astar-faucet-bot) :yellow_circle:| Faucet (a sybil-resistant way to receive free tokens) -| CLI Wallet | [Subwallet](https://github.com/yxf/subwallet) :red_circle:, [Proxy-hot-wallet](https://github.com/canontech/proxy-hot-wallet) :red_circle: -| Multisignature Wallets| [Subscan Multisig UI - React](https://github.com/itering/subscan-multisig-react) :yellow_circle:, [Subscan Multisig UI](https://github.com/itering/subscan-multisig-ui) :red_circle:, [Dorafactory-Multisig](https://github.com/DoraFactory/dorafactory-multisig) :red_circle:| -| Hardware Wallets | [Ledger Polkadot](https://github.com/ZondaX/ledger-polkadot) :green_circle:, [Ledger Kusama](https://github.com/Zondax/ledger-kusama) :green_circle:| Trezor -| Block Explorers | [Polkaholic](https://github.com/colorfulnotion/polkaholic) :green_circle:, [Polkascan](https://github.com/polkascan/explorer-api) :yellow_circle:, [Polkastats](https://github.com/Colm3na/polkastats-backend) :red_circle:, [Subscan](https://github.com/itering/subscan) :green_circle:, [Statescan](https://github.com/opensquare-network/statescan) :green_circle:, [Edgscan](https://github.com/edgeware-builders/edgscan) :red_circle:| Ink Smart Contract Explorer, Mempool focused explorer (including parachain transaction) -| Validator Dashboards | [Polkacube](https://github.com/hashquark-io/polkacube-frontend) :red_circle:, [YieldScan](https://github.com/buidl-labs/YieldScan) :red_circle:, [Hubble](https://github.com/w3f-community/hubble/tree/master/app/controllers/polkadot) :red_circle: -| Node Explorers | [Polkadot Node Explorer](https://github.com/protos-research/polkadot-node-explorer) :red_circle: -| NFT Explorer | [NFT Explorer for Kusama & Polkadot](https://github.com/kodadot/nft-gallery) :green_circle: -| Governance Dashboards | [Polkassembly](https://github.com/premiurly/polkassembly) :green_circle:, [dotreasury](https://github.com/opensquare-network/dotreasury) :green_circle:, [Bright Treasury](https://github.com/bright/bright-tresury) :red_circle:, [OpenSquare offchain voting](https://github.com/opensquare-network/collaboration) :green_circle:| UI for the kusama and/or polkadot treasury (see [bounty module](https://github.com/paritytech/substrate/pull/5715) ), UI for Parachain Lease Offering (PLO) | -| Staking | [Staking Rewards Collector](https://github.com/w3f/staking-rewards-collector) :yellow_circle:, [Staking Rewards Viewer](https://github.com/jackson-harris-iii/staking-rewards-viewer) :red_circle:, [Polkadot Staking Site](https://github.com/cryptolab-network/polkadot-staking-site) :red_circle:, [Polkadot Staking Dashboard](https://github.com/paritytech/polkadot-staking-dashboard) :green_circle:| -| Bridge UI | [Parity Bridges UI](https://github.com/paritytech/parity-bridges-ui) :red_circle:, [Donut Interface (Steem <> Dot)](https://github.com/nutbox-dao/donut-interface) :red_circle:| | -| Parachain/Crowdloan | [Parachains.Network](https://github.com/jhonalino/parachains.network) :red_circle:, [PolkAuction](https://github.com/CrommVardek/polk-auction-ui) :yellow_circle:| | -| Identicon | [PolkadotWebIdenticon](https://github.com/RidOne-technologies/polkadot-web-identicon) :red_circle:, [Polkadot Angular IdentIcon](https://github.com/RidOne-technologies/polkadot-angular-identicon) :red_circle:, [Bird Identicon](https://github.com/Noc2/Bird-Identicon) :red_circle:| -| Other | [KappaSigmaMu Fratority](https://github.com/KappaSigmaMu/ksm-app) :green_circle:, [Quadratic Funding Webapp](https://github.com/OAK-Foundation/quadratic-funding-webapp) :red_circle:, [Polkawatch](https://gitlab.com/polkawatch/polkawatch), [Bytepay](https://github.com/bytepayment/bytepay) :yellow_circle:, [charging-management-platform](https://github.com/Delmonicos/charging-management-platform) :red_circle:, [subidentity-webapp](https://github.com/TDSoftware/subidentity-webapp) :green_circle:, [OpenSquare Paid QA](https://github.com/opensquare-network/paid-qa/) :green_circle:| Portfolio Viewer like Zapper or Zerion - -### :wrench: Tools, APIs and Languages - -| Components | Existing projects | Potentially interesting projects -|-|-|- -| Parachain | [Parachain utilities](https://github.com/AcalaNetwork/parachain-utilities) :red_circle:, [Gantree](https://github.com/gantree-io/gantree-core) :red_circle:| Tools to create parachains from frameworks used in other ecosystems | -| Client Libraries | [Go](https://github.com/centrifuge/go-substrate-rpc-client) :green_circle:, [.Net](https://github.com/usetech-llc/polkadot_api_dotnet) :red_circle:, [.NET Standard 2.0](https://github.com/ajuna-network/Ajuna.NetApi) :green_circle:, [C++](https://github.com/usetech-llc/polkadot_api_cpp) :red_circle:, [C](https://github.com/finoabanking/substrate-c-tool) :red_circle:, [Haskell](https://github.com/airalab/hs-web3) :green_circle:, [Javascript](https://github.com/polkadot-js/api) :green_circle:, [Substrate API Sidecar - TypeScript](https://github.com/paritytech/substrate-api-sidecar) :green_circle:, [Ruby](https://github.com/itering/scale.rb) :red_circle:, [Python](https://github.com/polkascan/py-substrate-interface) :yellow_circle:, [Java (+ Android)](https://github.com/emeraldpay/polkaj) :yellow_circle:, [Substrate Client Java](https://github.com/strategyobject/substrate-client-java) :green_circle:, [Rust SCS](https://github.com/scs/substrate-api-client) :green_circle:, [Rust Parity](https://github.com/paritytech/substrate-subxt) :green_circle:, [PHP (gmajor-encrypt)](https://github.com/gmajor-encrypt/php-substrate-api) :yellow_circle:, [PHP (neha0921)](https://github.com/neha0921/substrate-interface-package) :red_circle:, [RPC-Ethereum](https://github.com/paritytech/frontier) :green_circle:, [Swift](https://github.com/tesseract-one/Substrate.swift) :red_circle:| | -|Substrate Contract clients | [PatractGo](https://github.com/patractlabs/go-patract) :red_circle:| | -| SCALE Codec | [Rust](https://github.com/paritytech/parity-scale-codec) :green_circle:, [Python](https://github.com/polkascan/py-scale-codec) :green_circle:, [Golang Chainsafe](https://github.com/ChainSafe/gossamer/tree/development/lib/scale) :green_circle:, [Golang Itering](https://github.com/itering/scale.go) :green_circle:, [C](https://github.com/MatthewDarnell/cScale) :red_circle:, [C++](https://github.com/soramitsu/scale-codec-cpp) :red_circle:, [JavaScript](https://github.com/polkadot-js/api) :green_circle:, [AssemblyScript](https://github.com/LimeChain/as-scale-codec) :red_circle:, [Haskell](https://github.com/airalab/hs-web3/tree/master/src/Codec) :green_circle:, [Java](https://github.com/emeraldpay/polkaj) :yellow_circle:, [Ruby](https://github.com/itering/scale.rb) :red_circle:, [Dart](https://github.com/nbltrust/dart-scale-codec) :red_circle:, [Swift](https://github.com/tesseract-one/swift-scale-codec) :red_circle:, [PHP](https://github.com/gmajor-encrypt/php-scale-codec) :red_circle:, [JavaScript by Soramitsu](https://github.com/soramitsu/scale-codec-js-library) :yellow_circle:| -| Easy Runtime Development | [VS Code Plugin](https://github.com/everstake/vscode-plugin-substrate) :red_circle:, [Atom Code Plugin](https://github.com/everstake/atom-plugin-substrate) :red_circle:, [Substrate Playground](https://github.com/paritytech/substrate-playground) :green_circle:, [Substrate Marketplace VS Code Plugin](https://github.com/paritytech/vscode-substrate) :red_circle:, [AssemblyScript Runtime Generation](https://github.com/LimeChain/as-substrate-runtime) :red_circle:, [Substrate Package Manager](https://github.com/clearloop/sup) :red_circle:, [Subsembly: Framework for developing AssemblyScript Substrate Runtimes](https://github.com/LimeChain/subsembly) :red_circle:, [dependency diener](https://github.com/bkchr/diener) :green_circle:| | -| Easy Smart Contract Development | [Typechain Polkadot](https://github.com/Supercolony-net/typechain-polkadot) :green_circle:, [ink-playground](https://github.com/staketechnologies/ink-playground/tree/master) :red_circle:, [Ink! Remix Plugin](https://github.com/blockchain-it-hr/ink-remix-plugin) :red_circle: -| Runtime Security | [K specifications](https://github.com/kframework/wasm-semantics) :yellow_circle:, [PolPatrol - Polkadot Runtime Checker](https://github.com/ChainSecurity/polpatrol) :red_circle:| Automated Runtime checking tools, economic audit simulator such as [gauntlet.network](https://gauntlet.network/) -| Smart Contract Languages | [Ask!](https://github.com/ask-lang/ask) :green_circle:, [Subscript](https://github.com/slickup/subscript) :red_circle:, [Solang](https://github.com/hyperledger-labs/solang) :green_circle:, [Ink!](https://github.com/paritytech/ink) :green_circle:, [Move VM Substrate](https://github.com/pontem-network/sp-move) :red_circle:, [Move smart contract by Neatcoin](https://github.com/neatcoin/neatcoin) :red_circle:, [Sol2Ink](https://github.com/Supercolony-net/sol2ink) :green_circle:| Functional Programming Languages, other languages with developed toolchains | -| Smart Contract Security | [Vanguard](https://github.com/Veridise/Vanguard) :yellow_circle:| -| Testing | [Halva](https://github.com/halva-suite/halva) :red_circle:, [Ink Waterfall](https://github.com/paritytech/ink-waterfall) :yellow_circle:, [Redspot](https://github.com/patractlabs/redspot) :red_circle:, [MixBytes Tank](https://github.com/mixbytes/tank) :red_circle:, [sub-flood](https://github.com/NikVolf/sub-flood) :red_circle:, [Substrate debug-kit](https://github.com/paritytech/substrate-debug-kit) :red_circle:, [Dotscale - SCALE Codec Comparator](https://github.com/arijitAD/dotscale) :red_circle:, [Asset CLI tool](https://github.com/JesseAbram/asset_cli_tool) :yellow_circle:, [sub_crash](https://github.com/JesseAbram/unfinished_testing_tool) :red_circle:, [subwasm](https://github.com/chevdor/subwasm) :yellow_circle:, [subsee](https://github.com/ascjones/subsee) :red_circle:, [polkadot-lab](https://github.com/w3f/polkadot-lab) :red_circle:, [Zombienet](https://github.com/paritytech/zombienet) :green_circle:, [RPC-perf](https://github.com/dwellir-public/rpc-perf/) :yellow_circle: -| Testnet | [Polkadot Launch](https://github.com/paritytech/polkadot-launch) :green_circle:, [polkadot-starship](https://github.com/koute/polkadot-starship) :red_circle:, [Fork off Substrate](https://github.com/maxsam4/fork-off-substrate) :red_circle:, [Parachain Launch](https://github.com/open-web3-stack/parachain-launch) :green_circle:| -| Benchmarking | [Substrate Graph Benchmarks](https://github.com/shawntabrizi/substrate-graph-benchmarks) :red_circle:| -| Blockchain Indexing Engine | [Substrate Archive](https://github.com/paritytech/substrate-archive) :yellow_circle:, [PSQL Indexer](https://github.com/usetech-llc/polkadot_psql_indexer) :red_circle:, [Polkadothub Indexer](https://github.com/figment-networks/polkadothub-indexer) :green_circle:, [Substrate Graph](https://github.com/playzero/substrate-graph) :yellow_circle:, [Hydra](https://github.com/subsquid/hydra) :red_circle:, [Subquery](https://github.com/OnFinality-io/subql) :green_circle:, [Polkadot Profit Transformer](https://github.com/p2p-org/polkadot-profit-transformer) :green_circle:| -| Blockchain/Event Monitoring | [Web3 Guardian](https://github.com/open-web3-stack/guardian) :green_circle:, [Aurras Event Manager](https://github.com/HugoByte/aurras-event-manager) :green_circle:, [@commonwealth/chain-events](https://github.com/hicommonwealth/chain-events) :green_circle:| -| Gaming | [Crossbow](https://github.com/dodorare/crossbow) :green_circle:| [Amethyst](https://amethyst.rs/) + [Substrate](https://substrate.dev/) -| No-code Platforms | [EzCode's Polkadot.js plugin on Bubble.io](https://github.com/NovaBloq/Bubble-Plugin-Polkadot.js) :red_circle:, [Blackprint Visual Programming Polkadot.js module](https://github.com/Blackprint/nodes-polkadot.js) :green_circle:| | -| XCM | [XCM-tools](https://github.com/PureStake/xcm-tools) :green_circle:| | -| Wallet Connection | [Tesseract](https://github.com/tesseract-one/Tesseract.rs) :yellow_circle:, [WalletConnect](https://github.com/WalletConnect-Labs/walletconnect-v2-monorepo) :grey_question:| | -| Other | [open-web3 JS library](https://github.com/open-web3-stack/open-web3.js) :green_circle:, [VM-Bridge](https://github.com/CycanTech/GVM-Bridge) :red_circle:, [srtool](https://github.com/paritytech/srtool) :yellow_circle:, [Substrate Tip Bot](https://github.com/paritytech/substrate-tip-bot) :green_circle:, [ORI (Onchain Risk Intelligence)](https://github.com/syntifi/ori) :red_circle:, [PolkaTools](https://github.com/albertov19/PolkaTools) :green_circle:, [polkadot-scripts](https://github.com/paritytech/polkadot-scripts) :yellow_circle:, [Static analyzer for Substrate FRAME's pallets](https://github.com/simon-perriard/saft) :green_circle:, [Sube](https://github.com/virto-network/sube) :red_circle:, [data-store-sidecar](https://github.com/CESSProject/data-store-sidecar) :green_circle:, [Dual-Key Stealth Address Protocol](https://github.com/GreenLemonProtocol/dksap-polkadot/) :green_circle: - -### :memo: ink Smart Contracts - -| Components | Existing projects | Potentially interesting projects -|-|-|- -| Bridges | [Dante Protocol](https://github.com/dantenetwork/protocol-stack-for-ink) :green_circle:| | -| DeFi | [Polkadot AMM](https://github.com/realnimish/polkadot-amm) :red_circle:, [Vera](https://github.com/veradefi/defi) :red_circle:, [Nsure Insurance](https://github.com/nsure-tech/dot-contract) :red_circle:, [Everlasting Cash](https://github.com/CycanTech/ELC) :red_circle:, [Coinversation](https://github.com/Coinversation/coinpro) :red_circle:, [zenlink-dex-contract](https://github.com/zenlinkpro/zenlink-dex-contract) :yellow_circle:, [AlgoCash](https://github.com/ReserveLabs/AlgoCash) :red_circle:| New seigniorage-style stable coins -| Gaming | [Open Emoji Battler](https://github.com/OpenEmojiBattler/open-emoji-battler) :green_circle:, [NewOmega](https://github.com/WiktorStarczewski/newomega.polkadot/blob/master/newomega_delegator/newomega/newomega.rs) :red_circle:| | -| DAO | [subDAO](https://github.com/SubDAO-Network/subDAO-contracts) :red_circle:, [RainbowDAO](https://github.com/RainbowcityFoundation/RainbowDAO-Protocol-Ink-milestone_1) :red_circle:| | -| Spam Protection | [Prosopo](https://github.com/prosopo-io/integration) :green_circle:| | -| Other | [Candle Auctions](https://github.com/agryaznov/candle-auction-ink) :red_circle:, [polkasign-contract](https://github.com/SubDAO-Network/polkasign-contract) :red_circle:, [OCEX](https://github.com/bsn-si/ocex-cli) :yellow_circle:, [Roloi](https://github.com/RoloiMoney/roloi-polkadot-w3f-grant) :green_circle:| | - - -### :link: Chains and Pallets - -| Components | Existing projects | Potentially interesting projects -|-|-|- -| Scalable Transactions | [Perun channels](https://github.com/perun-network/perun-polkadot-pallet) :yellow_circle:, [CLI demo of Perun](https://github.com/perun-network/perun-polkadot-demo) :red_circle:, [Astar](https://github.com/AstarNetwork/Astar) :green_circle:, [Celer](https://github.com/celer-network/cChannel-substrate) :red_circle:, [Gunclear](https://github.com/GunClear/Gunero) :red_circle:| roll-ups, DAG-based consensus mechanisms, side chains | -| Bridges | [interBTC](https://github.com/interlay/interbtc) :green_circle:, [ChainBridge](https://github.com/centrifuge/ChainBridge/) :green_circle:, [EOS by Bifrost](https://github.com/bifrost-finance/bifrost-eos-relay) :red_circle:, [POA <> Substrate](https://github.com/paritytech/parity-bridge) :red_circle:, [Substrate <> Ethereum DAI Bridge](https://github.com/akropolisio/POC-polkadai-bridge) :red_circle:, [Substrate <> Substrate Bridge](https://github.com/paritytech/substrate-bridge-relay) :red_circle:, [BTC by ChainX](https://github.com/chainx-org/ChainX) :yellow_circle:, [Cosmos-Substrate bridge](https://github.com/ChorusOne/wormhole-bridge) :red_circle:, [Substrate IBC Pallet](https://github.com/octopus-network/substrate-ibc) :yellow_circle:, [Polkadot Ethereum Bridge](https://github.com/Snowfork/polkadot-ethereum) :green_circle:, [Darwinia](https://github.com/darwinia-network/darwinia) :green_circle:, [Stellar/DeFi Bridge by Pendulum](https://github.com/pendulum-chain/spacewalk) :yellow_circle:, [Filecoindot](https://github.com/ChainSafe/filecoindot) :red_circle:| ZCash | -| Privacy | [Webb Anon](https://github.com/webb-tools/anon) :red_circle:, [ZeroChain](https://github.com/LayerXcom/zero-chain) :red_circle:, [pLibra (Phala Network)](https://github.com/Phala-Network/phala-blockchain) :green_circle:, [Automata Network](https://github.com/automata-network/automata) :yellow_circle:, [zCloak Network](https://github.com/zCloak-Network/zcloak-node) :red_circle:, [Zero Network](https://github.com/zero-network/zero) :yellow_circle:| [Multi-Asset Shielded Pool (MASP)](https://github.com/anoma/masp) , [Zkay](https://arxiv.org/pdf/2009.01020.pdf), [Zexe](https://eprint.iacr.org/2018/962.pdf) -| ZKP | [ZeroPool](https://github.com/zeropoolnetwork/zeropool-substrate-groth16-example) :red_circle:, [Megaclite](https://github.com/patractlabs/megaclite) :red_circle:, [zkMega](https://github.com/patractlabs/zkmega) :red_circle:, [PLONK for Substrate](https://github.com/AstarNetwork/plonk) :yellow_circle:, [Webb Anchor Protocol](https://github.com/webb-tools/protocol-substrate) :green_circle:| -| TEE | [Integritee](https://github.com/integritee-network/worker) :green_circle:, [substraTEE](https://github.com/scs/substraTEE) :red_circle: -| DeFi | [Diora](https://github.com/Diora-Network/Diora) :green_circle:, [Pendulum Chain](https://github.com/pendulum-chain/pendulum) :green_circle:, [Compound Gateway](https://github.com/compound-finance/gateway) :red_circle:, [Parallel Finance](https://github.com/parallel-finance/parallel) :green_circle:, [PINT](https://github.com/ChainSafe/PINT) :red_circle:, [Laminar Chain](https://github.com/laminar-protocol/laminar-chain) :red_circle:, [Acala](https://github.com/AcalaNetwork/Acala) :green_circle:, [Centrifuge](https://github.com/centrifuge/centrifuge-chain) :green_circle:, [Stafi](https://github.com/stafiprotocol/stafi-node) :red_circle:, [Definex](https://github.com/y2labs-0sh/definex) :red_circle:, [OAX Foundation](https://github.com/OAXFoundation/parrot) :red_circle:, [Cybex](https://github.com/alexxuyang/substrate-dex) :red_circle:, [Zenlink](https://github.com/zenlinkpro/pallet-zenlink) :red_circle:, [Swaps Pallet](https://github.com/lsaether/pallet-swaps) :red_circle:, [Polkadex](https://github.com/Polkadex-Substrate/Polkadex/tree/master) :yellow_circle:, [SubDEX](https://github.com/subdarkdex/subdex-parachain) :red_circle:, [HydraDX](https://github.com/galacticcouncil/hack.HydraDX-node) :green_circle:, [Substrate Stablecoin](https://github.com/apopiak/stablecoin) :red_circle:, [Standard protocol](https://github.com/digitalnativeinc/standard-substrate) :red_circle:, [Polkaswap](https://github.com/sora-xor/sora2-network) :green_circle:, [Curve AMM](https://github.com/equilibrium-eosdt/equilibrium-curve-amm) :red_circle:, [Konomi Network](https://github.com/konomi-network/cumulus/) :red_circle:, [Composable Finance](https://github.com/ComposableFi/composable) :green_circle:, [Stable Asset](https://github.com/nutsfinance/stable-asset) :green_circle:, [Libra Payment](https://github.com/atscaletech/libra) :green_circle:, [Mangata](https://github.com/mangata-finance/mangata-node) :green_circle:, [Tidechain](https://github.com/tidelabs/tidechain) :green_circle:| DEX with privacy and confidentiality features such as those found in a [dark pool](https://en.wikipedia.org/wiki/Dark_pool) -| Smart contract chains | [moonbeam](https://github.com/PureStake/moonbeam) :green_circle:, [Edgeware](https://github.com/hicommonwealth/edgeware-node) :red_circle:, [ParaState](https://github.com/ParaState/substrate-ssvm-node) :red_circle:, [gear](https://github.com/gear-tech/gear) :green_circle:, [CENNZnet](https://github.com/cennznet/cennznet) :green_circle:, [SkyeKiwi](https://github.com/skyekiwi/skyekiwi-network) :yellow_circle:, [OAK-blockchain](https://github.com/OAK-Foundation/OAK-blockchain) :green_circle:, [ICE Blockchain](https://github.com/web3labs/ice-substrate) :green_circle:| smart contract chains with novel security approaches, smart contract chains based on existing toolchains| -| Oracle | [Laminar](https://github.com/laminar-protocol/open-runtime-module-library/tree/master/oracle) :green_circle:, [Parallel Finance](https://github.com/parallel-finance/parallel/blob/feature-oracle/pallets/ocw-oracle/src/lib.rs) :green_circle:, [Chainlink-polkadot](https://github.com/smartcontractkit/chainlink-polkadot) :red_circle:, [Ares Protocol](https://github.com/aresprotocols/ares) :green_circle:, [Kylin Network](https://github.com/Kylin-Network/kylin-node) :green_circle:, [interbtc-clients oracle](https://github.com/interlay/interbtc-clients/tree/master/oracle) :green_circle:, [Anonima](https://github.com/webb-tools/anonima) :red_circle:, [Apollo](https://github.com/ComposableFi/composable/tree/main/frame/oracle) :green_circle: -| Identity/DID | [Litentry](https://github.com/litentry/litentry-runtime) :red_circle:, [pallet-did](https://github.com/substrate-developer-hub/pallet-did) :red_circle:, [dot-id](https://github.com/prasad-kumkar/dot-id) :red_circle: -| IoT | [Nodle](https://github.com/NodleCode/chain) :green_circle:, [MXC/DataHighway](https://github.com/DataHighway-DHX/node) :red_circle:, [peaq-network-node](https://github.com/peaqnetwork/peaq-network-node) :red_circle: -| Verifiable Claims | [KILT](https://github.com/KILTprotocol/kilt-node) :green_circle:, [Dock](https://github.com/docknetwork/dock-substrate) :green_circle:, [Fennel Protocol](https://github.com/fennelLabs/Fennel-Protocol) :yellow_circle: -| Supply chain| | | -| Health care| [AriaHealth](https://github.com/AriaHealth/MetaNetwork) :red_circle:| | -| Social Networking | [Social Network](https://github.com/social-network/blockchain) :red_circle:, [SubSocial](https://github.com/dappforce/subsocial-node) :red_circle:, [ZeroDAO](https://github.com/ZeroDAO/ZeroDAO-node) :yellow_circle:, [Myriad Node](https://github.com/myriadsocial/myriad-node) :green_circle:, [Wika Network](https://github.com/randombishop/wika_etl) :red_circle:, [Project Liberty](https://github.com/LibertyDSNP/mrc) :green_circle:, [Listen](https://github.com/listenofficial/listen-parachain) :green_circle:| Private instant messenger that uses on-chain identity -| Governance/DAO| [Hashed Network](https://github.com/hashed-io/hashed-substrate) :green_circle:, [Sunshine DAO](https://github.com/sunshine-protocol/sunshine-bounty) :red_circle:, [Governance OS](https://github.com/NucleiStudio/governance-os) :red_circle:, [Idavoll Network](https://github.com/idavollnetwork/idavoll) :red_circle:, [Substrate Moloch](https://github.com/DoraFactory/Substrate-Moloch-V2) :red_circle:, [QRUCIAL-DAO](https://github.com/Qrucial/QRUCIAL-DAO) :green_circle:, [Societal](https://github.com/sctllabs/societal-node) :grey_question:, [DAOs](https://github.com/daos-org/daos) :green_circle:| [Consul](https://github.com/consul/consul) - Open Government and E-Participation Web Software -| Prediction Markets and Futarchy| [Zeitgeist](https://github.com/zeitgeistpm/zeitgeist) :green_circle:, [X Predict Market](https://github.com/XPredictMarket/NodePredict) :red_circle:| -| Messaging | [HOPR](https://github.com/validitylabs/HOPR-PL-Substrate) :red_circle:, [Nolik](https://github.com/chainify/pallet-nolik/) :red_circle: -| File Storage, Cloud | [DatDot](https://github.com/playproject-io/datdot) :red_circle:, [Crust Network](https://github.com/crustio/crust) :red_circle:, [offchain::ipfs](https://github.com/rs-ipfs/offchain-ipfs-manual) :red_circle:, [Canyon Network](https://github.com/canyon-network/canyon) :red_circle:, [CESS](https://github.com/Cumulus2021/cess) :green_circle:, [CESS Proving Subsystem](https://github.com/CESSProject/cess-proving-system) :red_circle:, [Iris](https://github.com/ideal-lab5/iris) :yellow_circle:, [fmd-cess](https://github.com/CESSProject/fmd-cess) :red_circle:, [IPFS Frame V3](https://github.com/DanHenton/pocket-substrate/tree/ipfs-ocw) :yellow_circle:, [Threefold Chain](https://github.com/threefoldtech/tfchain) :green_circle:, [Apron](https://github.com/Apron-Network/apron-node) :red_circle: -| Name Service| [Substrate Names](https://github.com/xaya/substrate-names) :red_circle:, [ENS on Substrate](https://github.com/hskang9/substrate-name-service) :red_circle:, [PNS-Pallets](https://github.com/pnsproject/pns-pallets) :red_circle: -| Gaming | [Bit.country](https://github.com/bit-country/Bit-Country-Blockchain) :green_circle:, [SubGame](https://github.com/SubGame-Network/subgame-network) :yellow_circle:, [subzero](https://github.com/playzero/subzero) :red_circle:, [Web3Games](https://github.com/web3gamesofficial/web3games-blockchain) :red_circle:, [Ajuna Network](https://github.com/ajuna-network/Ajuna) :green_circle:, [Gafi Network](https://github.com/cryptoviet/gafi) :green_circle:, [Asylum](https://gitlab.com/asylum-space/asylum-item-nft) | -| Computation/AI | [DeepBrain Chain](https://github.com/DeepBrainChain/DeepBrainChain-MainChain) :green_circle:, [AI Infrastructure on Blockchain](https://github.com/anudit/cerebrum) :red_circle:| -| Enable specific use-cases | [Robonomics](https://github.com/airalab/substrate-node-robonomics) :green_circle:, [UniversalDOT](https://github.com/UniversalDot/pallets) :red_circle:, [Evercity Sustainable Finance Protocol](https://github.com/EvercityEcosystem/evercity-chain) :green_circle:, [Fennel Protocol](https://github.com/fennelLabs/Fennel-Protocol) :yellow_circle:, [logion](https://github.com/logion-network/logion-node) :green_circle: -| NFT | [ternoa](https://github.com/capsule-corp-ternoa/chain) :green_circle:, [FRAME Pallet: NFTs for Substrate](https://github.com/danforbes/pallet-nft) :red_circle:, [Unique NFT Parachain](https://github.com/UniqueNetwork/unique-chain) :green_circle:, [DNFT](https://github.com/DNFT-Team/dnft-substrate-node/tree/master/pallets) :red_circle:, [RMRK-Substrate](https://github.com/rmrk-team/rmrk-substrate) :green_circle: -| Randomness | [DKG and Randomness Beacon](https://github.com/Cardinal-Cryptography/substrate/tree/randomness-beacon) :yellow_circle: -| Licensing | [Anagolay Network](https://github.com/anagolay/anagolay-chain) :green_circle:| -| Banking Integration | [FIAT on-off-ramp](https://github.com/element36-io/ebics-java-service) :yellow_circle: -| Crowdfunding | [Imbue Network](https://github.com/ImbueNetwork/imbue) :green_circle:, [Quadratic Funding pallet by Dora](https://github.com/zhangjiannan/QFgrant) :red_circle:, [Quadratic Funding pallet by OAK](https://github.com/OAK-Foundation/quadratic-funding-pallet/tree/master) :red_circle:| [Minimum Anti-Collusion Infrastructure (MACI)](https://ethresear.ch/t/minimal-anti-collusion-infrastructure/5413) -| Licensing | [Anagolay Network](https://github.com/anagolay/anagolay-chain) :green_circle:| -| Collection of Pallets | [Substrate Open Runtime Module Library](https://github.com/open-web3-stack/open-runtime-module-library) :green_circle:, [warehouse](https://github.com/galacticcouncil/warehouse) :green_circle:, [InvArch FRAME Pallet Library](https://github.com/InvArch/InvArch-Frames) :yellow_circle:| -| Other | [Substrate Account Filter](https://github.com/gautamdhameja/substrate-account-filter) :red_circle:, [Subtensor](https://github.com/opentensor/subtensor) :green_circle:, [BitGreen](https://github.com/bitgreen/bitg-node) :green_circle:, [AdMeta](https://github.com/AdMetaNetwork/admeta) :green_circle:, [Chocolate Node](https://github.com/chocolatenetwork/chocolate-node) :green_circle:, [Virto Network](https://github.com/virto-network/virto-node) :yellow_circle:, [Substrate Validator Set](https://github.com/gautamdhameja/substrate-validator-set) :green_circle:, [DEIP](https://github.com/DEIPworld/deip-node) :green_circle:, [DeBio](https://github.com/debionetwork/debio-node) :green_circle:, [MathChain](https://github.com/mathwallet/MathChain) :red_circle:, [encointer](https://github.com/encointer/encointer-node) :green_circle:, [Grassland](https://github.com/grasslandnetwork/substrate_node) :red_circle:, [Substrate-Tutorials](https://github.com/rusty-crewmates/substrate-tutorials) :green_circle:, [Fair Squares](https://github.com/Fair-Squares/fair-squares) :green_circle:, [Totem Live Accounting](https://github.com/totem-tech/totem) :red_circle:| Decentralized review/reputation system - -### :black_circle: Host - -| Components | Existing projects | Potentially interesting projects -|-|-|- -| Rust | [Substrate](https://github.com/paritytech/substrate) :green_circle:, [Cumulus](https://github.com/paritytech/cumulus) :green_circle: -| C++ | [Kagome](https://github.com/soramitsu/kagome) :green_circle: -| Go | [Gossamer](https://github.com/ChainSafe/gossamer) :green_circle: -| AssemblyScript | -| Light Client | [Substrate Connect](https://github.com/paritytech/substrate-connect) :green_circle:| - -### :electric_plug: Network Maintenance Tools - -| Components | Existing projects | Potentially interesting projects -|-|-|- -| Secure validator setup | [Polkadot Validation Node Ansible Setup](https://github.com/polkachu/polkadot-validator) :green_circle:, [W3F Polkadot Validator Setup](https://github.com/w3f/polkadot-validator-setup) :red_circle: -| High availability setup | [Archipel](https://github.com/luguslabs/archipel) :yellow_circle:, [Polkadot Failover Mechanism](https://github.com/protofire/polkadot-failover-mechanism) :red_circle: -| Load Balanced Endpoints | [terragrunt-polkadot](https://github.com/insight-w3f/terragrunt-polkadot) :red_circle:, [Geometry Labs' Substrate Meta repo](https://github.com/sudoblockio/substrate-meta) :yellow_circle: -| Deployment Tools| [Polkadot Package Manager](https://github.com/Blockdaemon/bpm-sdk) :red_circle:, [PolkaHub](https://github.com/akropolisio/polkahub-monorepo) :red_circle:, [Avado](https://github.com/AvadoDServer/AVADO-DNP-Polkadot-custom) :red_circle:, [Polkadot Deployer](https://github.com/w3f/polkadot-deployer) :red_circle: -| Validator monitoring | [SubVT](https://github.com/helikon-labs/subvt) :yellow_circle:, [P.A.N.I.C.](https://github.com/SimplyVC/panic_polkadot) :red_circle:, [Polkalert](https://github.com/galacticcouncil/polkalert) :red_circle:, [B-Harvest](https://github.com/nodebreaker0-0/substrate/tree/prometheus_v0.3) :red_circle:, [nmonpolkadot](https://github.com/stakezone/nmonpolkadot) :red_circle:, [Polkadot-K8s-Monitor](https://github.com/ironoa/polkadot-k8s-monitor) :yellow_circle:, [Polkadot-Watcher](https://github.com/w3f/polkadot-watcher) :green_circle:, [1KV Telegram Bot](https://github.com/helikon-labs/polkadot-kusama-1kv-telegram-bot) :yellow_circle: -| Validator payout management | [Substrate validator auto payout](https://github.com/Colm3na/substrate-auto-payout) :yellow_circle:, [Polkadot Payouts](https://github.com/w3f/polkadot-payouts) :green_circle:, [staking-payouts CLI](https://github.com/emostov/staking-payouts) :yellow_circle:, [Payctl](https://github.com/stakelink/substrate-payctl) :red_circle:, [crunch](https://github.com/turboflakes/crunch) :green_circle:| - -### :black_nib: Signatures - -| Components | Existing projects | Potentially interesting projects -|-|-|- -| SR25519 | [rust](https://github.com/w3f/schnorrkel) :green_circle:(contains partial bindings for C, JavaScript, and Python), [.Net bindings](https://github.com/gautamdhameja/sr25519-dotnet) :red_circle:, [C](https://github.com/usetech-llc/sr25519) :red_circle:*(old)*, [C](https://github.com/TerenceGe/sr25519-donna) :red_circle:*(new)*, [C/C++](https://github.com/soramitsu/soramitsu-sr25519-crust) :red_circle:, [C#](https://github.com/usetech-llc/sr25519_dotnet) :red_circle:, [Go](https://github.com/ChainSafe/go-schnorrkel) :green_circle:, [java](https://github.com/debuggor/schnorrkel-java) :red_circle:, [PHP](https://github.com/gmajor-encrypt/sr25519-bindings) :yellow_circle: -| Distributed key generation (DKG) | [keygen.rs](https://github.com/isislovecruft/frost-dalek) :red_circle: -| Validator HSMs| [Zondax Remote Signer](https://github.com/Zondax/buildroot-zondax) :green_circle:| - -### :heavy_check_mark: Consensus - -| Components | Existing projects | Potentially interesting projects -|-|-|- -| PoC | [Spartan](https://github.com/subspace/substrate) :red_circle:| -| PoW | [PoW consensus for Substrate](https://github.com/paritytech/substrate/tree/master/client/consensus/pow) :green_circle:, [RandomX](https://github.com/kulupu/kulupu/tree/master/pow) :yellow_circle:, [Sha3 PoW](https://github.com/substrate-developer-hub/recipes/tree/master/consensus/sha3pow) :red_circle:| -| Block production | [BABE](https://github.com/paritytech/substrate/tree/master/client/consensus/babe) :green_circle:, [Aura](https://github.com/paritytech/substrate/tree/master/client/consensus/aura) :green_circle:| -| Finality | [GRANDPA](https://github.com/paritytech/substrate/tree/master/frame/grandpa) :green_circle:| -| Other | [Nimbus: Upgradeable consensus framework](https://github.com/PureStake/nimbus) :green_circle:| - - -### :satellite: Networking - -| Components | Existing projects | Potentially interesting projects | -|---------------------|-----------------------------------------------------------------------------------------------------------------|----------------------------------| -| DHT crawler | [Go](https://github.com/atredispartners/dht-crawler-polkadot) :red_circle:, [Kotlin](https://github.com/emeraldpay/polkabot) :red_circle:| | -| RPC Tor-like access | [WhiteNoise](https://github.com/Evanesco-Labs/WhiteNoise.rs) :red_circle:| | - -## :construction_worker: Contributing - -Pull requests, issues, or other contributions from the community are encouraged! You can not only add specific projects, but also potentially interesting fields/areas which are currently missing in the tech stack. - -:heavy_exclamation_mark: All technologies listed above need to be open-source. Ideally, the links lead directly to the code. - -_Note: You will need a GitHub account to suggest changes or open issues. If you do not have one, you may [sign up for free](https://github.com/join)._ +This document has been deprecated in favour of the [Open Source Polkadot Stack as part of the Polkadot Wiki](https://wiki.polkadot.network/docs/build-open-source). From 552fa2e2888714a28d57ba66e3bec760528194a8 Mon Sep 17 00:00:00 2001 From: S E R A Y A Date: Mon, 8 Aug 2022 17:16:59 +0200 Subject: [PATCH 0068/1872] Complete Dot Marketplace V2 (#1111) --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 5b92a9b1a11..6a370069ab3 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -457,7 +457,7 @@ | [ChainSafe](https://chainsafe.io/) | Substrate Core Polywrapper | [GitHub](https://github.com/polywrap) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Bela Supernova](https://bsn.si/en/home/) | On-chain cash exchange (OCEX) | |
  • [ ]
|
  • [x]
|
  • [x]
| | [Second State](https://www.secondstate.io/) | WasmEdge for Substrate | [GitHub](https://github.com/wasmedge) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Wow Labz](https://www.wowlabz.com/) | Dot Marketplace Phase 2 | [GitHub](https://github.com/WowLabz) |
  • [ ]
|
  • [x]
|
  • [ ]
| +| [Wow Labz](https://www.wowlabz.com/) | Dot Marketplace Phase 2 | [GitHub](https://github.com/WowLabz) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Stardust Labs Inc.](https://stardust.finance/) | Uncollateralized Stablecoin Research and Design | [GitHub](https://github.com/adit313/) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Hashed Systems](https://hashed.io) | Native Bitcoin Vaults (NBV) | [GitHub](https://github.com/hashed-io) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Setheum](https://setheum.xyz/) | Setheum HighEnd LaunchPad Crowdsales Module | [GitHub](https://github.com/Setheum-Labs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 8810faa2ab1c80fb66287aa090d8e1b33a74d0d5 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 9 Aug 2022 15:38:08 +0200 Subject: [PATCH 0069/1872] Update README.md Update committee --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index ad3ab3a6ce8..6d995afb1cf 100644 --- a/README.md +++ b/README.md @@ -91,7 +91,6 @@ In cases where a niche expert opinion is desirable, one of the committee members - [Raul Romanutti](https://github.com/rrtti) - [Aleixo Sánchez](https://github.com/alxs) - [Seraya Takahashi](https://github.com/takahser) -- [Reto Trinkler](https://github.com/retotrinkler) - [Benjamin Weiß](https://github.com/BenWhiteJam) - [Gavin Wood](https://github.com/gavofyork) From 2c8e22222723373a78d473ad13267166729f6c4d Mon Sep 17 00:00:00 2001 From: Noc2 Date: Tue, 9 Aug 2022 15:50:20 +0200 Subject: [PATCH 0070/1872] crowdloan front-end rfp --- rfps/open/crowdloan_front_end_template.md | 62 +++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 rfps/open/crowdloan_front_end_template.md diff --git a/rfps/open/crowdloan_front_end_template.md b/rfps/open/crowdloan_front_end_template.md new file mode 100644 index 00000000000..25c97adb4cb --- /dev/null +++ b/rfps/open/crowdloan_front_end_template.md @@ -0,0 +1,62 @@ +# Crowdloan Front End Template + +* **Status:** Open +* **Proposer:** [SBalaguer](https://github.com/SBalaguer), [Noc2](https://github.com/Noc2) + +## Project Description :page_facing_up: + +The following document intends to outline what a front-end white-label template could look like for teams to use to easily build their Polkadot Crowdloan websites. Teams applying for this RFP can change and adapt this. + +The overall objective of this project is to provide a white-label solution to teams to be able to plug into and offer all the information users need to contribute to their Crowdloan. In essence, it's a collection of: +1. [Project information](#project-information) +2. [Rewards Schema](#rewards-schema) +3. [Current contributions](#current-contributions) +4. [Time left in Crowdloan and competition](#time-left-in-crowdloan-and-competition) +5. [Contribute CTA](#contribute-cta) +6. [After the Crowdloan](#after-the-crowdloan) + +All of the above should be done _style agnostic_ so that the project can plug their own look and feel into the site. + +### Project Information + +This is just a place where the project can talk more about what they are doing. + +### Rewards Schema + +This is just a place what the reward schema looks like. It's important to know that different teams can have different rewards mechanisms. For example, a team can offer higher contribution to early-birds (first `x_amount_of_contributors`; first `y amount_of_tokens_contributed`), they can offer referrals or even they can get smarter and offer higher rewards if they are losing. + +In the end, for this section it's more important to give the teams the ability to query easily the information than rather to get them a UI pre-defined. In general, it would be good for the template to offer two out-of-the-box mechanisms: +1. Early Bird contributions. +2. Rewards schema. + +Whichever the schema, there should be also a way of having this information available later on for the team to effectively give out the rewards. + +### Current Contributions + +Some teams like to show the number of contributors, others the list of addresses and how much they contributed, and others nothing at all. We need to give them all an option. + +### Time left in Crowdloan and competition + +Auctions have two phases: `start_period` and `ending_period`. During the `start_period` nothing important really happens, however every block of the `ending_period` matters, as this is when the candle can go out. + +On top of this, teams will have other teams competing for the slots as well. This information needs to be displayed as well. + +### Contribute CTA + +A simple button to allow users to contribute directly through the UI. This should open PolkadotJS or whatever wallet the user prefers, and add this directly on chain. Important to manage the entire cycle of the contribution: +- contribute -> waiting for finalization -> finalized. +- contribute -> waiting for finalization -> error. + +### After the Crowdloan + +Once the Crowdloan ends, it will be good for the team to easily query all contributors and have them sort it to calculate the rewards given the [rewads schema](#Rewards-Schema). + +## Available Tools +- [PolkadotJS Apps](https://polkadot.js.org/docs/) +- [CAPI](https://github.com/paritytech/capi) + +## Past examples +- [Acala](https://acala.network/acala/join-acala) +- [Calamari](https://mantanetwork.medium.com/the-calamari-crowdloan-on-kusama-74a3cb2a2a4b) +- [Basilisk](https://loan.bsx.fi/) +- [Parachains Info](https://parachains.info/auctions). In here check timeline and competition. \ No newline at end of file From a0eb74dd366abc0151c331f398ac8b9433bacaaa Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 9 Aug 2022 15:52:18 +0200 Subject: [PATCH 0071/1872] Update crowdloan_front_end_template.md --- rfps/open/crowdloan_front_end_template.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rfps/open/crowdloan_front_end_template.md b/rfps/open/crowdloan_front_end_template.md index 25c97adb4cb..69c3001597e 100644 --- a/rfps/open/crowdloan_front_end_template.md +++ b/rfps/open/crowdloan_front_end_template.md @@ -5,7 +5,7 @@ ## Project Description :page_facing_up: -The following document intends to outline what a front-end white-label template could look like for teams to use to easily build their Polkadot Crowdloan websites. Teams applying for this RFP can change and adapt this. +The following document intends to outline what a front-end white-label template could look like for teams to use to easily build their Polkadot Crowdloan ([see Wiki: Parachain Crowdloans](https://wiki.polkadot.network/docs/learn-crowdloans)) websites. Teams applying for this RFP can change and adapt this. The overall objective of this project is to provide a white-label solution to teams to be able to plug into and offer all the information users need to contribute to their Crowdloan. In essence, it's a collection of: 1. [Project information](#project-information) @@ -59,4 +59,4 @@ Once the Crowdloan ends, it will be good for the team to easily query all contri - [Acala](https://acala.network/acala/join-acala) - [Calamari](https://mantanetwork.medium.com/the-calamari-crowdloan-on-kusama-74a3cb2a2a4b) - [Basilisk](https://loan.bsx.fi/) -- [Parachains Info](https://parachains.info/auctions). In here check timeline and competition. \ No newline at end of file +- [Parachains Info](https://parachains.info/auctions). In here check timeline and competition. From b2f959dd21efc4394253162f0202e4f59ad566a1 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 9 Aug 2022 15:54:02 +0200 Subject: [PATCH 0072/1872] Update README.md crowdloan_front_end_template.md --- rfps/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/rfps/README.md b/rfps/README.md index d0b3d13de4d..f708ecd2e9b 100644 --- a/rfps/README.md +++ b/rfps/README.md @@ -27,6 +27,7 @@ If you find an open RFP here that you think you can address, feel free to [submi | [anti-collusion_infrastructure.md](./open/anti-collusion_infrastructure.md) | :green_circle: | 29.11.2021 | | [appi.md](./implemented/appi.md) | :red_circle: | 20.07.2021 | | [candle-auction.md](./implemented/candle-auction.md) | :red_circle: | 02.02.2022 | +| [crowdloan_front_end_template.md](./open/crowdloan_front_end_template.md) | :green_circle: | 09.08.2022 | | [epassport-zk-validation.md](./open/epassport-zk-validation.md) | :green_circle: | 29.11.2021 | | [identity-directory.md](./under_development/identity-directory.md) | :yellow_circle: | 30.05.2022 | | [implementation-benchmarking.md](./open/implementation-benchmarking.md) | :green_circle: | 20.07.2021 | From a9de4c7abcbcc70ed41b9a3d15c590343836d1e2 Mon Sep 17 00:00:00 2001 From: lucasvanmol Date: Tue, 9 Aug 2022 13:11:52 -0700 Subject: [PATCH 0073/1872] Afloat M1 Accepted (#1112) @Noc2 --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 6a370069ab3..6451b660b19 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -482,7 +482,7 @@ | [Dante Network](https://www.dantechain.com/) | Dante Network | [GitHub](https://github.com/dantenetwork) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Verida](https://www.verida.io/) | Single Sign-On for Apps | [GitHub](https://github.com/verida) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Kami Ekbatanifard](https://github.com/Nick-1979/) | Polkadot js plus / Nomination pools | [GitHub](https://github.com/Nick-1979/polkadot-Js-Plus-extension/wiki) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Afloat Inc](https://stayafloat.io/#/) | Tax Infrastructure Polkadot Integration | N/A |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Afloat Inc](https://stayafloat.io/#/) | Tax Infrastructure Polkadot Integration | N/A |
  • [ ]
|
  • [x]
|
  • [ ]
| | [gmajor](https://github.com/gmajor-encrypt) | SCALE Codec Comparator | [GitHub](https://github.com/gmajor-encrypt) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Rusty Crewmates](http://rustycrewmates.com/) | Substrate Tutorials | [GitHub](https://github.com/rusty-crewmates/substrate-tutorials) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Sequester](https://github.com/SequesterChain) | A Common-Good Carbon Sink on Polkadot | [GitHub](https://github.com/SequesterChain/pallets) |
  • [ ]
|
  • [x]
|
  • [x]
| From 1d050de13781451264d9211f965524a99e3cd42c Mon Sep 17 00:00:00 2001 From: lucasvanmol Date: Wed, 10 Aug 2022 02:40:09 -0700 Subject: [PATCH 0074/1872] Faceless M1 Accepted (#1114) --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 6451b660b19..fe141c927fb 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -500,7 +500,7 @@ | [Yahuang Wu](https://github.com/wuyahuang) | Dual-Key Stealth Address Protocol | [GitHub](https://github.com/wuyahuang) |
  • [ ]
|
  • [x]
|
  • [x]
| | [UNIVERSALDOT FOUNDATION](https://universaldot.foundation) | Universaldot.me Phase 2 | [GitHub](https://github.com/UniversalDot) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Societal Labs Ltd.](https://www.sctl.xyz/) | Societal - MVP - Phase 1 | [GitHub](https://github.com/sctllabs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Faceless Protocol](https://github.com/HeisenbergLin22) | Faceless Protocol | [GitHub](https://github.com/HeisenbergLin22) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Faceless Protocol](https://github.com/HeisenbergLin22) | Faceless Protocol | [GitHub](https://github.com/HeisenbergLin22) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [SuperColony](https://github.com/Supercolony-net) | Typechain | [GitHub](https://github.com/Supercolony-net/typechain-polkadot) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Codelight](https://massbit.io/) | Massbit Route | [GitHub](https://github.com/massbitprotocol/massbitroute) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Hypha Hashed Partners](https://hypha.earth/) | Social Recovery Wallet | [GitHub](https://github.com/hypha-dao) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 69f822890a0b9f80c1439885e4b5f89b8e1c31a6 Mon Sep 17 00:00:00 2001 From: Conor Svensson Date: Wed, 10 Aug 2022 12:24:10 +0100 Subject: [PATCH 0075/1872] Change payment address from DOT to USDC (#1113) --- applications/epirus_substrate_explorer.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/epirus_substrate_explorer.md b/applications/epirus_substrate_explorer.md index 55a5d468b11..3d73f0f5fd9 100644 --- a/applications/epirus_substrate_explorer.md +++ b/applications/epirus_substrate_explorer.md @@ -2,7 +2,7 @@ - **Project Name:** Epirus Substrate Explorer - **Team Name:** Web3 Labs Ltd -- **Payment Address:** 1c3tzkJnXffpJnjWXmNwvyKKVTkY5QFCHBDATV3EDvg8e17 +- **Payment Address:** 0xc905c448db9942c662fcb1680f3ecfcd0592409c - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 From 4084c2911f178ebf2c76cd4c0a095f1c8dc13224 Mon Sep 17 00:00:00 2001 From: lucasvanmol Date: Wed, 10 Aug 2022 07:42:36 -0700 Subject: [PATCH 0076/1872] Update accepted_grant_applications.md (#1115) Epirus 1st and only milestone accepted --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index fe141c927fb..8b9cdbac52d 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -490,7 +490,7 @@ | [Fennel Labs](https://fennellabs.com/) | Whiteflag on Fennel Protocol | [GitHub](https://github.com/fennelLabs) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Relationlabs](https://relationlabs.ai/#/home) | Relation Graph | [GitHub](https://github.com/relationlabs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Decentration](https://kabocha.network) | Supersig | [GitHub](https://github.com/kabocha-network) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Web3 Labs Ltd](https://www.web3labs.com/epirus-explorer) | Epirus Substrate Explorer | [GitHub](https://github.com/web3labs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Web3 Labs Ltd](https://www.web3labs.com/epirus-explorer) | Epirus Substrate Explorer | [GitHub](https://github.com/web3labs) |
  • [ ]
|
  • [x]
|
  • [x]
| | [SuperColony](https://github.com/Supercolony-net) | Sol2Ink | [GitHub](https://github.com/Supercolony-net) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [SuperColony](https://github.com/Supercolony-net) | OpenBrush Phase 3 | [GitHub](https://github.com/Supercolony-net) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [FS](https://fair-squares.nl/) | Fair Squares | [GitHub](https://github.com/Fair-squares) |
  • [ ]
|
  • [x]
|
  • [ ]
| From d12d0369716a52fc5e73958dc7fc6e3cbb57ca86 Mon Sep 17 00:00:00 2001 From: Juan Leni Date: Thu, 11 Aug 2022 14:22:44 +0200 Subject: [PATCH 0077/1872] Change DAI address (#1116) --- applications/Zondax-Support.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/applications/Zondax-Support.md b/applications/Zondax-Support.md index 2769e868ffc..ae0b53c8a89 100644 --- a/applications/Zondax-Support.md +++ b/applications/Zondax-Support.md @@ -2,7 +2,7 @@ * **Project Name:** Zondax Support & Maintenance * **Team Name:** Zondax -* **Payment Address:** DAI (ERC20) 0x946b3f41546C2AA90bbABBE0573E553754b7344f +* **Payment Address:** DAI (ERC20) 0x64c37c278f4c975e44ffd99b6e5f0832a3e9e981 ## Project Overview :page_facing_up: @@ -24,7 +24,7 @@ For this reason, we would like to propose a series of steps to address and mitig ### Legal Structure -* **Registered Legal Entity:** Zondax GmbH +* **Registered Legal Entity:** Zondax AG * **Registered Address:** 6300 Zug. Switzerland ### Contact From a164ca305a20231bc26e2cd5057833b372843524 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Thu, 11 Aug 2022 17:38:52 +0200 Subject: [PATCH 0078/1872] First docusaurus update (#1117) * First docusaurus update See https://github.com/w3f/grants-test-repository/tree/master/docs/Applications HTMl causes problems in applications and the title is used for the sidebar and isn't currently the same for every application. * Update applications/application-template.md Co-authored-by: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> Co-authored-by: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> --- applications/application-template.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/applications/application-template.md b/applications/application-template.md index c2662661839..639e8d0a845 100644 --- a/applications/application-template.md +++ b/applications/application-template.md @@ -1,10 +1,9 @@ -# W3F Grant Proposal +# Name of your Project -> This document will be part of the terms and conditions of your agreement and therefore needs to contain all the required information about the project. Don't remove any of the mandatory parts presented in bold letters or as headlines! Lines starting with a `>` (such as this one) can be removed. +> This document will be part of the terms and conditions of your agreement and therefore needs to contain all the required information about the project. Don't remove any of the mandatory parts presented in bold letters or as headlines (except for the title)! Lines starting with a `>` (such as this one) should be removed. Please use markdown instead of HTML (e.g. `![](image.png)` instead of ``). > > See the [Grants Program Process](https://github.com/w3f/Grants-Program/#pencil-process) on how to submit a proposal. -- **Project Name:** Name of your project (e.g. DuoSwap Module) - **Team Name:** Legal name of your team (e.g. Duo) - **Payment Address:** BTC, Ethereum (USDT/USDC/DAI) or Polkadot/Kusama (aUSD) payment address. Please also specify the currency. (e.g. 0x8920... (DAI)) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1, 2 or 3 From 318767537dbe41d7cec1978705ae8ba1f78c5275 Mon Sep 17 00:00:00 2001 From: 327istesting <86153748+327istesting@users.noreply.github.com> Date: Mon, 15 Aug 2022 20:25:42 +1000 Subject: [PATCH 0079/1872] Meta Defender Proposal (#1089) * Meta Defender Proposal * Revised Meta Defender Proposal * Revised proposal - Meta Defender --- applications/Meta_Defender.md | 366 ++++++++++++++++++++++++++++++++++ 1 file changed, 366 insertions(+) create mode 100644 applications/Meta_Defender.md diff --git a/applications/Meta_Defender.md b/applications/Meta_Defender.md new file mode 100644 index 00000000000..c254a4b500c --- /dev/null +++ b/applications/Meta_Defender.md @@ -0,0 +1,366 @@ +# W3F Grant Proposal + +* **Project Name:** Meta Defender +* **Team Name:** Meta Defender Team +* **Payment Address:** 25r4oZedLXEunTmdvytyH4xcmQqqWWw8KmphdiD5LqpU29pv (aUSD) +* **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 + + +## Project Overview :page_facing_up: + +### Overview + +Meta Defender is a decentralised insurance protocol built on the blockchain. It is developed with ink! smart contract, and is designed to provide insurance for transactional and non-transactional assets on the blockchain of users. Later on, it will support cross-chain insurance through substrate and XCM. In the meantime, Meta Defender is also working to apply blockchain technology to real-world insurance scenarios, becoming an important addition to the traditional insurance industry. This project is the first-place winner of Acala Hackathon and is in the 2022 cohort of Web3.0 Bootcamp supported by Web3.0 Foundation and Parity. + +The rapid development of Defi has led to a huge increase in the digital assets that are transactional in smart contracts, which also makes it very vulnerable to cyber attacks. Conventional insurances, on the other hand, have limited capacity to provide transparent, secured and rapid protection for precious assets. In order to cater for the increasing needs, our team decided to work on a Defi insurance protocol, also to solve several pain points in existing web3 insurance products. + +Meta Defender is planned to launch on the parachains in the Polkadot Ecosystem, designed to provide insurance services to multiple subject-matters in the Polkadot Ecosystem. + +### Project Details + +### 1. Mockups/designs of any UI components + +- Homepage + +

1

+ +- Buy Cover + +

2

+ +- Become an underwriter + +

3

+ +### 2. Project Technology Stacks + +- Rust +- Substrate +- Node.js +- Ethers.js + + + +### 3. MVP + +

+ +

+ +- Buy Cover + +Meta Defender uses stablecoins to insure, underwrite and pay out for claims. Each Meta Defender policy is currently valid for one year. The premium rate will be calculated using a customised AMM 2.0 model, which will be explained in detail in the next part. + +- Become an underwriter + +Underwriters share the Rewards from each premium according to the weight of the capital they provide to the whole Capital Reserve. At the same time, the underwriting capital is correspondingly frozen until the policy expires. Until this policy expires, the underwriter can only withdraw the unfrozen portion of its own provided assets. + +- Leveraged Mining + +The Meta Defender protocol makes secondary use of the underwriting capital, with 70% of the capital participating in the public chain's officially secured mining pool. 20% of the proceeds of Leveraged Mining will go to a Risk Reserve. + +- Risk Reserve + +When a claim occurs, priority is given to using the funds in the Risk Reserve to pay out; when there is not enough to pay out, the excess is shared among all underwriters according to the weighting of the capital in the Capital Reserve by the underwriters. In that way, returns for underwriters can be maximised and the risk of loss can be minimised. + + + +### 4. Documentation of core components, protocols, architecture, etc. to be deployed + +For more detailed explaination, please check out our [white paper](https://metadefender.gitbook.io/meta-defender-v3-eng-ver./). + +#### 4.1 AMM 2.0 Model for calculating premium rates + +First, two concepts are defined, + +- Premium Rate (α) : the amount spent to purchase the policy, as a ratio to the policy sum insured; + +- Remaining Available Capital (P): the amount of assets left in the Capital Reserve in the extreme case, assuming all surviving policies have claims; also understood as the total amount of money currently in the Capital Reserve, minus the total amount of coverage for all unexpired policies. + +In the absence of new underwriters joining or no underwriters withdrawing liquidity, both of the above always satisfy as the followings: + +

+ +k is a fixed value. As the number of policies increases, P gradually decreases and α increases, representing an increase in insurance demand, and vice versa. + +When new underwriters join, P increases, α remains constant, and k increases accordingly. + +

+ +Similarly, when the underwriter withdraws liquidity, P and k decrease at the same time. + +If the policy expires and frozen capital is released, this also leads to an increase in P. In this case, k is constant and α decreases. + +There is a minimum value of α as α0​, and the decrease of α is limited to this value, which then causes the value of k to increase. When the value of P "expands" to the point where α touches α0​, then α stops decreasing and k increases: + +

+ +In the traditional insurance industry, premiums are actuarially priced based on the probability of historical risk events. The existing blockchain insurance products also build some actuarial models, but it is difficult to ensure the actuarial results are truly objective and credible when the historical data samples are not sufficient. Meta Defender tends to determine the risk pricing of each agreement based on the most basic economic rule: the relations between supply and demand. + +One possible question is whether the mechanism will cause underwriters to purchase their own insurance in bad faith and drive up premium rates. In order to avoid such attack, In order to calculate k, Meta Defender will add virtual liquidity to the real P value, which will make the curve of premium rate more smooth and significantly increase the cost of such attack. + +#### 4.2 Rewards and responsibility of underwriters + +To facilitate valuation, Meta Defender suggests to use a stablecoin for insurance and underwriting purposes. Assuming the stablecoin is called Token, the underwriter provides A tokens(A as the number of the token) to an Capital Reserve and receives a number of sTokens (staked token) based on the capital exchange rate η of the pool. The number of sToken, which is A' is: + +

+ +The sToken is not a transferable ERC20 token; it is simply a credit to the underwriter by the pool as a credential to capture premium rewards and withdraw assets in the future. + +At the time each pool is created, the starting value of η is 1. Given that pay-outs of claims are prioritised through the Mining Pool balances for claims(Risk Reserve), the value of η is maintained at 1 as long as there is no large-scale claims event resulting in an encroachment on the Capital Reserve's principal. + +#### 4.2.1 Global Variables + +- η: the exchange rate of Token to sToken; +- accumlatedRewardPerShare (accRPS): 1 sToken's accumulated captured premium reward; +- accumulatedShadowPerShare (accSPS): 1 sToken's accumulated "captured" risk; +- accumulatedShadowPerShareDown (accSPSDown): the release (reduction) of accSPS as a result of policy expiration; +- latestUnfrozenIndex: For the most recent policy written off, the latest underwriters who joined the pool that covered this policy. Or in other words: "youngest one" (age = length of time in the pool) + + +#### 4.2.2 Data Structure of the Underwriter and the Policy + +When an underwriter stakes some Tokens to the protocol, the protocol marks him like this: +- index: the order in which the underwriter joined the protocol; +- sTokenAmount: the number of sTokens acquired by the underwriter (i.e., A as the number of Token in the previous section); +- rewardDebt(RDebt): ​sTokenAmount∗accRPS, the reduction factor for calculating the underwriter's capture of the reward; +- shadowDebt(SDebt):sTokenAmount∗accSPS​, the reduction factor for calculating the underwriter's capture of the risk; +When a policy is created, the protocol will mark it as follows: +- coverage: the policy’s coverage, also the shadow that will be shared by all underwriters; +- ΔaccSPS:coverage/sToken.totalSupply,the incremental accSPS resulting from the policy - it will accumulate in accSPSDown when the policy expires; +- latestProviderIndex: the index of the last underwriters of the pool, which can be understood in conjunction with the latestUnfrozenIndex in the previous section + +#### 4.2.3 Policy Generation and Reward Capture + +After a policy is generated, we set the amount paid by policyholder as “fee”, and we have + +

+ +For each underwriter in the underwriting Capital Reserve, the withdrawable proceeds at this point are calculated as: + +

+ +​The proceeds can be immediately withdrawn to the underwriter's own wallet. + +#### 4.2.4 Policy Generation and Frozen Capital + +A policy is generated and the accSPS is increased: + +

+ +For each underwriter in the pool, the cumulative frozen capital amount is: + +

+ +#### 4.2.5 ​When the Risk Reserve is Insufficient to Pay for Claims + +When the Risk Reserve does not have enough funds to pay for a policy that actually suffers a loss or damage, the protocol will share the excess of the claim amount with the underwriter according to the weight of the underwriter's sToken. + +This is an extremely rare and exceptional circumstance and will result in a reduction of the exchange factor η. +Assume when that this situation arises, and the excess of claims over the Risk Reserve is δ, the new η becomes + +

+ +TokenRemain includes the token frozen in the protocol of the underwriters who are able to underwrite for new policies, as well as the token of those underwriters who have stopped underwriting for new policies. + +​It can be seen that the value of η decreases further, and the number of sTokens - representing the weight of capturing premium rewards, while bearing liability - that can be obtained for an equal amount of Tokens for underwriters joining the pool thereafter is increased . This is clearly due to the reduction in the actual underwriting capacity of the original underwriters following the erosion of the principal in the pool. + +#### 4.3 Underwritten Assets Withdrawal Mechanism + +#### 4.3.1 Available Assets that can be Withdrawn by Underwriters + +Underwriters can withdraw a portion of their unfrozen capital at any time before it is completely frozen. However, the frozen part needs to wait for the corresponding policy expiration to exit. +The assets that can be withdrawn by the underwriter is calculated by the formula: + +

+ +​shadow is the amount of assets of the underwriters that has been frozen. However, the situation becomes more complicated when considering a policy that has expired which results in releasing part of frozen capital. + +#### 4.3.2 Cancellation of Policies + +Along with the cancellation of policies which expire, the corresponding underwriters’ frozen capital should be released. +When a policy is generated, we record its lastProviderIndex and ΔaccSPS. When it is cancelled, the protocol synchronises the latestUnfrozenIndex to the lastProviderIndex of this policy, and accumulates accSPSDown: + +

+ +​When calculating an underwriter's shadow, it is necessary to first determine the relationship between his index and latestUnfrozenIndex. When index<=latestUnfrozenIndex, it means that the capital being released already has the part of the underwriter’s frozen capital. His shadow will be calculated by: + +

+ +#### 4.3.3 After Underwriter Withdrawal of Assets + +In order to make the protocol easier to maintain and to reduce the cost of gas fee when users invoke the contract, Meta Defender currently requires the underwriter who would like to quit to withdraw all remaining liquidity at once (i.e., withdraw mentioned above). + +Of course, you may only want to "withdraw partially". It is very simple to implement this - you could simply withdraw in full and then re-join with your desired coverage amount. This saves the protocol from having to maintain a huge ledger, where the cost of gas would otherwise become unimaginable. + +When an underwriter withdraws assets, he or she needs to destroy all of his or her sToken. + +Suppose an underwriter P destroys all of his sToken, declaring that he has ended his status as an underwriter. Regardless of how much capital he has actually withdrawn (usually less than his original provided capital, i.e. η*sTokenAmount, less than ), he can no longer continue to capture premium and no longer underwrite new policies, i.e., no longer "capture" new shadow. + +The protocol creates a "historical identity" for him, P', and records the following parameters: + +fsToken(frozen_sToken): the number of Tokens that this underwriter has not withdrawn, which will be then converted to sToken according to current η; + +accSPS_P: the accSPS of P when it quits the protocol; + +index: the index inherited from P; + +sTokenAmount_P : the sTokenAmount inherited from P; + +SDebt_P: the sDebt inherited from P. + +It can be seen that the maximum amount that can eventually be released by P' is: + +η∗fsToken​ ------ ①; + +The shadow inherited by P' from P is: + +sTokenAmount_P*accSPS_P - SDebt_P + +Or + +sTokenAmount_P*(accSPS_P - accSPSDown)------- ②; + +Obviously, at this point ②>=①. + +Thereafter, the Meta Defender protocol monitors for changes in ②. As the earlier policies gradually expire and are cancelled as well as the capital is unfrozen, the value of ② gradually decreases (of course, the relationship between index and latestUnfrozenIndex is taken into account, and ② is really reduced when index <= latestUnfrozenIndex. + +When ② < ①, the difference between ① and ② is the capital of P being unfrozen. P extracts it, updates the value of ① to ②, and waits for the next unfrozen part. + +As accSPSDown increases, the value of ② eventually goes to zero. Zero is the minimum value of ② and cannot be a negative number. + +After ① goes to zero, all residual capital of P finishes withdrawing. + +#### 4.4 Leveraged Liquidity Mining Rewards Mechanism + +The holder of sToken, i.e. the underwriter of Meta Defender, is entitled to the Leveraged Liquidity Mining rewards. + +In order to encourage underwriters to provide long-term, stable capital, sToken holders are required to hold their sTokens for a certain period of time (approximately 14 natural days, with minor variations depending on the speed of block creation on the mainnet) before they can participate in the withdrawal of this Rewards. + +After withdrawing from the Capital Reserve and destroying the sToken, the holder will lose the eligibility to withdraw the proceeds. The mining proceeds will be hosted separately by Meta Defender's governance contract and will be claimed from the pool for sToken. + + + + +### Ecosystem Fit + +- Where and how does your project fit into the ecosystem? + +Meta Defender will use the stablecoin in parachains as the currency for buying cover, underwriting and for payouts of claims. Currently Meta Defender is planned to be deployed with ink! Smart contract and compatible with Substrate and XCM. Ultimately, we would like to provide insurance services to the main parachains and major protocols in the Polkadot Ecosystem. Also, by introducing XCM, we would like to achieve cross-chain insurance. + +Our Leveraged Mining component will cooperate with top liquidity mining protocols in Polkadot Eco, which will increase the TVL of those projects. + +We are planning to integrate the Blockchain Oracles function in the Polkadot Ecosystem,e.g. Phala, which will expand our insured subject-matters to more off-chain scenarios. + +- Who is your target audience (parachain/dapp/wallet/UI developers, designers, your own user base, some dapp's userbase, yourself)? + +Our target audience will be the users who would like to buy covers for their digital assets in the Polkadot Ecosystem, as well as those who would like to utilise their idle capital to become an underwriter and gain proceeds from Liquidity Mining in the Polkadot Ecosystem and rewards from our insurance protocol. + +- What need(s) does your project meet? + +As the rapid development of Defi markets, asset holders are looking for an insurance protocol that can protect them when emergencies like theft, cyber attack and data leakage happen. Meta Defender is designed for providing such services. + +- Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem? + +There is an insurance protocol called Nsure that received a grant from W3F. Meta Defender has following highlights compared to Nsure: + +Meta Defender’s pricing model is an upgraded Automated Market Maker Model purely based on the relations between supply and demand. Therefore, there is no need to manually adjust the factors for calculating the premium rates because it's auto-generated. + +Meta Defender’s Leveraged Mining will cooperate with Liquidity Mining protocols in the ecosystem while Nsure has their own capital mining pool. We believe, cooperating with top Liquidity Mining protocols in the ecosystem will maximise the returns with the capital that underwriters inject to the protocol. + +We are also planning to provide insurance service for more off-chain scenarios by integrating blockchain oracles, such as flight cancellation insurance. + +## Team :busts_in_silhouette: + +### Team members + +- Name of team leader: Alvin, CEO +- Names of team members: Angie, Fullstack Engineer & 0xdeadbeef, Fullstack Engineer + +### Contact + +- **Contact Name:** Alvin Lu +- **Contact Email:** 0xhikarilab@gmail.com +- **Website:** metadefender.finance + +### Legal Structure + +- **Registered Address:** N/A +- **Registered Legal Entity:** N/A + +### Team's experience + +Alvin: With a background in financial investing and insurance consulting, as well as working a Tech Lead in a Venture Capital, Alvin brings his varied experience to Meta Defender. Alvin is also the external consultant for two AI based projects of China Life Insurance Company, namely an operational decision making tool and a fraud detection technology. He also has massive experience in blockchain, by constructing a DEX and IDO platform. He would like to integrate his expertise in Web3.0 with knowledge in insurance industry and provide a better solution to Blockchain insurance. + +Angie: Angie is a Data Scientist in a ASX-listed Fintech in Australia. She has extensive experience in Finance industry since 2017 and has profound understanding regarding tech utilization in finance industry. Using her expertise, she co-designed the pricing model and business flow of Meta Defender. She is also a crypto enthusiast and fascinated by She masters Solidity, Python Vue.js and Node.js. + +0xdeadbeef: He is a web3.0 coder and researcher for more than 4 years. He has a master's degree from Shanghai Jiaotong University and a major in finance. He masters solidity, Golang, Rust, Python, and Nodejs. In his past working experience, he worked for a public chain company and researched and developed on-chain DeFi projects, especially in options markets. He has much experience in EVM compatible blockchains. Recently, he has been passionate about insurance, which may be a new area in DeFi. Through his working experience in the on-chain option market, he considered there are many similarities between options and insurance. + +### Team Code Repos + +**Team Repo** +- https://github.com/Meta-Defender/ +- https://github.com/Meta-Defender/Meta-Defender-Contract-V3 + + +**Team Member** +- https://github.com/lutianzhou001 +- https://github.com/327istesting +- https://github.com/Angie-Sheng + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Total Estimated Duration:** 8 months +- **Full-Time Equivalent (FTE):** 2 +- **Total Costs:** 8,000 USD + +### Milestone 1 — Basic Functionalities + +- **Estimated Duration:** 4 months +- **FTE:** 2 +- **Costs:** 4,000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how to deploy and use the ink! smart contract. | +| 0c. | Testing Guide | Core functions will be covered by unit tests, along with detailed explanation step by step. | +| 0d. | Docker | We will provide a Dockerfile that can be used to test all the functionality delivered with this milestone. | +| 1. | ink! smart contract | An ink! smart contract that will enable the digital assets holders to buy cover and the capital holder to become an underwriter. | +| 2. | Manual of interaction between ink! and front-end | We will provide a manual regarding constructing an interface for the interaction between front-end and ink! smart contract & Polkadot.js wallet, just like what web3.js and ethers.js have done in the EVM ecosystem. | + +### Milestone 2 Substrate + XCM + +- **Estimated Duration:** 4 months +- **FTE:** 2 +- **Costs:** 4,000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how Meta Defender protocol enables cross-chain insurances. | +| 0c. | Testing Guide | Core functions will be covered by unit tests, which will be considered as another way of explanation | +| 0d. | Docker | We will provide a Dockerfile that can be used to test all the functionality delivered with this milestone. | +| 0e. | Article | We will publish an **article** that explains the functionalities Meta Defender provides, which will cover: 1. auto-pricing model; 2. economic model of insuring and underwriting; 3. how we achieve cross-chain insurance through substrate and XCM and open source this part of code. | +| 1. | Cross-chain support | Establish a local parachain testnet and two local parachains A and B with sovereign account in each other. With smart contract deployed on A parachain, allow the user to buy cover and receive his claim from addresses on the B parachain through XCM. | + + +## Future Plans + +Short-term plan: Expand the subject-matter insured. We plan to provide insurance on at least five parachains and/or products running on them in the Polkadot Ecosystem. + +Medium-term plan: With the aid of blockchain oracles function, to cover real-life off-chain cases. A potential use case can be flight cancellation insurance. + +Long-term: We would like to cooperate with professional security service providers and to undertake detailed risk analysis on the subject-matter insured and potential projects, which enables us to issue security rating reports and become the security rating agency in web3.0 realm. + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** + +Meta Defender is the first-place winner of Acala Hackathon: https://twitter.com/AcalaNetwork/status/1527290444379394049?s=20&t=u60vX2VZTWvSoZ1x62Y-sA + +Meta Defender is also in the 2022 cohort of Web3.0 Bootcamp supported by Web3 Foundation, Parity and Wanxiang Blockchain Labs. + +Since we have participated in a few activities in the Polkadot Ecosystem and have a profound understanding of the eco, we have been advised that we could apply for the grants program and grow with Polkadot. From f76a8025be985481932d84768e711d44c0a35167 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 15 Aug 2022 12:29:52 +0200 Subject: [PATCH 0080/1872] Update accepted_grant_applications.md Add Meta Defender --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 8b9cdbac52d..72776bbf04f 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -529,4 +529,5 @@ | [Green Lemon](https://github.com/GreenLemonProtocol) | Green Lemon Protocol | [GitHub](https://github.com/GreenLemonProtocol) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Stardust Labs Inc.](https://stardust.finance/) | Integrating ISO-8583 | [GitHub](https://github.com/adit313/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [TwinP](https://www.linkedin.com/in/elioprifti/) | Escrow Pallet | [GitHub](https://github.com/herou) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Meta Defender Team](https://github.com/Meta-Defender/) | Meta Defender | [GitHub](https://github.com/Meta-Defender/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From e99eb6db37cd4355a099b1a989642182f6816db3 Mon Sep 17 00:00:00 2001 From: Dakota Barnett <88103615+XCAstronaut@users.noreply.github.com> Date: Mon, 15 Aug 2022 08:22:48 -0400 Subject: [PATCH 0081/1872] Update InvArch.md (#1119) --- applications/InvArch.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/InvArch.md b/applications/InvArch.md index 96f5dc5371a..c173df52d27 100644 --- a/applications/InvArch.md +++ b/applications/InvArch.md @@ -2,7 +2,7 @@ * **Project Name:** The InvArch - INV4 Frame : IP Assets, Licensings, & CLI tool for the Substate ecosystem. * **Team Name:** InvArch Network -* **aUSD Payment Address:** 25aeg1bNLXaYm526R7cXfQNtpEvnv9S23eR17AeDtm5BD7Ce (PLEASE NOTE CHANGE) +* **BTC Payment Address:** bc1qr2wg0snstgn4d2wc0alhhyxs32j58hhdrh5zal (PLEASE NOTE CHANGE) * **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 ## Project Overview :page_facing_up: From 0056d47bd61ce392d184ae02fdf99aca4b6f9ca3 Mon Sep 17 00:00:00 2001 From: Dusan Morhac <55763425+dudo50@users.noreply.github.com> Date: Mon, 15 Aug 2022 16:31:05 +0200 Subject: [PATCH 0082/1872] Create ParaSpell.md (#1118) --- applications/ParaSpell.md | 183 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 183 insertions(+) create mode 100644 applications/ParaSpell.md diff --git a/applications/ParaSpell.md b/applications/ParaSpell.md new file mode 100644 index 00000000000..80944e164dd --- /dev/null +++ b/applications/ParaSpell.md @@ -0,0 +1,183 @@ +# W3F Grant Proposal + +- **Project Name:** ParaSpell +- **Team Name:** ParaSpell +- **Payment Address:** 23sxrMSmaUMqe2ufSJg8U3Y8kxHfKT67YbubwXWFazpYi7w6 (aUSD) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 🐣 + +## Project Overview 📄 + +### Overview 💡 + +XCM & XCMP related development tool for developers. + +ParaSpell main advantages can be summarized in the following list: +- ParaSpell is a platform that allows developers to use specific XCM & XCMP related tasks from a user-friendly interface. +- ParaSpell focuses on ease of use, broad scale of use cases, and bringing XCM & XCMP utilization & documentation closer to developers. +- ParaSpell guarantees to be a completely decentralized, open-source platform that does not collect any user data. + +One of the ParaSpell main goals is to reduce the time necessary to create XCM calls or open HRMP channels. + +[ +![Opening channel screen](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/comparisonImg.jpg) +](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/comparisonImg.jpg) + +As we can see in the figure above, the amount of details the user has to fill to transfer the XCM message is drastically reduced. As an example, users do not need to specify a specific route from origin to destination chain. These details are filled for them. + +Another goal of ParaSpell is having network installation, compilation & startup done as simply as possible. This is achieved by makefile that groups commands into fewer much more intuitive commands and by network startup configuration file. Together, these two files take care of the network side, and adding new nodes into these files is intuitive. Starting the application is also very simple and done by one command. Communication between application and network is made possible with Polkadot API libraries. + +ParaSpell focuses mainly on substrate developers. Added value comes from being user friendly SDK for simplifying development by saving time necessary to install & launch network, open HRMP channels or create XCM transfers between nodes available in network. + +Overall ParaSpell is all about developer experience. + +### Project Details 🎯 + +ParaSpell in its current form allows developers to install all dependencies as well as a network consisting of Rococo, Moonbeam, Basilisk & Acala nodes with one command. Launching a network is also done by one command. Once the network is installed and started ParaSpell application allows developers to open/close HRMP channels between mentioned parachains. In current progress ParaSpell already has user interface and main functionality almost finished. + +The following screen allows the user to open the HRMP channels between list of parachains pulled from Rococo by API call. +[ +![Opening channel screen](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/Open%20channel.png) +](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/Open%20channel.png) + +Closing HRMP channels is just as simple as opening them. One button click to close the required channel. +[ +![Closing channel screen](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/close%20channel.png) +](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/close%20channel.png) + +If the user decides to transfer funds from Relay chain to Parachain they can do so by filling following details. These required details are way faster to fill than filling a full XCM call which requires a complete route and selection of concrete token. +[ +![Relay to para screen](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/relay%20to%20para.png) +](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/relay%20to%20para.png) + +The opposite, but nearly the same scenario is sending tokens from Parachain to Relay chain. It is just as simple, however. +[ +![Para to relay screen](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/para%20to%20relay.png) +](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/para%20to%20relay.png) + +The last transaction scenario is the transfer of funds between Parachain and another Parachain. +[ +![Para to para screen](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/para%20to%20para.png) +](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/para%20to%20para.png) + + +- Overview video of application is also available on Youtube +[Link to overview video](https://youtu.be/YKZEa2MaY6Q) + +#### Architecture 🏗 +[ +![Diagram](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/screenFlow.svg) +](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/screenFlow.svg) + +Application is purposely designed to be as simple as possible. This guarantees, that all tasks can be done quickly and without extended searching. All necessary screens also feature notifications which will as a milestone explain be callback reactive. The loading screen is only present on the first application & network startup, once accessing the same screen after the application was loaded it will be skipped automatically. The screen serves to register necessary assets in parachain nodes. This is only required to be run once per network startup. + +#### Technology Stack 💻 + +- Vue.js +- Node.js +- Typescript +- Polkadot api libraries +- Make +- Polkadot launch +- Substrate compatible nodes (For now Rococo, Acala, Basilisk & Moonbeam) + +### Ecosystem Fit 🌿 + +There are not many XCM & XCMP related development tools released currently. We aim to aid this mostly empty space and help developers to understand XCM & XCMP as the current state-of-the-art technology by providing documentation and a user interface in which they can do development tasks more easily and faster. + +In Polkadot and Kusama ecosystem, there are few XCM & XCMP related Dapps in development. These rather focus on standard users mostly. One of mentioned type is called "Morph". + +Unlike the already mentioned "Morph" platform ParaSpell focuses more on developers. ParaSpell features complete network install and startup configuration in one single command. This automatization ensures, that developers do not need to do any extra tasks when they wish to run development nodes locally. ParaSpell also allows developers to open and close HRMP channels between Parachains they connected. Like "Morph", ParaSpell can also transfer fungible tokens in three scenarios. From Parachains to Relay chain, from Relay chain to Parachains & from Parachains to Parachains. + +Our target audiences can be Web3 projects & starting/current blockchain developers. + +## Team 👥 + +### Team members (In order of joining time) + +Dušan Morháč - Student, project Core Dev. Faculty of Informatics and Information Technologies STU in Bratislava + +Viktor Valaštín - Supervisor, founder of [KodaDot](https://kodadot.xyz/). Faculty of Informatics and Information Technologies STU in Bratislava + +### Contact 📞 + +- **Contact Name:** Dušan Morháč +- **Contact Email:** [xmorhac@stuba.sk](mailto:xmorhac@stuba.sk) + +### Legal Structure + +- **Registered Address:** No legal structure yet. +- **Registered Legal Entity:** No legal structure yet. + +### Team's experience 🔎 + +- Dušan is the programmer behind this project and has successfully presented it at the international conference ICECET2022 held in Prague from which there is an article regarding XCMP & our project. It will soon be published on IEEE and a link will be provided. Dušan also studies blockchain technology and had a bachelor thesis about cross-blockchain sharing from which this idea was born. +- Viktor ([@vikiival](https://twitter.com/vikiival)) is building open-source software in the Polkadot ecosystem since 2019. Viktor is also Dušan's supervisor, Co-Founder of [KodaDot](https://kodadot.xyz/), and co-author of our XCMP ICECET2022 article publication. + +### Team Code Repos 📚 + +- [https://github.com/dudo50/ParaSpell](https://github.com/dudo50/ParaSpell) +- [https://github.com/kodadot/nft-gallery](https://github.com/kodadot/nft-gallery) + +#### Team github accounts 🧑‍💻 +- [https://github.com/dudo50](https://github.com/dudo50) Dušan Morháč +- [https://github.com/vikiival](https://github.com/vikiival) Viktor Valaštín + +### Team LinkedIn Profiles 🧑‍🎓 + +- [https://www.linkedin.com/in/dudo50](https://www.linkedin.com/in/dudo50) +- [https://www.linkedin.com/in/vikival](https://www.linkedin.com/in/vikival) + +## Development Status 📖 + +- [https://github.com/dudo50/ParaSpell](https://github.com/dudo50/ParaSpell) This is the repo for ParaSpell and there is already a user interface that can open HRMP channels & transfer fungible tokens between Acala and Rococo. Wallet support from milestone was recently implemented, it only needs to be added to calls. + +## Development Roadmap 🔩🛠 + +### Overview + +- **Total Estimated Duration:** 2 months ⌛️ +- **Full-Time Equivalent (FTE):** 1 FTE +- **Total Costs:** 10,000 USD 💰 + +### Milestone 1 — Cross-blockchain application for developers + +- **Estimated duration:** 2 months ⌛️ +- **FTE:** 1 FTE +- **Costs:** 10,000 USD 💰 + +| Number | Deliverable | Specification | +|--------|---------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 0a. | License | MIT | +| 0b. | Documentation | Inline documentation of code, as well as startup
configuration with all necessary commands, included
in repository | +| 0c. | Testing Guide | Core functionality & user guide will be covered in
repository documentation | +| 0d. | Docker | Frontend Docker file will be ready | +| 0e. | Article | Soon to be released on IEEE + Medium article about development of ParaSpell | +| 1. | Wallet login | Developers can use their Polkadot js
extension wallets to execute transactions XCM
from their accounts. | +| 2.a | Full working
fund transfer
scenario 1 | Fully working transaction
scenario 1 - Relay chain to Parachains | +| 2.b | Fully working
fund transfer
scenario 2 | Fully working transaction
scenario 2 - Parachains to Relay chain | +| 2.c | Fully working
fund transfer
scenario 3 | Fully working transaction
scenario 3 - Parachain to Parachain | | +| 3.a | Callback support 1 | Added callback data support so developers/users
can see information about their XCM transactions
from UI and in real-time. | +| 3.b | Callback support 2 | Added callback data support so developers/users
can see information about HRMP channel calls
from UI and in real-time. | +| 4. | ParaSpell SDK | Move calls to separate NPM library | +| 5. | Guide to add new
nodes to application
and network | Simplified and user-friendly wiki/guide for
users to understand how to add new nodes to
network startup configuration as well as to
add/understand calls used in application | + + +## Future Plans 🔭 + +Once everything will be implemented according to the proposed plan application will still be under constant improvement as technology will progress. For example, once the XCMP protocol will be released we wish to deprecate the HRMP protocol we currently use for channels. + +In a long run, we also want to improve design, add new features that can be useful for developers, support for new nodes, and ability to add a new node from the user interface. + +## Additional Information ➕ + +**How did you hear about the Grants Program?** Personal recommendation + +**About project success so far:** +- Project article was accepted on international conference ICECET2022 ( only 450 out of 1000+ articles got accepted) +[Link to conference physical program - Article 862 ](http://www.icecet.com/program_P.pdf) + + +- Project won 🥈 second place bounty at Polkadot North America Hackaton in category "Build an XCM Related Tool for Moonbeam" +[Link to moonbeam winner announcement twitter post]( +https://twitter.com/MoonbeamNetwork/status/1555654398658977792) +[Link to hackaton entry post](https://devpost.com/software/polkachange-cross-blockchain-transfer-tool) From 15ce209cf9503921a72a046640144eb1e0bf6973 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 15 Aug 2022 16:33:06 +0200 Subject: [PATCH 0083/1872] Update accepted_grant_applications.md ParaSpell --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 72776bbf04f..36ca52e0c5d 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -530,4 +530,5 @@ | [Stardust Labs Inc.](https://stardust.finance/) | Integrating ISO-8583 | [GitHub](https://github.com/adit313/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [TwinP](https://www.linkedin.com/in/elioprifti/) | Escrow Pallet | [GitHub](https://github.com/herou) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Meta Defender Team](https://github.com/Meta-Defender/) | Meta Defender | [GitHub](https://github.com/Meta-Defender/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [ParaSpell](https://github.com/dudo50/ParaSpell) | ParaSpell | [GitHub](https://github.com/dudo50/ParaSpell) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 5b2a87a8e2295b39020ecdf3621397406a3f5c0b Mon Sep 17 00:00:00 2001 From: Andy-Meta <108513186+Andy-Meta@users.noreply.github.com> Date: Tue, 16 Aug 2022 17:29:43 +0800 Subject: [PATCH 0084/1872] Submit application of Primis (#1059) * Add files via upload * Update Primis.md * Update Primis.md * Update Primis.md * Update Primis.md --- applications/Primis.md | 147 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 147 insertions(+) create mode 100644 applications/Primis.md diff --git a/applications/Primis.md b/applications/Primis.md new file mode 100644 index 00000000000..6c70cedbe23 --- /dev/null +++ b/applications/Primis.md @@ -0,0 +1,147 @@ +# W3F Grant Proposal + + +- **Project Name:** Primis +- **Team Name:** Primis +- **Payment Address:** 0x0Ad212E301AD590f4E70dA0c0Aa2912273cB4098 (USDC) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 + + +## Project Overview + +### Overview +Primis Desktop provides a one-stop Web3 integrated client for the Polkadot ecosystem. + + +### Primis Web3 Desktop for Polkadot +**Primis Wallet** + +Primis Desktop Wallet is the best tool to manage multi-chain assets on the Polkadot ecosystem, such as Polkadot, Kusama, and other parachains. Asset management mainly includes digital/NFT assets checking, sending, receiving, and trading records on the Polkadot ecosystem. + + **P2P Chat** + +Primis Desktop provides encrypted chat groups for Polkadot ecosystem users to discuss decentralized Gov2 governance and Proposal freely. ZK-Proof technology will be combined into Primis chat groups to offer more privacy and decentralized DAO governance space.  + +Primis Desktop could automatically create encrypted chat groups for Polkadot ecosystem DApps, each DApp has its own independent chat group. + +- Channels For Chat +image + + +- P2P Chat +image + + + +**Subscribe** + +Primis Desktop also is a place for users to subscribe to Polkadot decentralized notifications like EPNS. Initially, Primis Desktop will provide asset change notifications for Polkadot, Kusama, and other parachains. More on-chain DApps notifications to exploit in the future. + + +**Primis Web3 PNS Browser** + +Primis Desktop will gestate a Chrome-compatible PNS browser for the Polkadot ecosystem, allowing Polkadot ecosystem users to access Web2 pages and interact with Web3 DApps freely. Primis Web3 PNS Browser supports Polkadot ecosystem PNS domains’ resolution and visit.  + + +Unlike traditional browsers such as Chrome, Brave, and Web2 centralized Cloud Service, Primis Web3 PNS Browser is based on a data relay network, where access and application data are transmitted to clients or Primis terminals through a relay network of Primis nodes. + +**DApp Self-Hosting Platform** + +Primis Desktop provides the plug-in function. All DApps on the Polkadot ecosystem can integrate and deploy on the Primis relay node network and upgrade and confirm through the reliable connection contract in a smart contract to ensure applications’ security. + +*** +Due to being the first Web3 desktop, Primis will interact with Polkadot's Web3 Ecosystem and bring the brand-new desktop concept to web3 users of Polkadot. + +All of our teammates truly believed in the Web3 Revolution! That's why we want to boot this Web3 project. + +### Tech Stack + + +Supported Chains: Polkadot, Kusama, and other Parachains such as Acala, Astar, and Moonbeam.  + +Client language: Electron, React + +Server language: Nodejs + +P2P language: Golang + + +### Ecosystem Fit + +Primis is the first blockchain project known as the web3 desktop. And we want to attract more other ecosystems' web3 users to Polkadot ECO. Since primis is based on the concept of Web3, it has strong relationships with the most famous web3 organization W3F, and must be born here. + + +## Team + +### Team members +Primis team has rich experience in the fields of the public chain, infrastructure, and defi. Team members' info will be released after reviewing. + +### Contact + +- **Contact Name:** Andy +- **Contact Email:** Contact email (contact@primis.cc) +- **Website:** primis.cc + +### Legal Structure + +- **Registered Address:** This info will be released after reviewing +- **Registered Legal Entity:** Also, this info will be released after reviewing. + +### Team's experience + +Primis team has developed some blockchain projects, like [Metauce](metauce.org) + +### Team Code Repos + +[Github](https://github.com/Primis-Labs/client) + + +### Team LinkedIn Profiles (if available) + +This info will be released after reviewing + +## Development Status + +Primis Team already completed the designing work of Primis Desktop and started working on Milestone 1 Tech Tasks. + +## Development Roadmap + +### Overview + +- **Total Estimated Duration:** 6 weeks +- **Full-Time Equivalent (FTE):** 3 FTE +- **Total Costs:** 10,000 USD + +### Milestone 1 - Polkadot ECO Wallet + +- **Estimated duration:** 6 weeks +- **FTE:** 3 +- **Costs:** 10 ,000 USD + +| Number | Deliverable | Specification | +| -----: | ------------------------------ | ------------------------------------------------------------ | +| 0a. | License | MIT | +| 0b. | Documentation | We would provide an **inline document** of code and tutorial docs that explain how users can install it. | +| 0c. | Testing Guide | Unit tests will cover all core functions to ensure functionality and viability. We will describe how to run the tests in the tutorial. | +| 0d. | Docker | Wallet application does not require Docker, and we would provide a client for users to install under Windows/MacOS system. | +| 1. | Build app structure | We will have the core structure of the application in place. | +| 2. | Implement wallet view | Create, import, view, and transfer functions will be provided by the integrated Polkadot wallet.| +| 3. | Build Polkadot ECO wallet | Checking, sending, receiveing assets of Kusama, Moonbeam, and Acala will be provided for Primis users. | +| 4. | NFT assets management | NFT assets can be viewed, sent, and received under Primis. | +| 5. | Setup Primis NFT avatar | Users can set NFTs as their wallet avatars. | + +## Future Plans + +Short-term: After finishing all milestones, the users' amount of Primis web3 desktop will be over 50K. + +Long-term: The most influenced Web3 desktop + + +## Additional Information + +**How did you hear about the Grants Program?** Web3 Foundation Website + + + + + From a096e4f6fe293cf5f7136b52d6684b417e0af08c Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 16 Aug 2022 11:31:15 +0200 Subject: [PATCH 0085/1872] Update accepted_grant_applications.md Primis --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 36ca52e0c5d..68e0fb6c829 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -531,4 +531,5 @@ | [TwinP](https://www.linkedin.com/in/elioprifti/) | Escrow Pallet | [GitHub](https://github.com/herou) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Meta Defender Team](https://github.com/Meta-Defender/) | Meta Defender | [GitHub](https://github.com/Meta-Defender/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [ParaSpell](https://github.com/dudo50/ParaSpell) | ParaSpell | [GitHub](https://github.com/dudo50/ParaSpell) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Primis Labs](https://github.com/Primis-Labs) | Primis | [GitHub](https://github.com/Primis-Labs/client) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From cc0e90218b7173ae2bae52afa8c43001d97425ad Mon Sep 17 00:00:00 2001 From: ashley grevelink Date: Tue, 16 Aug 2022 03:32:42 -0600 Subject: [PATCH 0086/1872] Update accepted_grant_applications.md (#1120) --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 68e0fb6c829..6d7f4069dff 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -492,7 +492,7 @@ | [Decentration](https://kabocha.network) | Supersig | [GitHub](https://github.com/kabocha-network) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Web3 Labs Ltd](https://www.web3labs.com/epirus-explorer) | Epirus Substrate Explorer | [GitHub](https://github.com/web3labs) |
  • [ ]
|
  • [x]
|
  • [x]
| | [SuperColony](https://github.com/Supercolony-net) | Sol2Ink | [GitHub](https://github.com/Supercolony-net) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [SuperColony](https://github.com/Supercolony-net) | OpenBrush Phase 3 | [GitHub](https://github.com/Supercolony-net) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [SuperColony](https://github.com/Supercolony-net) | OpenBrush Phase 3 | [GitHub](https://github.com/Supercolony-net) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [FS](https://fair-squares.nl/) | Fair Squares | [GitHub](https://github.com/Fair-squares) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Ideal Labs](https://www.idealabs.network/) | Iris: Phase 2 | [GitHub](https://github.com/ideal-lab5) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [NeoPower](https://www.neopower.digital/) | Roloi: Stream money from one wallet to another | [GitHub](https://github.com/RoloiMoney) |
  • [ ]
|
  • [x]
|
  • [x]
| From c1d747cbdd2798c96dadcdaa1fc74e222a357dbd Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 16 Aug 2022 13:47:17 +0200 Subject: [PATCH 0087/1872] Update README.md Update USDT payment --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6d995afb1cf..0a378495267 100644 --- a/README.md +++ b/README.md @@ -141,7 +141,7 @@ The W3F Grants Program offers different grant levels to help you best depending ## :pencil: Process -> **:loudspeaker:** The process below is independent of the [level](#level_slider-levels). Payment is made in Bitcoin, USDT, USDC, DAI or aUSD. If you want to apply in **private** and/or you need to be paid out in **fiat**, you can apply [:arrow_right: here](https://docs.google.com/forms/d/e/1FAIpQLSfMfjiRmDQDRk-4OhNASM6BAKii7rz_B1jWtbCPkUh6N7M2ww/viewform). Note that this is generally a slower process and imposes stricter requirements on applicants. +> **:loudspeaker:** The process below is independent of the [level](#level_slider-levels). Payment is made in Bitcoin, USDT (KSM or ETH), USDC, DAI or aUSD. If you want to apply in **private** and/or you need to be paid out in **fiat**, you can apply [:arrow_right: here](https://docs.google.com/forms/d/e/1FAIpQLSfMfjiRmDQDRk-4OhNASM6BAKii7rz_B1jWtbCPkUh6N7M2ww/viewform). Note that this is generally a slower process and imposes stricter requirements on applicants. ### 1. Application From a165bafcbb0de5b3754ef52615772bade2ff89e9 Mon Sep 17 00:00:00 2001 From: Ikko Ashimine Date: Tue, 16 Aug 2022 20:50:11 +0900 Subject: [PATCH 0088/1872] Fix typo in perun_app_channels.md (#1122) accomodate -> accommodate --- applications/perun_app_channels.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/applications/perun_app_channels.md b/applications/perun_app_channels.md index 7b1dcc794f3..a83271028d6 100644 --- a/applications/perun_app_channels.md +++ b/applications/perun_app_channels.md @@ -274,7 +274,7 @@ https://github.com/ajuna-network/Ajuna.ServiceLayer. | 0b. | Documentation | We will provide both inline documentation of the code and a basic tutorial that describes the new functionality. | | 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | | 0d. | Docker | We will provide Dockerfiles that can be used to test all the functionality delivered with this milestone. | -| 1. | App identifier and data | We will extend the channel parameters to include an optional app identifier and the channel state to include an app data field. We will adapt existing code and tests to accomodate the changes. +| 1. | App identifier and data | We will extend the channel parameters to include an optional app identifier and the channel state to include an app data field. We will adapt existing code and tests to accommodate the changes. | 2. | App registry | We will create an app registry abstraction that will be used for dereferencing `validTransition` calls to the respective application logic. For testing, we will need to implement a simple app registry as part of a pallet. We plan to coordinate with Ajuna to ensure that the app registry abstraction can later be integrated with their platform. | 3. | Progress function | We will implement functionality for enforcing an app state transition without full off-chain consensus. This will require adapting the channel state machine and therefore also the existing Pallet state variables and functions. A corresponding new event type must be added. @@ -291,7 +291,7 @@ https://github.com/ajuna-network/Ajuna.ServiceLayer. | 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | | 0d. | Docker | We will provide Dockerfiles that can be used to test all the functionality delivered with this milestone. | | 1. | Update backend | We will update the Polkadot backend to ensure that it is compatible with the latest release of go-perun. -| 2. | App identifier and data | We will extend the channel parameter encoding and decoding to include the app identifier. We will extend the channel state encoding to include an app data field. We will adapt existing code and tests to accomodate the changes. +| 2. | App identifier and data | We will extend the channel parameter encoding and decoding to include the app identifier. We will extend the channel state encoding to include an app data field. We will adapt existing code and tests to accommodate the changes. | 3. | Progress function | We will implement the `Progress` function for the Polkadot backend so that it satisfies the client protocol requirements. We will adapt the event handler functionality to cope with the new event type. ### Milestone 3 — Demonstrator From 7300dfa601364320ff7cb01c37b7a7e32a1bfc02 Mon Sep 17 00:00:00 2001 From: Bader Youssef Date: Tue, 16 Aug 2022 08:13:09 -0400 Subject: [PATCH 0089/1872] added uke proposal (#1121) --- applications/uke.md | 272 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 272 insertions(+) create mode 100644 applications/uke.md diff --git a/applications/uke.md b/applications/uke.md new file mode 100644 index 00000000000..217f611476b --- /dev/null +++ b/applications/uke.md @@ -0,0 +1,272 @@ +# W3F Grant Proposal + +> See the [Grants Program Process](https://github.com/w3f/Grants-Program/#pencil-process) on how to submit a proposal. + +- **Project Name:** Uke Messaging - PoC - Phase 1 +- **Team Name:** Uke +- **Payment Address:** bc1qttjsaqr0m8sxm46wnfdupzpl6rjemts3uxsuu5 +- **Level:** 1 + +> ⚠️ *The combination of your GitHub account submitting the application and the payment address above will be your unique identifier during the program. Please keep them safe.* + +## Project Overview + + +### Overview + +Uke is a p2p, completely distributed messaging protocol. It utilizes local cryptography and a Substrate blockchain instance to verify, send, and receive messages in real time - just like any other conventional messaging protocol, and can be used to construct messaging apps, or any other application in which real time messaging is needed. + +Substrate is a key part of this solution, as **uke** essentially defies the need for any sort of traditional backend in favor of a **completely DLT based infrastructure.** + +Initially, the PoC for this phase will be messaging app, however key components will be built that will allow for many more applications in the future. The eventual goal is a messaging protocol that can be implemented anywhere, and is not dependent on any one centralized backend. + +The purpose of this messaging app is to have it entirely independent of any third party service for both messaging and users - a true representation of web3. + + There is more to uke than just peer to peer messaging - it’s to demonstrate a lot more can be created with DLT than just another cryptocurrency. Rather than exchange currency one another, uke aims to take those same concepts and apply them to data and messaging. + + Personally, I am passionate about bringing more value to web3 via this sort of application - something that can be used by people, but also in a wider context of businesses and confidential, secure messaging. + + +### Project Details + + +**Project Expectations & Goals** + +The initial goal for this grant is to allow for the development of a PoC of this messaging protocol in the form of a mobile app. + +In the future, as the protocol becomes more defined, the goal is to develop a suite of SDKs and docs centering around secure and confidential messaging for any use case - with Substrate and its extensive functionality being the core of the solution. + + +Uke has a few primary goals and standards to upkeep: + +1. Privacy - each message sent is completely, and purely, peer to peer - no one else can intercept or decrypt the message. + +2. Fault Tolerance / Reliability - By using DLT, we remove the need for a central server, meaning as long as an amount of nodes are kept online, users can still talk to one another. This is especially useful in emergency scenarios, as users can even opt to run their own nodes to ensure 100% runtime. + +3. Anonymity - since each user is essentially just a cryptographic key paired with an id, user’s can easily stay anonymous on and off chain if they so wish to choose. + + +**Technology Stack** + +For the front end, Ionic will be used for all web, Android and iOS versions. + +The backend will purely be DLT based - for this one, a Substrate instance will be run to send messages back and forth between accounts. + + +Below are the summarized languages / tech stack + +- Typescript / Javascript +- Rust +- Ionic +- ink! (where applicable) + +**High Level Architecture** + +![](https://media.discordapp.net/attachments/922350668264652810/1006601101375721522/Screenshot_2022-08-09_at_12.32.44_PM.png?width=880&height=1022) + + +***As a general overview, each message will be a transaction, and each user is essentially merely an account on the blockchain.*** + +**Components** + + +*For the purposes of defining the Uke PoC / MVP, the initial functionality of both modules will be represented via an ink! smart contract. However, in the future, it is planned to become a full pallet as needs become more apparent. If it is preferred for the initial implementation to be a pallet, then we can arrange that.* + +1. **Human DNS Module / Contract (future pallet)** + +Using Substrate allows for the use of an ink! Smart contract, which in this case is used for mapping cryptographic addresses to more human readable names, just like a DNS. We call this the Human DNS, and essentially it maps unique, human readable ids to otherwise illegible addresses. + +With this mapping of addresses, users can then look up other users and add them to their contacts, or write them a new message, or any other package of data in theory. + + +2. **Account Rules Module / Contract (future pallet)** + +Users can define rules for whether they wish to be contacted or not, and who can contact them. They essentially can create whitelists to explicitly allow who is permitted to message that specific account, along with what data can be sent in the future. + +This measure prevents a common issue with phone numbers, email, and even other apps - spam. Using smart contracts ensures the rules are kept in place, and the user is safe from any malicious or unwanted messages. + +Each message is a transaction on the blockchain, which depending on the rulings, can be deemed valid or invalid. In theory, one could set up their own Uke messaging network with very specific rulings in the future. + + +3. **Substrate Instance** + +The Substrate Instance will allow for all messages to be propagated, as well as smart contracts to be deployed in a guaranteed environment. + +It's worth noting that I plan to implement the concept of *light clients* into each client-side instance, so as to provide + + +4. **Uke Messaging App** + +The eventual conclusion, and primary deliverable of this proposal is representing all of the aforementioned technology into an easy to use, hybrid mobile app that will be released for use. This app can be used across either Kusama or custom Uke networks, whatever is deemed fit upon launch. + +**Mockups and Design of PoC App** + +*Keep in mind these are mockups, and are subject to change* + +![](https://media.discordapp.net/attachments/922350668264652810/1006620707519729774/uke-collection2x.png?width=984&height=1022) + + +### Ecosystem Fit + +The eventual goal is to provide a streamlined way to for the following in the Substrate / Polkadot ecosystem: + +1. Provide a common, and easy to use identity solution +2. Provide a way to define account rules and filters in order to customize what transactions, messages, or accounts can interact with an account. +3. Provide an out-of-the-box confidential messaging protocol which can be used for many different usecases. + +The target audience here is our own user-base eventually, but also developers through opensourcing all work done here along with documentation on how one can also setup their own messaging using our tools. + +Currently, there is no standard for how one can build a dapp quickly, and that does something common. This can serve as a baseline for how a dapp can function without the use of cryptocurrency or the like. + +What makes us different: + +1. No traditional backends are used here. Everything is purely based off of Substrate, as shown in the architecture diagram. + +2. In our designs, the use of DLT/blockchain is not shown - this is intentional, as it allows users to merely experience a secure messaging experience without the cumbersome interface + +## Team + +### Team members + +- Bader Youssef - Team Lead, Architect, and Fullstack Developer. + +### Contact + +- **Contact Name:** Bader Youssef +- **Contact Email:** ibnbassem@gmail.com + +### Legal Structure + +- **Registered Address:** N/A +- **Registered Legal Entity:** N/A + +### Team's experience + +Bader has previously built over systems on both Ethereum and the NEM/Symbol blockchain - part of which you may see on his Github. He mainly has focused on creating front-end applications and architecture around purely DLT architectures for multiple companies. He is proficient in a number of programming languages and protocols, as well as general solution architecture for both low and higher level software. + +Some notable projects include: + + +1. A PoC IoT device that logged sensor data directly to a blockchain. This included a custom UART serial protocol to convert Arduino code to blockchain transactions. + +2. Portable battery powered nodes, utilizing a Raspberry Pi. (I'd like to do this for Substrate as well!) + +3. The nftize project, an app that allowed for anyone to convert a physical asset to a digital one with ease. + +4. Implementing Shamir secret sharing for an "offline multi sig" and private key sharding model. + +5. A supply chain tracking system in which crop from the US was tracked to Japan over a private NEM blockchain +instance. + +In his spare time, he also wrote many articles centered around using blockchain in practical and real world scenarios, which you may find here: https://iodlt.com/iodlt-blog/ + +He is also published on Hackernoon, with articles gaining some traction (plans to write more!): https://hackernoon.com/u/crackTheCode + +If any more proof / material is needed, then it will be provided! + + +### Team Code Repos + +The eventual code regarding uke will reside in the following repository: + +- https://github.com/Uke-Messaging + +- Bader Youssef - https://github.com/CrackTheCode016 + +### Team LinkedIn Profiles (if available) + +- Bader Youssef - https://www.linkedin.com/in/bader-youssef-975914159 + +## Development Status + +There is currently a WIP repo that is being constructed in parallel with this proposal, which will be shared as soon as possible. To clarify: + +- The front end is mostly implemented for the mobile app, along with a login / signup system using polkadotjs. + +- The initial architecture is all complete, with future plans for pallet development. + +## Development Roadmap + +### Overview + +- **Total Estimated Duration:** 2 months +- **Full-Time Equivalent (FTE):** 1 (one) for the duration of the project +- **Total Costs:** $9,000 USD + +### Milestone 1 — Implement ink! Human DNS & Account Rules Contracts + +- **Estimated duration:** 1 month +- **FTE:** 1 +- **Costs:** 4,500 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how anyone can submit the contract to a valid Substrate node, as well as how to properly run unit tests for the contract in question. | +| 0c. | Testing Guide | Both contracts will be unit tested to the maximum with proper documentation and justification. | +| 1. | Human DNS ink! Smart Contract | Fully functioning smart contract, queryable that keeps a mapping of addresses to users, allowing for user IDs and accounts to be identified. | +| 2. | Account Rules ink! Smart Contract | Fully functioning smart contract which maps rules to registered accounts. Each account is either "opted in", or out. Accounts can then set and define rules relating to who they wish to filter out from their messages. | + + + + +### Milestone 2 — Front-end completion, Substrate & polkadot.js integration into Ionic App + +- **Estimated Duration:** 1 month +- **FTE:** 1 +- **Costs:** 4,500 USD + +... + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how anyone can build the Ionic project for iOS, Android, or web. | +| 0c. | Testing Guide | The front-end will contain a minimum of 50% unit test coverage, of which these will be covered in the guide. | +| 0d. | Article | We will write a full blog post on Hackernoon on how Uke was created, what powers it, and what exact work was completed on it (as well as future goals). | +| 1a. | Uke Ionic Application: Data Models | Create the appropriate data structures and models to represent users, accounts, and messages coming from a Substrate instance. | +| 1b. | Uke Ionic Application: Login and Signup Service | Usage of the `polkadot.js` SDK to create, store, and secure user account's locally. Proper authentication guards will also be created for the Ionic application. | +| 1c. | Uke Ionic Application: Message Delivery & Configuration | Create the necessary services for messages to be retrieved, sent, and verified from a Substrate instance. | +| 1e. | Uke Ionic Application: In-App Notification System | A minimalistic notification system for notifying users of in-app events, such as received messages. | + + + +## Future Plans + +In the short term, I plan to begin marketting a beta program for this project in order to gain user feedback and viability. Based off of this, I will further the protocol as needed. + +Short Term Goals + +- Gather initial feedback for the app +- Immediate planning to streamline the protocol +- Design `uke` SDK and developer docs for others to use +- Demonstrate uses of web3 beyond cryptocurrency + +Longer Term Goals + +- Develop Human DNS and Account Ruling Pallets for common Substrate use +- Develop appropriate modules for business use +- "Disappearing", or temporary secure messaging +- Optional payment integrations for users, if applicable +- Custom Substrate Uke network implementation for private or public use + + +## Additional Information + +**How did you hear about the Grants Program?** + +I found it while exploring the Polkadot / Substrate ecosystem for development purposes. + + +- Work you have already done. + +> I already have completed a significant part of the front end work, all that is needed is the Substrate and polkadotjs implementation. + +- If there are any other teams who have already contributed (financially) to the project. + +> None, this is an independent project. + +- Previous grants you may have applied for. + +> This is my first time applying to the Web3 grants program. + From 8fc226483222b570daa764fb1433cb2c97e3a67e Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 16 Aug 2022 14:23:25 +0200 Subject: [PATCH 0090/1872] Update accepted_grant_applications.md Uke Messaging - PoC - Phase 1 --- docs/accepted_grant_applications.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 6d7f4069dff..b1b056cd237 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -532,4 +532,6 @@ | [Meta Defender Team](https://github.com/Meta-Defender/) | Meta Defender | [GitHub](https://github.com/Meta-Defender/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [ParaSpell](https://github.com/dudo50/ParaSpell) | ParaSpell | [GitHub](https://github.com/dudo50/ParaSpell) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Primis Labs](https://github.com/Primis-Labs) | Primis | [GitHub](https://github.com/Primis-Labs/client) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Uke](https://github.com/Uke-Messaging) | Uke Messaging - PoC - Phase 1 | [GitHub](https://github.com/Uke-Messaging) |
  • [ ]
|
  • [ ]
|
  • [ ]
| + From 7778f39f8ee6c1d9618f686e931e3c86e55fdd6e Mon Sep 17 00:00:00 2001 From: AmadeusGB <1069830494@qq.com> Date: Tue, 16 Aug 2022 20:26:22 +0800 Subject: [PATCH 0091/1872] add RedStone Network Proposal (#1093) * add ResStone Network Proposal * update Team's fmt * Clarify design ideas and milestones and explain alerting methods * Modify the word to change Robin to the correct Ronin * Instructions for updating the payment address --- applications/RedStone Network.md | 144 +++++++++++++++++++++++++++++++ 1 file changed, 144 insertions(+) create mode 100644 applications/RedStone Network.md diff --git a/applications/RedStone Network.md b/applications/RedStone Network.md new file mode 100644 index 00000000000..e8fd6372698 --- /dev/null +++ b/applications/RedStone Network.md @@ -0,0 +1,144 @@ +# W3F Grant Proposal + +- **Project Name:** Redstone Network +- **Team Name:** Redstone Network +- **Payment Address:** 0x24cfc36f699dacc5cb652630ddd894a8df658233 (Ethereum ERC20 USDT) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 + +## Project Overview :page_facing_up: + +### Overview + +We are sincerely requesting a funding grant from the web3 Foundation to build a transaction firewall that will function as a last resort security barrier when user asset protection solutions fail. There have been several serious security incidents recently, including major asset losses due to the theft of private keys on the harmony and Ronin bridges. In the blockchain world, having a mnemonic or private key for an account is equivalent to getting ownership of that address; when a hacker obtains a user's mnemonic or private key, he or she is able to take all the assets in a short period of time without any problem, a situation that obviously should not exist all the time. When this problem is not solved or alleviated, the Web3 world is full of uneasiness and suspicion, and this situation will make it difficult for the Web3 world to gain larger scale support and popularity. + +The Redstone Network is a network of trigger circuits where users combine and arrange simple atomic trigger components according to certain rules and processes to eventually implement a series of automated operational circuits. We propose transaction firewall middleware that can function between any blockchain network, regardless of the cross-chain mechanism and network topology used to execute asset transfers, and regardless of the type of assets traded, we will construct a firewall of different security levels for users. With the help of triggers and machine learning technologies, we will provide users with passive defense and proactive alerting capabilities. + +We will work with parallel chains in Polkadot/Kusama to build and deploy the firewall function to enable a higher level of security for parallel chain asset interactions within the ecosystem; in addition, we can work with project parties or wallets in other ecosystems to provide them with this unique defense mechanism, ultimately reducing the risk of asset security across the Web3 world. + +### Project Details + +For the transaction firewall functionality, Redstone Network will build a set of on-chain/off-chain trigger components and their implementations. In general, users will not be aware of the firewall's operation, and the firewall will truthfully notify users of potential security risks when there are triggered alarms on the chain. + +#### Passive defense and active alarms +* We build a series of stateless atomic trigger components, including on-chain triggers (quantity trigger, time trigger, price trigger), off-chain triggers (mail trigger, discord trigger, slack trigger) and off-chain message interaction components, which are responsible for actively obtaining external information or pushing messages to a specified server.; +* Analyze transaction characteristics and behavior, design transaction protocol analyze the transaction characteristics and behavior, design the transaction protocol, check whether the basic information and check information of the transaction match through protocol parsing, and initially determine the validity of the transaction; +* according to the trigger and the transaction protocol, with the idea of social recovery and multiple signatures, formulate different security level trigger policies for users, including power grabbing mechanism, freezing mechanism and alarm mechanism. + +#### Intelligent termination of transactions with evil address monitoring +The user-configured security scheme can effectively defend against known security problems, but not against unknown or unconfigured behaviors. By analyzing the transaction data recorded in the database under the chain, the transactions are analyzed according to the dimensions of transaction time, transaction frequency, transaction address, transaction direction, and transaction amount, and if the transaction behavior is different from the daily behavior, the meltdown mechanism will be triggered and alarmed; receiving the supervision instruction from a chain, the address that is doing evil and the derived address will be dynamically analyzed and the transaction meltdown mechanism will be triggered. + +For the application scenario of transaction firewall, it is mainly divided into token assets and NFT assets. Users can choose the type of asset that needs to be configured with the firewall, either for a certain token, or to protect the account that issues NFT assets. + +In addition, the transaction firewall feature is not dependent on any application, any architecture and any address type restrictions, making it flexible to handle a variety of new attack methods that are known or have not yet emerged in the future, as it aims to study the security of A to B transfers. + +**Technology stack** +* Rust: Develop on-chain trigger/defense/alert modules +* Go/Python: Develop off-chain analysis/trace/alarm modules + +### Ecosystem Fit +This project will be developed, deployed and run based on the Substrate framework. Unlike other trigger projects, with the advanced features of OCW, we are able to provide users with an advanced on-chain alert push mechanism, which will help shorten the time for users to get critical information. At the same time, rooted in Polkadot/Kasuma ecology, as a parallel chain, the trigger interface on it will provide additional application features for all parallel chains, and with the help of relay chains, it can facilitate unique transaction defense capabilities for other parachains. We note that we are entering a completely new area that will provide an unprecedented protection experience for the blockchain space once our project is in actual operation. + +## Team :busts_in_silhouette: + +### Team members + +- Bin Guo +- Li Smith +- yiwei Shi +- Leon + +### Contact + +- **Contact Name:** Bin Guo +- **Contact Email:** bin.guo@deeper.network + +### Legal Structure +(we are in the process of registering the legal entity) +- **Registered Address:** N/A +- **Registered Legal Entity:** N/A + +### Team's experience + +**Bin Guo** +- Over 9 years of experience in software development and project management, engaged in work related to blockchain and big data, and worked in a core research institution of State Grid (Fortune 500). +- Polkadot senior ambassador, Substrate Evangelist, and early participants in the Polkadot ecosystem. +- Github: https://github.com/AmadeusGB +- Email: amadeusgb123@gmail.com + +**Smith Li** +- Over 9 years of working experience in various aspects of computer programming. +- Worked in the blockchain industry for 3+ years, a blockchain development engineer, familiar with polkadot, bitshares, fabric, etc. +- Hackathon winner as a team tech leader: Winners of Polkadot Hackathon 2022. +- github: https://github.com/baidang201 + +**yiwei Shi** +- Art and management background, worked for Hearst, MSN, responsible for market and product, more than one year of blockchain development experience, familiar with computer science, cryptography and different economic mechanisms, good at Go and Rust development。Hackathon winner as a team member: Winners of Polkadot Hackathon 2022 +- Github : https://github.com/shiyivei +- Email : shiyivei@outlook.com + +**leon** +- Over 7 years of working experience in web development experience ande more than one year of blockchain development experience, familiar with FrontEnd, good at Js,Ts and Rust development.Hackathon winner as a team member: Winners of Polkadot Hackathon 2022 +- github: https://github.com/walle233 + +### Team Code Repos +We have forked substrate-template repository code to implement on-chain triggers (quantity triggers, time triggers, price triggers) and off-chain triggers (email triggers, slack triggers) with the help of decentralized off-chain communication components, in addition, we have implemented a simple oracle machine。 +- [difttt-node](https://github.com/difttt/difttt-node) +- [evm-proxy](https://github.com/difttt/evm-proxy) +- [slack-notify](https://github.com/difttt/slack-notify) +- [oracle_price](https://github.com/difttt/oracle_price) +- [frontend](https://github.com/difttt/frontend) + +## Development Roadmap :nut_and_bolt: +### Overview + +- **Total Estimated Duration:** 3 months +- **Full-Time Equivalent (FTE):** 2 FTE +- **Total Costs:** 20000 USD + +### Milestone 1 Example — Multiple passive defense mechanisms, as well as on-chain and off-chain alerting mechanisms + +- **Estimated duration:** 1 month +- **FTE:** 2 +- **Costs:** 8,000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | GPLv3 | +| 0b. | Documentation | We will provide **inline documentation** for the code and a **tutorial** for users on how to configure the in-chain passive defense step, which will show how the new functionality works. | +| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 0e. | Article | We will publish an **article** to explain the concept, design and implementation of the design in Grant and how to use these features in the blockchain) +| 1. | Passive_Defense Pallet | We will provide users with stateless and application-independent protective features, and this module will be implemented through Substrate Pallet:
**transaction limit configuration**: configure in advance the limit of transferring a transaction amount and limit the frequency of transactions within a specified time; protect users from suffering significant losses for a short period of time when their private keys are stolen.
**Freezing configuration**: advance configuration of freezing transaction time, freezing transaction type, and whether the freezing command can be withdrawn; when the user realizes that the private key has been stolen, the freezing operation will be triggered immediately to help the user further reduce losses.
**Capture account authority configuration**: configure in advance N friend addresses and M for friend operations to take effect; when the user realizes the private key has been stolen, let the account freeze first and contact their friends as soon as possible. When more than M friends vote to pass, the authority of the stolen account will be taken over and any transaction will be executed only after N friends vote. This way even if the hacker steals the private key, he will not be able to transfer money effectively. | +| 2. | Active_Alarming Pallet | We will provide users with on-chain and off-chain alerting functions. This module will be implemented through Substrate Pallet:
**On-chain alarm configuration**: Any transaction that exceeds the limit will send an alarm event; for example, the user can configure that when N transactions exceeding the limit amount occur within a period of time, an off-chain alarm notification will be triggered; the user can configure, a period of Within a certain time, different times will trigger different alarm methods.
**Off-chain triggering alarms**: Provide users with three off-chain notification methods: Mail, Slack, and Discord. For example, general alarms are sent to Mail, important alarms are sent to Slack, and critical alarms are sent to Discord to achieve hierarchical management of alarms. | + + +### Milestone 2 Example — Intelligent meltdown mechanism, including abnormal trading meltdown, evil trading meltdown + +- **Estimated Duration:** 2 month +- **FTE:** 2 +- **Costs:** 12,000 USD + + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | GPLv3 | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can (for example) spin up one of our Substrate nodes and send test transactions, which will show how the new functionality works. | +| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 0e. | Article | We will publish an **article** explaining the concept, design and implementation of smart meltdowns and how to use these features in the blockchain) +| 1. | Analyzer Module | We will provide users with off-chain transaction analysis functionality, and this module will be implemented via the Go/Python programming language:
Users can choose whether to enable the off-chain transaction analysis function. The module records and analyzes user transaction characteristics based on a counter, and uploads to the blockchain when abnormal results emerge from the analysis. When a potentially abnormal transaction occurs, the user can choose, based on advance configuration, whether the module simply alerts when an abnormal transaction is reported, or freezes the account until the user comes to deal with the problem on their own. In this case, the hacker does not trigger any on-chain restrictions, only the off-chain transaction analysis detects the anomaly | +| 2. | Tracker Module | We will provide users with off-chain transaction analysis functionality, and this module will be implemented via the Go/Python programming language.
This module implements the function of tracking the transaction records of a certain address at a certain time period, helping users to assist in analyzing the loss of the current address from the hacking attack, as well as analyzing the chain through which the hacker transferred the funds. | + +## Future Plans + +Conceptualizing the application with the trigger concept, implementing the transaction firewall first, and refining our design based on user feedback. +Implementation steps. +* develop on-chain/off-chain triggers for firewall requirements. +* refining the firewall design based on user feedback. +* implementing cross-chain transactions and providing transaction protection for cross-chain links. +* configure different levels of defense strategies based on implementation experience. + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** +How did you hear about the Grants Program? We heard about the Grants Program from the Web 3 Foundation Website, as well as personal recommendations from Polkadot community members. From 99157c9b8a636d132dca69a55630e8f9c1c51f9a Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 16 Aug 2022 14:28:43 +0200 Subject: [PATCH 0092/1872] Update accepted_grant_applications.md Redstone Network --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index b1b056cd237..13db60046f3 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -533,5 +533,6 @@ | [ParaSpell](https://github.com/dudo50/ParaSpell) | ParaSpell | [GitHub](https://github.com/dudo50/ParaSpell) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Primis Labs](https://github.com/Primis-Labs) | Primis | [GitHub](https://github.com/Primis-Labs/client) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Uke](https://github.com/Uke-Messaging) | Uke Messaging - PoC - Phase 1 | [GitHub](https://github.com/Uke-Messaging) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Redstone Network](https://github.com/difttt) | Redstone Network | [GitHub](https://github.com/difttt) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 9e8e5a2204c61a2e26f0e28d404f3f5220819e3e Mon Sep 17 00:00:00 2001 From: Lohann Paterno Coutinho Ferreira Date: Wed, 17 Aug 2022 13:12:48 +0100 Subject: [PATCH 0093/1872] Polkadart proposal (#1053) * Polkadart proposal * Update Polkadart.md * Update Polkadart.md * Update Polkadart.md * Update Polkadart.md * Update Polkadart.md * Update milestone costs * Update milestone date Co-authored-by: Leonardo Custodio --- applications/Polkadart.md | 230 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 230 insertions(+) create mode 100644 applications/Polkadart.md diff --git a/applications/Polkadart.md b/applications/Polkadart.md new file mode 100644 index 00000000000..5d7838e0edf --- /dev/null +++ b/applications/Polkadart.md @@ -0,0 +1,230 @@ +# W3F Grant Proposal + +- **Project Name:** Polkadart +- **Team Name:** JURIMETRIC TECNOLOGIA LTDA +- **Payment Address:** 12kizkmmQzRFR5o6BQ5Kufo77RPT787eaFynswQoi42vv2Da (DOT) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 3 + +## Project Overview :page_facing_up: + +### Overview + +- Polkadart is a Dart library that provides a clean wrapper around all the methods exposed by a Polkadot/Substrate network client and defines all the types exposed by a node. It's an equivalent to [polkadot-api](https://github.com/polkadot-js/api) written in Dart language. + +- Development of a library that allows users to connect to Polkadot/Substrate’s nodes on Flutter platform. + +- Our team is developing a ranking-based voting system based on the Substrate's based blockchain and for that, we need to create the Dart-substrate library. Today, there are multiple mobile applications built on Flutter and, until now, there is no possibility to connect to Substrate's nodes. + +### Project Details + +- An overview of the technology stack to be used: +``` +This library will be written purely in Dart technology from scratch. +``` +- Documentation of core components, protocols, architecture, etc. to be deployed: +``` +We will follow Polkadot specifications and, as a license for PolkaDart library, we will use Apache 2.0. +``` +- What your project is _not_ or will _not_ provide or implement: +``` +This project will not support legacy metadata protocols, such as metadata v9, v10, v11 and v12. Polkadart will not implement any front-end, since it is going to allow developers to use Dart to connect to the Substrate based network. +``` +- This is a place for you to manage expectations and to clarify any limitations that might not be obvious: +``` +Polkadart is similar to the project "https://github.com/polkadot-js/api" but for Dart, instead of JavaScript. +``` + +### Ecosystem Fit + +- Where and how does your project fit into the ecosystem? +Our project is going to allow developers to use Dart/Flutter to connect to the Substrate-based network. +- Who is your target audience (parachain/dapp/wallet/UI developers, designers, your own user base, some dapp's userbase, yourself)? +Our target audience is the mobile app developer's community. +- What need(s) does your project meet? +Polkadart enlarges the range of tools compatible with Polkadot/Substrate, therefore expanding its usability. +- Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem? +Pocket 4 Polkadot-Dart: https://github.com/Pocket4D/Polkadot-Dart#manually-build +Polkaj: https://github.com/emeraldpay/polkaj/blob/master/docs/03-rpc-client.adoc + - If so, how is your project different? +Pocket4 was similar to PolkaDart but it was discontinued for lack of progress and Polkaj is related to Java. + +## Team :busts_in_silhouette: + +### Team members + +- Lohann Ferreira, Lead Blockchain Architect +- Leonardo Custodio, Blockchain Engineer +- Hanna Coutinho, iOS Developer +- Kawaljeet Singh, Flutter Developer +- Luiza Adena Engers, Product Manager +- Fabio Binder, Blockchain Engineer +- Gabriel Okura, Flutter Developer + +### Contact + +- **Contact Name:** Luiza Adena Engers +- **Contact Email:** luiza@jurimetric.com.br +- **Website:** www.jurimetric.com.br + +### Legal Structure + +- **Registered Address:** Rua Monsenhor Celso, 154, Centro, Curitiba-Paraná, Brasil. +- **Registered Legal Entity:** Jurimetric Tecnologia Ltda. + +### Team's experience + +**Lohann Ferreira** + +Lohann have a deep understanding of Polkadot/Substrate stack amongst other blockchain technologies. Previously worked at [First Foundry](https://www.firstfoundry.co/) as Senior Software Engineer. Founder and lead engineer at [Jurimetric](https://jurimetric.com.br/). Co-founder of [Veever](https://veever.global/), which through the combination of beacons, a web platform, and a mobile app aims to assist people with visual impairment to easily get around and interact with the urban environment. He is focused on solving big problems with simple ambitious solutions. + +**Leonardo Custodio** + +Leonardo has being working with Polkadot/Substrate stack for the past 14 months. At his current position he makes SDKs that allows game developers to work easily with substrate based chain. Before that he was the Lead Mobile Developer of Inovatso where he has created multiple applications for the general public like picPics and other entreprise applications using Flutter. + +**Fábio Binder** + +Binder has over 25 years of experience with development. Currently, he is the Program Head at PUCPR of the [Apple Developer Academy](https://www.linkedin.com/company/apple-developer-academy-pucpr/mycompany/). He was recognized as an Apple Distinguished Educator in 2019, for doing amazing things with Apple technology in and out of the classroom. He joined Jurimetric because he wants to be a part of the Web 3 movement as a hands-on developer of blockchain technology. + +**Hanna Coutinho** + +Currently working as an iOS developer at Snowman Labs. She's a scholarship student at [Apple Developer Academy](https://www.linkedin.com/company/apple-developer-academy-pucpr/mycompany/) and is pursuing a Bachelor's Degree in Computer Information Systems, at PUCPR (Paraná, Brazil). Hanna's biggest dream is to work at a tech company where she can bring positive social impacts to minorities. A fun fact about her, she's also a Lawyer, but she found a true passion in technology, programming, and design. + +**Kawaljeet Singh** + +Before starting to work as a full-time flutter developer at Rankanizer, Kawal was working as a freelance Flutter Developer at Inovatso and on other projects. In his free time, he loves to create open-source tools and plugins in dart to help the Flutter community. He is a blockchain enthusiast and is super dedicated to learning and bringing ideas to life. + +**Luiza Adena** + +Luiza is Jurimetric's Product Manager. She founded a legal tech called Arbi-ON and has experience with problem-solving through creative thinking. Luiza aims to make society more just and she believes Rankanizer has the potential to empower people equally. + +**Gabriel Okura** + +Gabriel is currently working as a mobile and backend developer at Hype Empreendimentos, and for the past year and a half, he has been having experience building apps in Dart with the Flutter framework. Previously worked with mobile game development at Opala Studios. He is excited about the opportunity to work on Rankanizer and to help build the PolkaDart library to increase his experience with blockchain technology. + + +### Team Code Repos + +- https://github.com/rankanizer +- https://github.com/rankanizer/polkadart +- https://github.com/Lohann +- https://github.com/leonardocustodio +- https://github.com/binderman +- https://github.com/hannapcf +- https://github.com/justkawal +- https://github.com/LuizaJurimetric +- https://github.com/gabrielokura + +### Team LinkedIn Profiles (if available) + +- https://www.linkedin.com/in/lohannferreira +- https://www.linkedin.com/in/leogcustodio +- https://www.linkedin.com/in/binder +- https://www.linkedin.com/in/hannapcf +- https://www.linkedin.com/in/kawal74153 +- https://www.linkedin.com/in/luizaadenaengers +- https://www.linkedin.com/in/gabriel-motelevicz-okura-aa95491b6 + +## Development Status :open_book: + +Out of the necessity of having a a library / sdk to use substrate chains in our other planned apps. We will start the development of Polkadart in the Grant's program. The repository that will be used during the development is https://github.com/rankanizer/polkadart. We intend to have it open-source since the beginning and all code will be added through pull-requests. + +We decided to divide this project into three milestones. The first one is building the codec and metadata part. Since without this all data would have to be mocked and tested using third-party tools as everything is encoded in the substrate eco-system. + +After we are able to encode/decode data from primitive types and metadata's of any chain. We are going to proceed with the connectivity part. Where we will implement the interfaces necessary for communicating with the nodes through RPC. + +Finally the last step will be the crypto and utils part where we will have the utilities necessary for signing transactions. After these three milestones are completed we shall have a fully featured library that will enable people in the Dart/Flutter ecosystem to communicate with any substrate based node, sign transactions, encode and decode data. Making it possible for example for people to develop flutter applications for Polkadot using native libraries. + +## Development Roadmap :nut_and_bolt: + +Described above. + +## Overview + +- **Total Estimated Duration:** 7 months. +- **Full-Time Equivalent (FTE):** 4. +- **Total Costs:** 50,000 USDC. + +### Milestone 1 — + +- **Estimated duration:** 4 months. +- **FTE:** 4. +- **Costs:** 20,000 USD. + +|Number|Deliverable| Specification | +|:---: | --- | --- | +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide markdown documentation of how to install and use the API. | +| 0c. | Testing Guide | We will provide sample scripts on how to use it. | +| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test the PoC. | +| 1a. | Scale Codec | First we will port the functionalities of scale codec to Dart. This way developers can decode and encode data from substrate. | +| 1b. | Metadata | Then we will add the metadata parser so it can decode/encode the data by looking at the metadata. Important to note that we do not inteed to support legacy versions | +| 1c. | Tests | Unit tests for deliverables above | + + +### Milestone 2 — + +- **Estimated duration:** 1 month. +- **FTE:** 4. +- **Costs:** 15,000 USD. + +|Number|Deliverable| Specification | +|:---: | --- | --- | +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide markdown documentation of how to install and use the API. | +| 0c. | Testing Guide | We will provide sample scripts on how to use it. | +| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test the PoC. | +| 2a. | RPC | We will create the interfaces to use and connect to the node through RPC. | +| 2b. | Websockets | We will add websockets support to the above. | +| 2e. | Tests | Unit tests for deliverables above | + +### Milestone 3 — + +- **Estimated duration:** 2 months. +- **FTE:** 4. +- **Costs:** 15,000 USD. + +|Number|Deliverable| Specification | +|:---: | --- | --- | +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide markdown documentation of how to install and use the API. | +| 0c. | Testing Guide | We will provide sample scripts on how to use it. | +| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test the PoC. | +| 0e. | Article/Workshop | We will publish an example flutter project using the library to explain what was done and how to use it. | +| 3a. | Keyring | We will port the keyring management | +| 3d. | Crypto | We will add the utilities needed for signing transactions | +| 3e. | Tests | Unit tests for deliverables above | +| 3f. | Pub.dev | Publish to pub.dev for V1.0.0 | + +## Future Plans + +Until now we are bootstrapping, but we intend to continue to support the project with W3F Grant's help. + +Our intention is to make the library available to whoever has an interest in using it. We need it to build Rankanizer, the next-generation app for enabling multiple-choice anonymous voting. Rankanizer will be a transparent and decentralized voting software built on blockchain technology. + + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** + +Lohann was informed about the Grants Program by personal recommendation. + +💾 **Work you have already done.** + +**Lohann's previous work:** \ +[Forte](https://forte.io) \ +[Rally](https://rally.io) \ +[Efinity](https://efinity.io) \ +[Collectiba](https://www.youtube.com/watch?v=QftJoDz2JXU) + +**Binder's previous work:** \ +[Software project: Cluster](https://clusterforchange.com/) - Social Impact Platform. Project Manager, Software Architect. \ +[Award: Apple Distinguished Educator 2019](https://www.apple.com/education/k12/apple-distinguished-educator/) \ +[PHD Thesis](https://pergamum-biblioteca.pucpr.br/acervo/338937) \ +[StackOverflow: 12.000+ points (top 3% overall)](https://stackoverflow.com/users/86154/fabio-vinicius-binder) \ +[Personal Researcher Profile on Scopus](https://www.scopus.com/authid/detail.uri?authorId=56730458300) + +**Kawal's previous work:** \ +[AnimatedText](https://github.com/justkawal/animated_text) \ +[Protect](https://github.com/justkawal/protect) \ +[Tenor](https://github.com/justkawal/tenor) \ +[Excel](https://github.com/justkawal/excel) From a1fb1498711e5a7ac42730c0ca0df5d3af7be1f3 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Wed, 17 Aug 2022 14:18:43 +0200 Subject: [PATCH 0094/1872] Update accepted_grant_applications.md Adding Polkadart --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 13db60046f3..fce1ed298b6 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -534,5 +534,6 @@ | [Primis Labs](https://github.com/Primis-Labs) | Primis | [GitHub](https://github.com/Primis-Labs/client) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Uke](https://github.com/Uke-Messaging) | Uke Messaging - PoC - Phase 1 | [GitHub](https://github.com/Uke-Messaging) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Redstone Network](https://github.com/difttt) | Redstone Network | [GitHub](https://github.com/difttt) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [JURIMETRIC TECNOLOGIA LTDA](https://www.jurimetric.com.br/) | Polkadart | [GitHub](https://github.com/rankanizer/polkadart) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From b216d77015410b92a8ea97457d57de79cc41317a Mon Sep 17 00:00:00 2001 From: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> Date: Thu, 18 Aug 2022 12:52:02 +0200 Subject: [PATCH 0095/1872] Update accepted_grant_applications.md (#1130) --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index fce1ed298b6..7637e28b0e8 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -348,7 +348,7 @@ | [Find Signal Studio PTE. LTD.](https://yieldscan.app/) | YieldScan Phase 2 | [GitHub](https://github.com/yieldscan) |
  • [ ]
|
  • [x]
|
  • [x]
| | [PolkaMusic](https://polkamusic.io/) | Operating decentralized music businesses on blockchain | [GitHub](https://github.com/polkamusic/PolkaMusic) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [element36](https://element36.io) | FIAT on-off-ramp | [GitHub](https://github.com/element36-io) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Zondax](https://zondax.ch/) | Ledger Asset App | [GitHub](https://github.com/Zondax) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Zondax](https://zondax.ch/) | Ledger Asset App | [GitHub](https://github.com/Zondax) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Moonbeam Network](https://moonbeam.network/) | Pallet-dPoS for Parachain Staking | [GitHub](https://github.com/PureStake/moonbeam) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Dora Factory](https://dorafactory.org/) | MolochDAO substrate pallets v1 and v2 | [GitHub](https://github.com/DoraFactory) |
  • [ ]
|
  • [x]
|
  • [ ]
| | BCANN | Blockchain system for Assigned Names And Numbers | [GitHub](https://github.com/weitaolee) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 83e1d45b2a741f5b628d018776b1658a388645d3 Mon Sep 17 00:00:00 2001 From: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> Date: Thu, 18 Aug 2022 12:52:45 +0200 Subject: [PATCH 0096/1872] Terminate Relation Graph (#1128) --- applications/Relation-Graph.md | 1 + 1 file changed, 1 insertion(+) diff --git a/applications/Relation-Graph.md b/applications/Relation-Graph.md index 79531b2ab1c..b7866f30ccf 100644 --- a/applications/Relation-Graph.md +++ b/applications/Relation-Graph.md @@ -7,6 +7,7 @@ - **Team Name:** Relationlabs - **Payment Address:** 0x9fE784bD844C6c7eB7a570467937e6005eEd1C4C Ethereum (USDT/DAI) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 +- **Status:** [Terminated](https://github.com/w3f/Grants-Program/pull/928#issuecomment-1219245113) ## Project Overview :page_facing_up: From 00136e639347ac5391ae76bcbf1df850c98927fd Mon Sep 17 00:00:00 2001 From: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> Date: Thu, 18 Aug 2022 12:54:19 +0200 Subject: [PATCH 0097/1872] Terminate Koi Metaverse (#1129) --- applications/Koiverse.md | 1 + 1 file changed, 1 insertion(+) diff --git a/applications/Koiverse.md b/applications/Koiverse.md index 58cd2578cf8..df52148dc3b 100644 --- a/applications/Koiverse.md +++ b/applications/Koiverse.md @@ -5,6 +5,7 @@ * **Project:** Koi Metaverse * **Proposer:** https://github.com/KoiMetaverse * **Payment Address:** 0xfADc3c36E41D36796ca05B4D55b148725c804cE0 +* **Status:** [Terminated](https://github.com/w3f/Grants-Program/pull/678#issuecomment-1204360469) # Project Overview From 786a7c63a3f8b107aa0f1983aead49535b4559c0 Mon Sep 17 00:00:00 2001 From: "yahuang.wu" Date: Mon, 22 Aug 2022 16:51:09 +0800 Subject: [PATCH 0098/1872] Update GreenLemon.md (#1133) --- applications/GreenLemon.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/GreenLemon.md b/applications/GreenLemon.md index f35bd9d116b..5cc6b98d609 100644 --- a/applications/GreenLemon.md +++ b/applications/GreenLemon.md @@ -128,7 +128,7 @@ Please also provide the GitHub accounts of all team members. If they contain no | 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can (for example) spin up one of our Substrate nodes and send test transactions, which will show how the new functionality works. | | 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | | 0d. | Article | We will publish **article & demo video** that explains How is anonymous NFT contract hidden owner works based on dual-key stealth address protocol. -| 1. | (ink!)Smart contracts: Anonymous NFT | [Milestone Delivery: Dual-Key Stealth Address Protocol](https://github.com/w3f/Grant-Milestone-Delivery/pull/504) only implements mint, transfer, and burn. Based on the current version, we will continue to develop other ERC721 protocol methods and related test cases, such as Approval, ApprovalForAll, clear_approval, and set_approval_for_all. | +| 1. | (ink!)Smart contracts: Anonymous NFT | [Milestone Delivery: Dual-Key Stealth Address Protocol](https://github.com/w3f/Grant-Milestone-Delivery/pull/504) only implements mint, transfer, and burn. Based on the current version, we will continue to develop other ERC721 protocol methods and related test cases, such as approve, approve_for, get_approved, base_uri, and token_uri. Additionally, we need to add an extra param into the message before hashing, which is the token nonce. Account nonce is unfit due to each token owner being a unique and one-time encrypted address. When an NFT is operated once, its corresponding token nonce is automatically added by 1. We think that token nonce can prevent replay attacks for signatures already sent to the blockchain.| From 74a9d4295aff663209d15f076e9daae34efdc28a Mon Sep 17 00:00:00 2001 From: lucasvanmol Date: Mon, 22 Aug 2022 07:32:21 -0700 Subject: [PATCH 0099/1872] Rusty Crewmates M1 done (#1135) --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 7637e28b0e8..e6026eb3143 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -484,7 +484,7 @@ | [Kami Ekbatanifard](https://github.com/Nick-1979/) | Polkadot js plus / Nomination pools | [GitHub](https://github.com/Nick-1979/polkadot-Js-Plus-extension/wiki) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Afloat Inc](https://stayafloat.io/#/) | Tax Infrastructure Polkadot Integration | N/A |
  • [ ]
|
  • [x]
|
  • [ ]
| | [gmajor](https://github.com/gmajor-encrypt) | SCALE Codec Comparator | [GitHub](https://github.com/gmajor-encrypt) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Rusty Crewmates](http://rustycrewmates.com/) | Substrate Tutorials | [GitHub](https://github.com/rusty-crewmates/substrate-tutorials) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Rusty Crewmates](http://rustycrewmates.com/) | Substrate Tutorials | [GitHub](https://github.com/rusty-crewmates/substrate-tutorials) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Sequester](https://github.com/SequesterChain) | A Common-Good Carbon Sink on Polkadot | [GitHub](https://github.com/SequesterChain/pallets) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Keysafe Network](https://github.com/keysafe-protocol) | A decentralized protocol for private key custody and crypto asset management | [GitHub](https://github.com/keysafe-protocol) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Fennel Labs](https://fennellabs.com/) | Whiteflag on Fennel Protocol | [GitHub](https://github.com/fennelLabs) |
  • [ ]
|
  • [x]
|
  • [ ]
| From 6c2facad480cb62ab139696a2f886a127c4de67f Mon Sep 17 00:00:00 2001 From: S E R A Y A Date: Tue, 23 Aug 2022 14:57:03 +0200 Subject: [PATCH 0100/1872] Update accepted_grant_applications.md (#1136) --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index e6026eb3143..37e4a3ea16f 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -502,7 +502,7 @@ | [Societal Labs Ltd.](https://www.sctl.xyz/) | Societal - MVP - Phase 1 | [GitHub](https://github.com/sctllabs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Faceless Protocol](https://github.com/HeisenbergLin22) | Faceless Protocol | [GitHub](https://github.com/HeisenbergLin22) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [SuperColony](https://github.com/Supercolony-net) | Typechain | [GitHub](https://github.com/Supercolony-net/typechain-polkadot) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Codelight](https://massbit.io/) | Massbit Route | [GitHub](https://github.com/massbitprotocol/massbitroute) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Codelight](https://massbit.io/) | Massbit Route | [GitHub](https://github.com/massbitprotocol/massbitroute) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Hypha Hashed Partners](https://hypha.earth/) | Social Recovery Wallet | [GitHub](https://github.com/hypha-dao) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [MangoBOX labs](http://mangobox.xyz/) | MangoBOX Protocol | [GitHub](https://github.com/Mangoboxlabs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 3eb6dc4320ea561a0b1bcd6e9e770ad1be5b0662 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 23 Aug 2022 07:57:23 -0500 Subject: [PATCH 0101/1872] Change payment preference for wasm-opt-for-rust (#1134) --- applications/wasm-opt-for-rust.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/wasm-opt-for-rust.md b/applications/wasm-opt-for-rust.md index d5d85a6bbae..e1acc69364a 100644 --- a/applications/wasm-opt-for-rust.md +++ b/applications/wasm-opt-for-rust.md @@ -2,7 +2,7 @@ - **Project Name:** `wasm-opt` for Rust - **Team Name:** Common Orbit LLC -- **Payment Address:** (Polkadot aUSD) 143W7CfR2R1dbATX3RVtrYfDXUMju1ua9pQh9B3DpLsuuB5M +- **Payment Address:** (Ethereum DAI) 0x2de31E52E24Df0588C64B27657D4F75e5462adEf - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 From e8afceba03b6f1908967020d62043b9fccbe3db3 Mon Sep 17 00:00:00 2001 From: lucasvanmol Date: Wed, 24 Aug 2022 04:56:45 -0700 Subject: [PATCH 0102/1872] Panic M1 completed (#1142) --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 37e4a3ea16f..a16b30c91da 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -475,7 +475,7 @@ | [Perun Network](https://perun.network/) | Perun App Channels | [GitHub](https://github.com/perun-network/) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [ChainSafe Systems](https://chainsafe.io/) | Privacy enhancement for Polkadot-js extension | [GitHub](https://github.com/ChainSafe) |
  • [ ]
|
  • [x]
|
  • [x]
| | [BQP](https://qbitcoin.tech/) | Quantum Lock for QBITCOIN | [GitHub](https://github.com/bqpquantum/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Simply VC](https://simply-vc.com.mt/) | PANIC Monitoring and Alerting For Blockchains | [GitHub](https://github.com/SimplyVC/panic) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Simply VC](https://simply-vc.com.mt/) | PANIC Monitoring and Alerting For Blockchains | [GitHub](https://github.com/SimplyVC/panic) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Artree LLC](https://artree.co.jp/) | Zero Network | [GitHub](https://github.com/zero-network) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [sigma prime](https://sigmaprime.io/) | Differential Fuzzer | [GitHub](https://github.com/sigp) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [t3rn](https://www.t3rn.io/) | XBI - xcm-based high-level standard and interface (ABI) for smart contracts | [GitHub](https://github.com/t3rn/t3rn) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 2440d2889393f853c90291a82e1ca373bdbf030c Mon Sep 17 00:00:00 2001 From: lucasvanmol Date: Wed, 24 Aug 2022 04:57:08 -0700 Subject: [PATCH 0103/1872] Tribal Protocol M1 Accepted (#1138) --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index a16b30c91da..6e15483ef55 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -496,7 +496,7 @@ | [FS](https://fair-squares.nl/) | Fair Squares | [GitHub](https://github.com/Fair-squares) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Ideal Labs](https://www.idealabs.network/) | Iris: Phase 2 | [GitHub](https://github.com/ideal-lab5) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [NeoPower](https://www.neopower.digital/) | Roloi: Stream money from one wallet to another | [GitHub](https://github.com/RoloiMoney) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Tribal Protocol Labs](https://www.tribal.fyi/) | Tribal Protocol Smart Contract Development | [GitHub](https://github.com/tribal-protocol) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Tribal Protocol Labs](https://www.tribal.fyi/) | Tribal Protocol Smart Contract Development | [GitHub](https://github.com/tribal-protocol) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Yahuang Wu](https://github.com/wuyahuang) | Dual-Key Stealth Address Protocol | [GitHub](https://github.com/wuyahuang) |
  • [ ]
|
  • [x]
|
  • [x]
| | [UNIVERSALDOT FOUNDATION](https://universaldot.foundation) | Universaldot.me Phase 2 | [GitHub](https://github.com/UniversalDot) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Societal Labs Ltd.](https://www.sctl.xyz/) | Societal - MVP - Phase 1 | [GitHub](https://github.com/sctllabs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 3a8bda96f64fce489e85c6e01914ae6c3d7a87da Mon Sep 17 00:00:00 2001 From: David Hawig Date: Wed, 24 Aug 2022 20:32:06 +0200 Subject: [PATCH 0104/1872] Update accepted_grant_applications.md Update PANIC Monitoring and Alerting For Blockchains --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 6e15483ef55..e927ca5685f 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -475,7 +475,7 @@ | [Perun Network](https://perun.network/) | Perun App Channels | [GitHub](https://github.com/perun-network/) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [ChainSafe Systems](https://chainsafe.io/) | Privacy enhancement for Polkadot-js extension | [GitHub](https://github.com/ChainSafe) |
  • [ ]
|
  • [x]
|
  • [x]
| | [BQP](https://qbitcoin.tech/) | Quantum Lock for QBITCOIN | [GitHub](https://github.com/bqpquantum/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Simply VC](https://simply-vc.com.mt/) | PANIC Monitoring and Alerting For Blockchains | [GitHub](https://github.com/SimplyVC/panic) |
  • [ ]
|
  • [x]
|
  • [ ]
| +| [Simply VC](https://simply-vc.com.mt/) | PANIC Monitoring and Alerting For Blockchains | [GitHub](https://github.com/SimplyVC/panic) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Artree LLC](https://artree.co.jp/) | Zero Network | [GitHub](https://github.com/zero-network) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [sigma prime](https://sigmaprime.io/) | Differential Fuzzer | [GitHub](https://github.com/sigp) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [t3rn](https://www.t3rn.io/) | XBI - xcm-based high-level standard and interface (ABI) for smart contracts | [GitHub](https://github.com/t3rn/t3rn) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From defdf09919889a56f81421c8f0f8c6e7dce3b9f0 Mon Sep 17 00:00:00 2001 From: Song Zhou Date: Thu, 25 Aug 2022 20:25:37 +0800 Subject: [PATCH 0105/1872] Choko Wallet application (#1022) * Choko Wallet application * integrate features w milestone & integrate comments * include crypto & remove M3 * updates on Aug 2 --- applications/choko_wallet.md | 174 +++++++++++++++++++++++++++++++++++ 1 file changed, 174 insertions(+) create mode 100644 applications/choko_wallet.md diff --git a/applications/choko_wallet.md b/applications/choko_wallet.md new file mode 100644 index 00000000000..48c95c8ba48 --- /dev/null +++ b/applications/choko_wallet.md @@ -0,0 +1,174 @@ +# W3F Grant Proposal + +> This document will be part of the terms and conditions of your agreement and therefore needs to contain all the required information about the project. Don't remove any of the mandatory parts presented in bold letters or as headlines! Lines starting with a `>` (such as this one) can be removed. +> +> See the [Grants Program Process](https://github.com/w3f/Grants-Program/#pencil-process) on how to submit a proposal. + +- **Project Name:** Choko Wallet +- **Team Name:** SkyeKiwi Team +- **Payment Address:** 0x91029aBEb484a84D99c1C519C7A8A0cDB6B7c878 (USDC Preferred OR DAI) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 3 + +> ⚠️ *The combination of your GitHub account submitting the application and the payment address above will be your unique identifier during the program. Please keep them safe.* + +## Project Overview :page_facing_up: + +Choko Wallet is a user-friendly multi-chain crypto wallet for the Polkadot ecosystem. The Polkadot ecosystem has been known for its complicated nature to interact with. + +### Overview + +- Like all crypto wallets, fund privacy and ease of use are usually two sides of a spectreum. Choko Wallet will be more lean towards the "ease of use" side and remain to be (99%) static web app. + +- Unlike most of the crypto wallets, Choko wallet is designed to be website-based which stores user private key encrypted on website localStorage. When DApps request for signature, the Dapp will redirect to the Choko Wallet web app and ask for user approval. Upon finish, the wallet web app will redirect back to the Dapp. + +- The most confusion part of the Polkadot ecosystem for new comers is the amount of blockchains there are. The PolkadotJs App (dotapps.io) allow different teams to assign different theme color to their blockchain that greatly reduce confusion. Wallets in the Polkadot ecosystem should follow the same paradigm. Moreover, we should offload the burden for the end users to choose which blockchain back to Dapp developer so that the user can connect to the desired blockchain endpoint with zero configuration. + +- Another issue with all wallets is the lacking of good encryption/decryption features with the user's private key. (i.e. https://github.com/polkadot-js/common/pull/1331) This feature is critical when Web3 is more privacy centric. It has been hard to be built because of different elliptic curve and encryption schema. We will make attempt to first adopt to the schema used by our own SkyeKiwi Network and try to generize it later. + +### Project Details + +Technology Stack: (Almost) static Web App built with React/Redux and PolkadotJs. + +A PoC on the redirecting mechnisim is available [here](https://github.com/RoyTimes/wallet-sandbox-demo). + +- Setup on Another Device via QR: generate a QR code that displays a *plaintext* of the seed phrase and scan it on another device. Similar to Metamask. + +- Email Recovery/Create Via Email: have a centralized service to send an email to the user with a link that contains *plaintext* of the seed phrase to recover the seed phrase (i.e. Email saying "Please keep this email for recovery of your wallet. Click link: https://choko.app/recovery?11111aaaaaaa...... "). A banner with warning should be presented when the user has more than $50 in the wallet. + +- "Linkdrop": a feature inspired by other ecosystems. A Dapp developer might initialize a Linkdrop vault of some tokens as gas fee for their seed users. (i.e. Having 10 DOT for the first 100 signup users). A pallet might be required, so we will build a pallet on SkyeKiwi Network first to test things out. The wallet will provide the developer with a simple interface to generate a linkdrop vault and generate a linkdrop link. (i.e. https://choko.app/claim?vault=1&authorization=0x8dad7777..."). The developer can distribute the link drop link to users. When a user click the link, it will guide the user to create a new seed phrase and then have the gas fee token deposited to the wallet. + +- Encryption/Decryption: A few solutions avaliable: 1. allow encryption/decryption on Sr25519 key agreement. Drawback would be that the composed message would be hard to process outside the wallet. 2. Find a method to calculate a Curve25519 public key from a Sr25519 public key. We are not hardcore cryptographer and has no intention of implementing this ourselves. Looking for a more expertised answer to whether this is possible or if there is an implementation to it. Such conversion would greatly increase compatbility with popular Curve25519 based encryption softwares. 3. Worst case senario: ask users to register a Curve25519 public key on account creation. This is horrible but allow the encryption schema to be further compatible with other ECs like secp256k1. Would love to have a discussion on this. + +- Request Handling: there will be two types of requests - local requests that should be resolved inside the Dapps and remote requests that need to be redirected to the wallet web app. For usual wallets, this is somewhat implicitly assumed (like Web3js and Metamask). However, for a website based wallets, these two types of requests need to be dramatically different to be handled to prevent constant website redirecting. Moreover, in lack of proper RPC between DApp and browser extensions, requests and response payloads are encoded in the URL with plaintext. Therefore, in response to all these differences, we will create a set of bytes precises encoding schema and segregated request handling strategies. The wallet app will only handle requests that require the usage of user's private keys and do no load the private key unless a password is authenticated. Check out PoC implementations here [Link](https://github.com/choko-wallet/sdk/blob/master/packages/request-handler/src/signMessage.ts). + +Mockups: +[![jYkTaT.png](https://s1.ax1x.com/2022/07/04/jYkTaT.png)](https://imgtu.com/i/jYkTaT) +[![jYkLRJ.png](https://s1.ax1x.com/2022/07/04/jYkLRJ.png)](https://imgtu.com/i/jYkLRJ) + + + +### Ecosystem Fit + +- Choko Wallet provides a simple and intuitive interface for user to interact with blockchains/Dapps in the Polkadot ecosystem. +- End users who are less-educated about the Polkadot ecosystem or blockchain/crypto in general. + + +## Team :busts_in_silhouette: + +### Team members + +- Song Zhou +- Zoe Sun +- Fontend Developer team at SkyeKiwi + +### Contact + +- **Contact Name:** Song Zhou +- **Contact Email:** song.zhou@skye.kiwi +- **Website:** https://skye.kiwi + +### Legal Structure + +None + +### Team's experience + +We have applied and deliverd all milestones of the [SkyeKiwi Protocol](https://github.com/w3f/Grants-Program/pull/553) and built the SkyeKiwi Network based on SkyeKiwi Protocol as a privacy layer for Web3 featuring interoprabl, multi-shard, multi-vm private smart contract execution as a part of the Substrate Builder Program. We have a track record of engineering complicated system with high quality. The Choko Wallet is a critical component for the adoption of the SkyeKiwi Network (and the SkyeKiwi Protocol), from the encryption/decryption functionalities of the network. More discussed in future plan section. + + +### Team Code Repos + +- https://github.com/skyekiwi/skyekiwi-network - Main repo for the SkyeKiwi Network + +- https://github.com/skyekiwi/skyekiwi-protocol - TypeScript implementation of the SkyeKiwi Protocol + +- https://github.com/skyekiwi/kiwi-contract - Smart contract toolkit for submitting smart contract on SkyeKiwi Network. [Tutorial](https://docs.skye.kiwi/docs/quick-start/deploy) + + +## Development Status :open_book: + +The project is mostly front-end work, except for the mechism for cross-browser tab communication from the Dapp and wallet. Therefore, so far, we have only created a simple sandbox to demostrate the viability of such communication [here](https://github.com/RoyTimes/wallet-sandbox-demo). + +Moreover, the [Near Wallet](https://github.com/near/near-wallet) (an Apache2.0 or MIT licensed open source software) seem to be a good base of development for Choko Wallet. We will fork the repo and do a complete overhaul to better fit the needs of the Polkadot ecosystem. + +> Update on August 2 +> on Near Wallet: after a month long dig into the Near Wallet codebase, we recognize the following issues that prevent us to build upon the Near Wallet but instead, start a new codebase of the Web App from scratch: +> 1. Chaotic state management: the Near Wallet has very tangled state management for requests and responese. As it will be more efficient to build the underlying redux dataflow from scratch. +> 2. Different account system and different cryptographics: the NEAR blockchain uses Ed25519 for pretty much everything, while on Substrate, Sr25519 is used in default but there can be all kinds of cryptographic used in the Polkadot ecosystem. (i.e. Moonbeam). Moreover, NEAR is based on a human-readable fake AccountId that links to several cryptographic "keys" for accounts. These are factors that contribute to point 1 of why the Near wallet codebase has such a complicated Redux dataflow. +> 3. Loose Encoding on URL: as we stated above on "Requst Handling", we will build a byte percise(and efficient) version of the encoding to be sent between Dapp and Wallet as Substrate extrinsics can be very long on cross-chain communicattions. +> 4. Decentralziation: lots of functionalities of Near wallet relies on a closed-source centralied helper service. We don't want that. +> 5. Extensibility: the network RPC is hardcoded into NEAR. Choko Wallets need to support a wide range of networks, while we will allow networks to customize their own request handling mechnisim, while have a set of functionalities by default. Such design will require weeks to peel off wallet logics away from the near codebase. +> 6. Security: the near wallet does not require a user input password to safeguard the seed phrase. This can be considered "kind of" secure because of the AccountId system of Near(i.e. Keys are ephermeral, while a human readable AccountId like "alex.near" is presistent). However, this is not applicable to the Polkadot ecosystem. To change so, we would also have to completely peel away the private key management logic from the near codebase. +> 7. Frontend Framework: we decided to go with Next+Tailwind+Redux+TypeScript combo with good lint/test/build pipeline for better maintainablity. And avoid the messy codebase as the Near Wallet. + +[LINK `@choko-wallet/core`](https://github.com/choko-wallet/sdk/tree/master/packages/core/src) for all primitives to the wallet like cross-chain `DAppDescriptor`, cross-chain `UserAccount` that can be locked and typed with different cryptographic types etc. + +[LINK `@choko-wallet/known-networks`](https://github.com/choko-wallet/sdk/tree/master/packages/known-networks/src) for a list of known-networks from `@polkadot/apps`; + +[LINK `@choko-wallet/request-handler`](https://github.com/choko-wallet/sdk/tree/master/packages/request-handler/src) for a extendable request handling that are byte precise and efficient on payload encoding; + +[LINK `@choko-wallet/sdk`](https://github.com/choko-wallet/sdk/tree/master/packages/sdk) for Dapps to integrate for account management in browsers and handle both local and remote requests; + +`@choko-wallet/sdk-react` (To be made) to inject the SDK to React components for lifecycle management etc. +## Development Roadmap :nut_and_bolt: + +Mostly described above in the Overview section. + +### Overview + +- **Total Estimated Duration:** 3 months +- **Full-Time Equivalent (FTE):** 5 FTE +- **Total Costs:** $64,000 + +### Milestone 1 + +- **Estimated duration:** 1.5 months +- **FTE:** 6 FTE +- **Costs:** 36,000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a **live demo**. Documentation to SDK. | +| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Docker | A Dockerfile won't be much useful for a static web app. Therefore, we are not going to provide one for this milestone. | +| 0e. | Article | We will publish an **article** that explains the concept of the Choko Wallet. More general-public-oriented version of what described in this application. | +| 1. | Reactjs WebApp | import/create account (create 12 words seed phrase, encrypt with user-input password and store in browser localStorage, encrypted with cryptographic primitives from `@skyekiwi/crypto`, make sure the user has writen down the seed by testing a randomly selected word i.e. ask user to input and validate word #7; import a seed phrase and encrypt with user-input password)

sign message/transaction

a almost blank dashboard but allow switching between networks (support all networks on `@choko-wallet/known-networks`) and connect to a customized network provider

setup-on-another-device(instruction and QR code generator), import from clear seed(a route to receive a *clear* encoded seed pharse via URL and import into wallet), create wallet page(option to send a URL with a *clear* seed phrase via email & warning banner when a wallet that had exposed a *clear* seed phrase has more than $50 on the selected network) | +| 2. | A Sample DApp | A sample DApp created with `@choko-wallet/sdk` to test with common functionalities. | +| 3. | SDK | For `@choko-wallet/known-networks` will include a few popular Polkadot chains, `@choko-wallet/request-handler` will implements handler for "request for user public identity", "request to sign transaction", "request to sign message", "request to decrypt/encrypt message" (Note: encryption/decryption won't be a solution yet, see discussion above for details). | + + +### Milestone 2 + +- **Estimated Duration:** 1.5 month +- **FTE:** 4 FTE +- **Costs:** 28,000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a **live demo**. Documentation to SDK.| +| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Docker | A Dockerfile won't be much useful for a static web app. Therefore, we are not going to provide one for this milestone. | +| 0e. | Article | We will publish two **article** that explains 1. Dapp developers, how to get started and why to get started with Choko Wallet 2. How to create LinkDrop and rational behind it. | +| 1. | Reactjs WebApp | dashboard (display balance, send tokens), stake tokens on selected networks. An alternative dashboard to list assets across multiple parachains and relay chains. A built-in Dapp to teleport assets between parachains (i.e. Support for only DOT and KSM) | +| 2. | Linkdrop Pallet | A substrate pallet that enable anyone to create a linkdrop vault with X number of Y maximum recepients. The developer will create a batch of Y authorization code by `encode( signMessage(vaultId, receipientIndex) )` and distribute the authorization code to seed users. The pallet will then accept a rate limited 0 weight transaction that validate the authorization code and make transfers. | +| 3. | Linkdrop in Web App | Web App interface to create and claim LinkDrops | + +## Future Plans + +- Allow Web2 login info to be mapped to Web3 address. This will be some complicated and hard tech to implement to preserve user privacy. Require deeper integration of the SkyeKiwi Network for privacy preserving smart contract calls. + +- NFT integration - Integrate wallet support for popular NFT protocols in the Polkadot ecosystem and teleporting of NFT assets. + +- Allow connection to Ethereum. Research and implement ways to send Web3Js style transactions via the browser wallet. + +- Ledger support - for serious crypto users, while preserving the easy to use nature of the wallet. + +- Biometric support - encrypt the seed phrases with FaceId/TouchId etc with WebAuthn standard. + +- Port as mobile Apps - biometrics authentication will sure be there and security will be greatly enhanced. + +- More face-to-face events features - i.e. genrate printable QR codes for Linkdrops to be distributed at event venues; location based events check-ins. Scan and validate tickets (as NFTs) at event venues. + +- Integrate social-recovery-pallet for an easy recovery process. From 34d6d290e462600df2883a764f4d3566f2d3c7f5 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Thu, 25 Aug 2022 14:27:19 +0200 Subject: [PATCH 0106/1872] Update accepted_grant_applications.md Choko Wallet --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index e927ca5685f..e8cfcc8d127 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -535,5 +535,6 @@ | [Uke](https://github.com/Uke-Messaging) | Uke Messaging - PoC - Phase 1 | [GitHub](https://github.com/Uke-Messaging) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Redstone Network](https://github.com/difttt) | Redstone Network | [GitHub](https://github.com/difttt) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [JURIMETRIC TECNOLOGIA LTDA](https://www.jurimetric.com.br/) | Polkadart | [GitHub](https://github.com/rankanizer/polkadart) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Skye Kiwi](https://skye.kiwi/) | Choko Wallet | [GitHub](https://github.com/skyekiwi) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 7be0a34b2a831e25dfd06b6e39532e29ca7327a1 Mon Sep 17 00:00:00 2001 From: Dusan Morhac <55763425+dudo50@users.noreply.github.com> Date: Fri, 26 Aug 2022 10:37:37 +0200 Subject: [PATCH 0107/1872] Update ParaSpell.md (#1145) Change preinstalled nodes. --- applications/ParaSpell.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/applications/ParaSpell.md b/applications/ParaSpell.md index 80944e164dd..56bc2d091b7 100644 --- a/applications/ParaSpell.md +++ b/applications/ParaSpell.md @@ -32,7 +32,7 @@ Overall ParaSpell is all about developer experience. ### Project Details 🎯 -ParaSpell in its current form allows developers to install all dependencies as well as a network consisting of Rococo, Moonbeam, Basilisk & Acala nodes with one command. Launching a network is also done by one command. Once the network is installed and started ParaSpell application allows developers to open/close HRMP channels between mentioned parachains. In current progress ParaSpell already has user interface and main functionality almost finished. +ParaSpell in its current form allows developers to install all dependencies as well as a network consisting of Rococo, Pichiu(Kylin network), Bifrost & Acala nodes with one command. Launching a network is also done by one command. Once the network is installed and started ParaSpell application allows developers to open/close HRMP channels between mentioned parachains. In current progress ParaSpell already has user interface and main functionality almost finished. The following screen allows the user to open the HRMP channels between list of parachains pulled from Rococo by API call. [ @@ -78,7 +78,7 @@ Application is purposely designed to be as simple as possible. This guarantees, - Polkadot api libraries - Make - Polkadot launch -- Substrate compatible nodes (For now Rococo, Acala, Basilisk & Moonbeam) +- Substrate compatible nodes (For now Rococo, Pichiu(Kylin network), Bifrost & Acala) ### Ecosystem Fit 🌿 From 1ac922a0b8b9500f4468a0c2b1710db87916ebbb Mon Sep 17 00:00:00 2001 From: S E R A Y A Date: Mon, 29 Aug 2022 09:28:21 +0200 Subject: [PATCH 0108/1872] Update accepted_grant_applications.md (#1148) --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index e8cfcc8d127..d08c28d409a 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -503,7 +503,7 @@ | [Faceless Protocol](https://github.com/HeisenbergLin22) | Faceless Protocol | [GitHub](https://github.com/HeisenbergLin22) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [SuperColony](https://github.com/Supercolony-net) | Typechain | [GitHub](https://github.com/Supercolony-net/typechain-polkadot) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Codelight](https://massbit.io/) | Massbit Route | [GitHub](https://github.com/massbitprotocol/massbitroute) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Hypha Hashed Partners](https://hypha.earth/) | Social Recovery Wallet | [GitHub](https://github.com/hypha-dao) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Hypha Hashed Partners](https://hypha.earth/) | Social Recovery Wallet | [GitHub](https://github.com/hypha-dao) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [MangoBOX labs](http://mangobox.xyz/) | MangoBOX Protocol | [GitHub](https://github.com/Mangoboxlabs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| ## :surfing_woman: Wave 15 - Third Quarter 2022 From 869707e787387ea619412681e924704ad9c4b242 Mon Sep 17 00:00:00 2001 From: lucasvanmol Date: Mon, 29 Aug 2022 17:01:23 +0200 Subject: [PATCH 0109/1872] Update accepted_grant_applications.md (#1151) wasm-opt-rust M1 complete --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index d08c28d409a..7b0653d7147 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -518,7 +518,7 @@ | [Standard Protocol](https://standard.tech/) | Signac - a monorepo plugin for developing multiple Parity ink! smart contracts | [GitHub](https://github.com/digitalnativeinc) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [B-Datagray](https://www.b-datagray.com/) | Datagen Project | [GitHub](https://github.com/Datagen-Project) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Colorful Notion](https://polkaholic.io/#chains) | Polkaholic.io's Multi-Chain Substrate Block Explorer | [GitHub](https://github.com/colorfulnotion/polkaholic/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Common Orbit LLC](https://brson.github.io) | `wasm-opt` for Rust | [GitHub](https://github.com/brson/wasm-opt-rs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Common Orbit LLC](https://brson.github.io) | `wasm-opt` for Rust | [GitHub](https://github.com/brson/wasm-opt-rs) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Blockcoders](https://blockcoders.io/) | Ink Explorer | [GitHub](https://github.com/blockcoders) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Equilibrium](https://equilibrium.co/) | Polkadot Light Client in C++ | [GitHub](https://github.com/eqlabs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Open rollup](https://github.com/openrollup-zk) | Open rollup - MVP - Phase 1 | [GitHub](https://github.com/openrollup-zk) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 0349f57c48029f0d865733f88b25c3fb9ba0598d Mon Sep 17 00:00:00 2001 From: S E R A Y A Date: Mon, 29 Aug 2022 17:50:04 +0200 Subject: [PATCH 0110/1872] Terminate grant: Uke (#1150) --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 7b0653d7147..8fa37be19dc 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -532,7 +532,7 @@ | [Meta Defender Team](https://github.com/Meta-Defender/) | Meta Defender | [GitHub](https://github.com/Meta-Defender/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [ParaSpell](https://github.com/dudo50/ParaSpell) | ParaSpell | [GitHub](https://github.com/dudo50/ParaSpell) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Primis Labs](https://github.com/Primis-Labs) | Primis | [GitHub](https://github.com/Primis-Labs/client) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Uke](https://github.com/Uke-Messaging) | Uke Messaging - PoC - Phase 1 | [GitHub](https://github.com/Uke-Messaging) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Uke](https://github.com/Uke-Messaging) | Uke Messaging - PoC - Phase 1 | [GitHub](https://github.com/Uke-Messaging) |
  • [x]
|
  • [ ]
|
  • [ ]
| | [Redstone Network](https://github.com/difttt) | Redstone Network | [GitHub](https://github.com/difttt) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [JURIMETRIC TECNOLOGIA LTDA](https://www.jurimetric.com.br/) | Polkadart | [GitHub](https://github.com/rankanizer/polkadart) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Skye Kiwi](https://skye.kiwi/) | Choko Wallet | [GitHub](https://github.com/skyekiwi) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From fc06dc2cc1b1cc3e0f50d9e0e612aea37fe90020 Mon Sep 17 00:00:00 2001 From: Gryczka Date: Mon, 29 Aug 2022 14:22:21 -0400 Subject: [PATCH 0111/1872] Ventur Proposal (#1126) --- applications/ventur.md | 250 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 250 insertions(+) create mode 100644 applications/ventur.md diff --git a/applications/ventur.md b/applications/ventur.md new file mode 100644 index 00000000000..f3e52f0a96f --- /dev/null +++ b/applications/ventur.md @@ -0,0 +1,250 @@ +# W3F Grant Proposal + +- **Project Name:** Ventur +- **Team Name:** Popular Coding +- **Payment Address:** 0x98d8b52Eb09db91f92D01F0DF40cFa3F0e172c7f (usdc) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 + +## Project Overview :page_facing_up: + +### Overview + +#### Ventur, The Business Process Parachain. + +Ventur is focused on decentralizing business processes and services for professionals. Ventur’s initial goals are: +1. To enable decentralized marketplaces for professional engagement, encompassing business-to-business engagement and employment contracts between businesses and individuals. +2. To enable assignment and evaluation of technical credentials. + +Ventur’s professional marketplaces will naturally enable additional use cases. Having work engagements and their resolutions tracked on a parachain, will lend itself to treating records of completed work on Ventur as a trustless alternative to a company or individual contractor's reputation. Past work will serve as an immutable live CV for participants. Enabling applications with functionality along the lines of LinkedIn to present work engagement data in a Professional Profile. + +Furthermore, RFP (request for proposal) Providers requesting bids on Ventur will have the option to prefund their RFPs by placing funds into escrow to show Bidders that there are funds committed to the RFP. + +Both Bidders and Providers will be incentivised to fulfill the off-chain obligations of their business contracts. While on-chain logic can enforce one time payments and recurring payments, the delivery of deliverables will be incentivised through their public record on Ventur. + +Bidders who do not deliver their work will have their failure to deliver recorded on Ventur. Providers will be able to review past successes and failures as they evaluate whether to engage with bidders on new RFP bids. + +Providers will be able to refine their bidding criteria and enforce requirements from account data not only on Ventur, but also from other parachains. This lends itself to tracking cross chain credentials like technical certifications. One possible example could be having an IT certification for knowledge in Validator management; this credential could be granted to an address as an NT-NFT, non-transferable NFT, on a given parachain. Then, providers looking to engage bids for running a validator, could specify a requirement that only addresses in possession of a NT-NFT for Validator Operators can place bids. + +##### Substrate / Polkadot / Kusama Integration + +Ventur will be built using the Substrate Framework. It will exist as a parachain or parathread on the Polkadot Network and enable professional engagement for work related to each of the attached parachains and beyond. + +##### Team Interest + +The team at Popular Coding is excited by the promise of Web3 and is eager to help realize the promise of decentralization for use cases that can grow the ecosystem. Our team has extensive experience working with Web2 technologies. We have engaged directly in RFP and bidding processes as consultants and have seen many companies through these processes as trusted advisors. We have seen firsthand that there is much to be gained through a more transparent and open process, and we believe we have the right experience and skill sets to deliver on a Web3 implementation. + +Beyond bidding, we have participated directly in the adoption and growth of the cloud industry, as consultants helping customers move their first workloads into the cloud and as cloud engineers and architects for major cloud providers, helping provide prescriptive guidance and guide adoption across major corporations. We’ve seen the importance of having certification processes and an available qualified workforce for companies to adopt new technologies and confidently accelerate their training and hiring efforts to grow in new fields. We believe that the right training and certification processes tied into an RFP market can drive real value and accelerate growth for the Polkadot Kusama ecosystem. + +### Project Details + +An overview presentation on Ventur is available on [Google Docs](https://docs.google.com/presentation/d/15kMwFxIbvGHCOPvR7gi7RVZAmYfQczMNFKr9NEBDNK4/edit?usp=sharing). + +Documentation of our core functionality and architecture are available on [Google Docs](https://docs.google.com/document/d/1gFBQufcYHUP4rBwN_Ck6ERT6l4eyhA0_PKXf__AbmzQ/edit?usp=sharing). + +An early stage MVP of the NT-NFT pallet has been developed and is located on [GitHub](https://github.com/Popular-Coding/nt-nft). + +In this initial batch of work, Ventur Network will not have any user-facing dapps implemented. Development of marketplaces built upon this grant's pallet functionality is planned but beyond the scope of this proposal. + +### Ecosystem Fit + +Help us locate your project in the Polkadot/Substrate/Kusama landscape and what problems it tries to solve by answering each of these questions: + +- Where and how does your project fit into the ecosystem? + +From a functional perspective, Ventur fits in as a parachain. + +Ventur focuses on supporting business and professional engagement processes for the DotSama ecosystem. Specifically, Ventur will initially support processes for RFP creation, bidding, and acceptance. There will also be functionality for automating payment schedules for RFP contracts. + +These functions have the potential to enable a decentralized marketplace for work within the DotSama ecosystem. Furthermore, integration with other parachains through xcmp will enable RFPs to reference attributes from other chains as qualifications to bid on an RFP, as well as allowing buyers to create RFPs with payment escrow in tokens native to other parachains. + +Additionally, histories of successfully paying out RFPs and successfully fulfilling bids for work on the Ventur network could serve as trustless reputations for companies and individual professionals in the ecosystem. Allowing newcomers to confidently engage companies and workers with documented histories or even living resumes on Ventur. + +- Who is your target audience (parachain/dapp/wallet/UI developers, designers, your own user base, some dapp's user base, yourself)? + +The target audience for Ventur from an end user perspective includes businesses and individual professionals. + +But more directly, Ventur will have a direct target audience of dapp developers. Dapps can be built on top of Ventur to enable marketplaces for different types of work, ranging from GitHub bounties to NFT creation marketplaces and even marketplaces for off-chain work and fulfillment. +Developers will also be able to look at the network history to deliver web apps that display trends and analytics for the marketplaces and that rank, categorize, and summarize buyer and bidder histories. + +- What need(s) does your project meet? + +Connecting Businesses and Professionals with a work and bid marketplace and providing tools for one-off contracts and long-term engagement. + +Beyond providing a decentralized and transparent marketplace for professional engagement, Ventur will also be able to serve as a record of completed work, in effect allowing past work to serve as a living on-chain resume for professionals. And Non-Transferable NFTs will enable technical certification and professional and academic credentials to be represented and tied to on-chain entities. + + +- Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem? + - If so, how is your project different? + - If not, are there similar projects in related ecosystems? + +There are a few grant proposals which have worked to implement Auctions on Substrate. +While our RFP process will have similarities to an auction process, allowing for bids and providing mechanisms for eventual winner selection. It will differ in having mechanisms for requesters to approve bids after manual review and qualification options for automatically limiting bids to members of predefined collectives and holders of particular NT-NFTs (which can serve as technical certifications). There will also need to be options to reopen bidding should an approved bidder not accept their selection. + +There have been multiple implementations of NFT pallets for Substrate. As the name suggests, our Non-Transferrable NFT pallet would be differentiated from existing implementations by enabling NFTs that are soulbound to a specific account, [there has been some popular writing on the topic of soulbound nfts](https://vitalik.ca/general/2022/01/26/soulbound.html?external=1). To prevent such NFTs from being spammed onto accounts in an unsolicited manner, the NT-NFT pallet would require an acceptance by the NT-NFT recipients to finish the minting process. NT-NFTs will also provide an option for expiry. + +From a broad perspective, the RFP portion of this project could be considered similar to GitCoin. And a GitHub bounty functionality as well as crowdsourced grant funding functionality are certainly use cases that we envision Ventur supporting. However, Ventur intends to more broadly support bids and engagement outside the realm of code development and delivery. Additionally, we would like to see Ventur support not just bidding and bounty processes but also collective enablement and benefit procurement for freelancers, and fundamental business processes like payroll automation. + +## Team :busts_in_silhouette: + +### Team members + +- Name of team leader +Patrick Gryczka +- Names of team members +GinSiu Cheng +Maciej Zielonka +Joseph Murawski + +### Contact + +- **Contact Name:** Patrick Gryczka +- **Contact Email:** patrick@popularcoding.com +- **Website:** popularcoding.com + +### Legal Structure + +- **Registered Address:** 8 The Green STE D Dover, DE 19901 +- **Registered Legal Entity:** Popular Coding LLC. + +### Team's experience + +The Popular Coding team delivers a combination of enterprise engineering experience, development talent, and operational excellence. Team members have worked at major tech companies like Microsoft, AWS, and Meta, and cutting-edge startups like Sooryen Technologies and Blue Voyant. + +Recently the team participated in the 2022 Polkadot Hackathon North America Edition, placing third in the NFT category with their mvp of a Non-Transferable NFT pallet for Substrate. +​ + +**​Patrick Gryczka** + +Patrick is a Solutions Architect at Amazon Web Services. He designs and implements distributed systems using cloud services and creates prescriptive guidance and best practices for enterprises using AWS. Before joining AWS, Patrick worked at Microsoft, where as a Cloud Solution Architect he worked as a trusted advisor for strategic customers. Working in the enterprise cloud provider space, Patrick has developed core competencies in serverless development, DevOps, and engineering project management. + +At the start of his career, Patrick worked as a Software Engineer with the consulting startup Sooryen Technologies. He designed and delivered cloud-based analytics and machine learning workloads for e-commerce customers, bringing prediction and recommendation functionalities to production for companies like 1-800-Flowers. Patrick also worked with the Fennel Labs team on [Supply Mesh](https://devpost.com/software/supply-mesh), a dapp designed for the Hack the Crisis Denmark Hackathon in 2020. + + + +**​GinSiu Cheng** + +Gin is a customer success and cloud engineering leader at Microsoft Financial Services with a proven track record in helping customers execute multi-year cloud transformations for mission-critical applications (totaling $XXX million per year) and deliver on targeted business outcomes. As a senior principal architect, he shapes FSI customers’ cloud adoption strategies and journeys, defines technical architecture and implementation, drives Azure platform improvements and new features with Azure engineering teams, and assembles and leads large scale teams (50+) to tackle the toughest problems. + +Prior to joining Microsoft, Gin held various roles ranging from cloud practice lead and software engineer at a consulting startup (acquired by Encora) to cybersecurity researcher and data scientist in academic, startup and enterprise settings with demonstrated implementation experience across all major cloud vendors (Azure, AWS and GCP). + +Areas of expertise: Infrastructure Modernization, Application Development, Site Reliability Engineering, DevOps, Data Engineering and Analytics, and Cybersecurity + +**Maciej Zielonka** + +Maciej is a software engineer working for the Messenger organization at Meta, Inc. His product infrastructure team sits at the intersection of backend and frontend needs, providing scalable solutions and APIs for product developers. The team optimizes reliability, performance, and quality of experience for users as it integrates new features into the Messenger infrastructure. Maciej graduated from Yale in May 2021 with a B.S. in Computer Science, where his coursework focused on Machine Learning, Data Science, Operating Systems, and Quantum Computing. His senior project with Brian Scassellati’s Social Robotics Lab developed machine learning models that could classify children’s engagement in an activity or conversation using auditory signals. He was also a member of Code Haven, a student-run organization that taught introductory computer science lessons to public elementary schools in New Haven. During his time at Yale, Maciej interned at Facebook, Inc., where he worked with Facebook’s continuous deployment team, using the Rust programming language, Maciej built a service capable of deploying Widely Distributed Binaries to Facebook’s development machines. Maciej also interned at Amazon in Wrocław, Poland as a robotics intern, where he actively maintained and repaired Amazon’s automated systems, and contributed new automated solutions to everyday problems at Amazon’s warehouses. + +**Joseph Murawski** + +Joseph Murawski is a Cloud Security Engineer working for BlueVoyant. Joseph brings 15 years of experience in Cyber Security and System Operations Management. +In his current role, he works in security operations. He designs and implements security solutions in a challenging multi-cloud environment for a world-class security company. +Previous roles include designing and executing IT systems for multi-billion-dollar construction projects. Technical business liaison, responsible for strategically implementing new technology solutions that improve business efficiency while meeting corporate business goals. + +### Team Code Repos + +- https://github.com/popular_coding + +Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine. + +- https://github.com/Gryczka +- https://github.com/GinSiuCheng +- https://github.com/maciekzielonka +- https://github.com/d-z-o + +### Team LinkedIn Profiles + +- https://www.linkedin.com/in/gryczka/ +- https://www.linkedin.com/in/ginsiucheng/ +- https://www.linkedin.com/in/maciej-zielonka-b83b7a230/ +- https://www.linkedin.com/in/joseph-murawski/ + +## Development Status :open_book: + +If you've already started implementing your project or it is part of a larger repository, please provide a link and a description of the code here. In any case, please provide some documentation on the research and other work you have conducted before applying. This could be: + +An overview presentation on Ventur is available on [Google Docs](https://docs.google.com/presentation/d/15kMwFxIbvGHCOPvR7gi7RVZAmYfQczMNFKr9NEBDNK4/edit?usp=sharing). + +Documentation of our core functionality and architecture are available on [Google Docs](https://docs.google.com/document/d/1gFBQufcYHUP4rBwN_Ck6ERT6l4eyhA0_PKXf__AbmzQ/edit?usp=sharing). + +An early stage MVP of the NT-NFT pallet has been developed and is located on [GitHub](https://github.com/Popular-Coding/nt-nft). +We wrote up a summary of the NT-NFT pallet’s goals on [our submission of the pallet to the 2022 Polkadot Hackathon North America Edition](https://devpost.com/software/nt-nft-pallet). + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Total Estimated Duration:** 2 months +- **Full-Time Equivalent (FTE):** 4 FTE +- **Total Costs:** 30,000 USD + +### Milestone 1 — Implement contracted-payment-process and escrow Substrate Modules + +- **Estimated duration:** 1 month +- **FTE:** 4 +- **Costs:** 15,000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | MIT | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can spin up one of our Substrate nodes and send test transactions, which will show how the new functionality works. | +| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Docker | We will provide Dockerfiles that can be used to test all the functionality delivered with this milestone. | +| 0e. | Article | We will publish an **article** that explains the functionality of the contracted-payment-process pallet and the escrow pallet, and goes through how you can launch template substrate nodes with those pallets from the pallet repos using Docker. +| 1. | Substrate module: escrow | We will create a Substrate module that will implement an escrow functionality allowing for rfp submitters to lock up funds for funding rfps. | +| 2. | Substrate module: contracted-payment-process | We will create a Substrate module that will implement a contracted payment process, paying out over the duration of a contract with defined functionality for resignation and termination. | +| 3. | Substrate chain - Ventur | Modules escrow and contracted-payment-process will be integrated into Ventur and interaction between them will be enabled, allowing for contracted-payment-process to source funds from an escrow address. | + + + +### Milestone 2 — Implement rfp-process and nt-nft Substrate Modules + +- **Estimated duration:** 1 month +- **FTE:** 4 FTE +- **Costs:** 15,000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | MIT | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can spin up one of our Substrate nodes and send test transactions, which will show how the new functionality works. | +| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Docker | We will provide Dockerfiles that can be used to test all the functionality delivered with this milestone. | +| 0e. | Article | We will publish an **article** that explains the functionality of the rfp-process pallet and nt-nft pallet, and goes through how you can launch template substrate nodes with those pallets from the pallet repos using Docker. +| 1. | Substrate module: rfp-process | We will create a Substrate module that will implement an RFP bidding and acceptance process. | +| 2. | Substrate module: nt-nft | We will refine our Substrate module that implements non transferable nfts. These non transferable nfts can be used for professional certifications as well as proof of membership to an advocacy-dao, or for subscriptions. | +| 3. | Substrate chain - Ventur | Modules rfp-process and nt-nft will be integrated into Ventur and interaction will be enabled between the rfp-process and the contracted-payment-process and escrow modules. | + + +## Future Plans + +Short Term Development Plans: +- Create initial dapps with UIs to integrate with Ventur and showcase how it can power RFP processes, certifications, and marketplaces for professional engagement. + +Long-Term Development Plans and Project Intentions: +- Launch a testnet and further refine pallets. +- Engage Corporate Partners for RFP requests. +- Integrate XCMP to source certifications and other qualifications from sources on other parachains and allow for RFPs in tokens native to those parachains. +- Explore subscription and membership use cases for expiry dated NT-NFTs. +- Secure parachain slot for Ventur. + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** +Web3 Foundation Website and personal recommendation. + +Here you can also add any additional information that you think is relevant to this application but isn't part of it already, such as: + +- Work you have already done. +This would be our first grant in the Web3 ecosystem. We have created an MVP of the NT-NFT module defined as a part of our deliverables and would further refine and integrate it as part of this grant’s work. +- If there are any other teams who have already contributed (financially) to the project. +No teams have contributed financially to our project, but we did receive some prize money for placing third in the [Polkadot Hackathon 2022](https://polkadot-na.devpost.com/)’s NFT category for our work conceptualizing the NT-NFT module. + + + + + + + + + + + + From 24f00c0fd0e009460eb4c60df809b91f5fbd1f98 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 29 Aug 2022 20:24:08 +0200 Subject: [PATCH 0112/1872] Update accepted_grant_applications.md Add Ventur --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 8fa37be19dc..e3a42a69e31 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -536,5 +536,6 @@ | [Redstone Network](https://github.com/difttt) | Redstone Network | [GitHub](https://github.com/difttt) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [JURIMETRIC TECNOLOGIA LTDA](https://www.jurimetric.com.br/) | Polkadart | [GitHub](https://github.com/rankanizer/polkadart) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Skye Kiwi](https://skye.kiwi/) | Choko Wallet | [GitHub](https://github.com/skyekiwi) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Popular Coding](https://www.popularcoding.com/) | Ventur | [GitHub](https://github.com/popular_coding) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 748559ec4a2d4a0e36e1b96039d684294c7bca32 Mon Sep 17 00:00:00 2001 From: S E R A Y A Date: Tue, 30 Aug 2022 12:07:03 +0200 Subject: [PATCH 0113/1872] Update uke.md (#1152) --- applications/uke.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/applications/uke.md b/applications/uke.md index 217f611476b..c9a46aceccd 100644 --- a/applications/uke.md +++ b/applications/uke.md @@ -6,6 +6,8 @@ - **Team Name:** Uke - **Payment Address:** bc1qttjsaqr0m8sxm46wnfdupzpl6rjemts3uxsuu5 - **Level:** 1 +- **Status:** [Terminated](https://github.com/w3f/Grant-Milestone-Delivery/pull/548#issuecomment-1230409529) + > ⚠️ *The combination of your GitHub account submitting the application and the payment address above will be your unique identifier during the program. Please keep them safe.* From 74cf1c5eabb1a1340d18963487fa499f48b26dc2 Mon Sep 17 00:00:00 2001 From: lucasvanmol Date: Tue, 30 Aug 2022 12:10:59 +0200 Subject: [PATCH 0114/1872] Update accepted_grant_applications.md (#1154) --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index e3a42a69e31..1788d1f080a 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -479,7 +479,7 @@ | [Artree LLC](https://artree.co.jp/) | Zero Network | [GitHub](https://github.com/zero-network) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [sigma prime](https://sigmaprime.io/) | Differential Fuzzer | [GitHub](https://github.com/sigp) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [t3rn](https://www.t3rn.io/) | XBI - xcm-based high-level standard and interface (ABI) for smart contracts | [GitHub](https://github.com/t3rn/t3rn) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Dante Network](https://www.dantechain.com/) | Dante Network | [GitHub](https://github.com/dantenetwork) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Dante Network](https://www.dantechain.com/) | Dante Network | [GitHub](https://github.com/dantenetwork) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Verida](https://www.verida.io/) | Single Sign-On for Apps | [GitHub](https://github.com/verida) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Kami Ekbatanifard](https://github.com/Nick-1979/) | Polkadot js plus / Nomination pools | [GitHub](https://github.com/Nick-1979/polkadot-Js-Plus-extension/wiki) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Afloat Inc](https://stayafloat.io/#/) | Tax Infrastructure Polkadot Integration | N/A |
  • [ ]
|
  • [x]
|
  • [ ]
| From 507205f8decba542679d7be57c4ef5a6e13609ad Mon Sep 17 00:00:00 2001 From: Maria Yaremenko <43481611+YaremenkoM@users.noreply.github.com> Date: Tue, 30 Aug 2022 14:11:27 +0200 Subject: [PATCH 0115/1872] Add Asylum follow-up 1 (#1000) * Create asylum_follow_up_1.md * Update total costs, ETA and FTE * Create asylum_follow_up_1.md * restructule and update Asylum follow-up application * fix typo * update links and markup * update asylum application * extend deliveries descriptions, update costs * delete ./idea * update application total overview --- applications/asylum_follow_up_1.md | 410 +++++++++++++++++++++++++++++ 1 file changed, 410 insertions(+) create mode 100644 applications/asylum_follow_up_1.md diff --git a/applications/asylum_follow_up_1.md b/applications/asylum_follow_up_1.md new file mode 100644 index 00000000000..c94506eee58 --- /dev/null +++ b/applications/asylum_follow_up_1.md @@ -0,0 +1,410 @@ +# W3F Grant Proposal + +- **Project Name:** [Asylum](https://asylum.space/) +- **Team Name:** Asylum +- **Payment Address:** 0x4dE01f5904651353021b9694f16FAb5f02DCD00e (USDT (ERC20)) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 + +## Project Overview :page_facing_up: + +### Overview + +Asylum is a fundamental metaverse platform. + +We're seeing a big gap in the Metaverse market because every project is mostly just trying to do some sandbox-like game with some extra blockchain-related stuff, whether it is suitable or not. + +But we believe that Metaverse is not about many separate projects - it is about a united and open system, consisting of many granular interconnected components. We can use the analogy with the Internet - there are a lot of different components, services, and content that are united into a single system due to the defined standards and protocols. + +And as the Internet was started by defining the basic standards we should start building the Metaverse in the same way. That's why the main focus for Asylum will be creating a set of open standards and protocols that will be a basement for future Metaverse. We call this set of standards IMP - Interoperable Metaverse Protocol. And such standards cannot be proprietary - we're not trying to make it a part of our product. We are building it open and free for everyone. + +And the Asylum product will consist of the etalon implementation of our standards, tools to make it usable for devs, and immersive apps for Users. + +### Project Details + +Here we will show two parts of our work in detail - IMP and Asylum product. + +#### IMP + +**What is it?** + +IMP (Interoperable Metaverse Protocol) - is a set of open standards and protocols that will be a basement for the Metaverse - a virtual open space with a life-like experience for the user. + +**Why is it important?** + +A real Metaverse, that will be open and consistent can be built only with a down-top approach when firstly we are building an infrastructure and only after that start creating User-side solutions. IMP (and its implementation by Asylum) will be the fundamental layer for Metaverse, which will natively connect different spaces, games, and apps into a single space. And unlike infrastructure products that are not separate the standards and protocol to the separate entity - **IMP will give an ability for every new project to implement its version of it, remaining compatible with other implementations**. + +**Who will work on it?** + +We understand the open standard can not be built only by some particular company - that's why we plan to gather a strong community of key players from the Metaverse market around IMP and make it owned by this community. + +**What components will be in?** + +IMP will consist of 6 loosely coupled blocks: + +1. Metaverse objects standard + +Within this standard, we are using a new approach to use NFT technology for building digital objects for Metaverse. We've reworked the concept of NFT as an image and concept of the NFT collections. We are seeking to make every object maximally independent from any client applications, store its history, be **natively** interoperable between different kinds of spaces (applications/games/etc inside the metaverse) and have fixed value to support balance between these spaces. + +We wrote the main pieces of this standard within our [first grant application](https://github.com/w3f/Grants-Program/blob/master/applications/asylum.md). + +Here are the main materials that describe our work: + +- [PitchDeck](https://asylum.space/files/AsylumPitchDeck.pdf). +- [Litepaper](https://asylum.space/files/litepaper.pdf). + +Here is also a diagram to have a quick overview of the standard: + +![img](https://gitlab.com/asylum-space/imp/-/raw/50a8a1bd1ba8a90b833e4cca128736d25f3e9357/standards/metaverse-object-0.1/docs/img/metaverse-objects-entities-flow-diagram.png) + +2. DAO protocol + +DAO for the Metaverse is th necessary foundation to exist - it provides ownership and participation for a User, which creates the feeling of the real life, and guarantees community-driven evolution. + +As the Metaverse is a huge space that consists of many various smaller spaces and components it is not suitable to have only one big DAO to rule them all. That's why we're seeing this protocol and the **agile framework to build multiple layers of DAO inside the Metaverse**, connected to the incentivize model. + +For different purposes it is suitable to use different solutions - in one place it could be critical to have fast decision making time, in another - to make sure that some proposal will be the right change for everybody. Because of this reason, we will include the different mechanisms of governance for different DAO layers. + +Main layers that we see for now: + +- DAO of the Metaverse +- DAO of the space +- DAO of the object + +The development of the last one will be included in the scope of this grant. + +3. Identity protocol + +For the metaverse, it is critically important to have a definition of the identity of every User. That will be the primary goal of the Identity protocol. + +Besides this, it will serve to provide an interoperable NFT Avatar(s) for the User, partially by utilizing the Metaverse objects standard. + +4. Exchange protocol + +In our vision Metaverse spaces should be interoperable not only in a "gameplay" way by also economically. For example, the problem of current games and web2.0 apps is that every such app has its own closed economy and there is no possibility for, for example, usage of some in-game currency on the social platform. This block the possibility of both products growing in synergy. + +We can think about Exchange protocol as the base economic laws and rules in the Metaverse. Every space can create its own, more detailed, rules as it wants, but working on the same ground it will make these economics connected. + +Particularly Exchange protocol will define the base standards and workflows for exchanging currencies (FTs) and objects (NFTs). The important part of it will be incentivized model that will fairly reward ecosystem Creators and Participants (DAO participants, artists, developers, space owners, etc) for their contribution to the ecosystem. + +5. L1 - L2 sync protocol + +A protocol for the L2 solution is necessary here because almost every space in the Metaverse will need a fast and secure backend. Usage of the blockchain for every space need is not the best solution and that is why we need to define the L2 standard for the Metaverse. + +6. World protocol + +World protocol is designed to standardize the structure and rules of space inside the Metaverse. It will include space DAO, space access rights, revenue model, economy rules, versioning and control rights of client&backend code, and so on. + +It will be the high-level organization block and will be coupled with every block mentioned above. + +#### Asylum product + +After we're described the IMP structure let's give a presentation of the Asylum product. + +On the high level it can be divided into two significant parts: + +- Metaverse provider + + Which includes complete and ready-to-use implementation of the IMP + +- Metaverse ecosystem + + Which includes applications, SDKs, tools, and frameworks for Creators and Players - to make the entrypoint to the Metaverse easier. + +##### Metaverse provider + +Just like Internet has a set of standards and has providers - Asylum will develop the reference implementation of the IMP, becoming the Metaverse provider. + +As the concept and functionality of IMP were described above here will be provided a short description of our implementation. + +For every part of the IMP, we will implement a Substrate pallet, which will be the basement for Asylum node. For the L2 solution, we'll use TEE technology. We plan to become firstly Kusama and then Polkadot parachain to achieve interoperability on the chain level. + +For every part of the IMP we will implement a Substrate pallet, which will be the basement for Asylum node. For the L2 solution we'll use TEE technology. Our plans are to become firstly Kusama and then Polkadot parachain to achieve interoperability on the chain level. + +We've already partially implemented a pallet for Metaverse objects within our first grant application. Here you could find all materials and code related to it. + +##### Metaverse ecosystem + +To make our product accessible for the Creators and Users we will provide necessary apps and tools that will lower the barrier of entry and attract more businesses and people to become participants in this ecosystem. + +- **SDK for game engines** + +As the Metaverse is about the more immersive approach to the applications - game engines are the best tools for builders of future apps. We've already started the development of the Unity SDK within our first grant application, here you could find all materials and code related to it. By our launch on the Kusame we also plan to deliver SDK for the Unreal engine to cover most of the market. + +Working on the SDK and Creato studio we're creating an environment where game/space developers and artists will not deal with some blockchain-specific tech but will work in their comfortable environment. + +- **Creator studio app** + +Creator Studio - is the web interface for the exploring and management of the Asylum ecosystem designed for artists and developers. It was partially delivered within our first grant application, here you could find all materials and code related to it. After the last milestone delivery, it was already extended with new features and now going through the design improvement stage. + +Finally it will be a single application with the different "mods" designed specifically for every actor: artist, developer, and space owner. It will cover functionality to set up and manage the space, work with objects, integrate them into a client, explore existing spaces and objects, etc. + +- **Asylum App** + +Asylum App - the entrypoint to the Metaverse for User. As Metaverse is about immersive interfaces it will be a 3d space with life-like interactions with the system. We're working on a design that will bring a new kind of user experience and make actions more intuitive. + +This application will provide a "room" for every User where he can work with his inventory and avatars and dive into available spaces. + +### Ecosystem Fit + +- Where and how does your project fit into the ecosystem? + +One of our main values is interoperability, this is why Polkadot ecosystem is a good fit for us. While we're working on intreroperability on the Metaverse layer - Polkadot is providing native interoperability on the chain level. We're seeking to be a chain agnostic platform, because for different types of our customers there will be different chains that better fits their needs. This is why interoperability in Polkadot is so suitable solution for our platform. + +From our side we will provide the first open Metaverse platform in the Polkadot ecosystem, that will be valuable for many parachains. + +- Who is your target audience (parachain/dapp/wallet/UI developers, designers, your own user base, some dapp's userbase, yourself)? + +Our target audience is applications, that want to become a part of united Metaverse - connect with their partners, open their economic, power up their content. + +We see here three basic areas: gaming, events, education and social. +Because of games are natively attractive, have immersive approach to interactions and smooth UX - we see this field as a first and a big target for us, as it will be a starting point for the Metaverse adoption. + +- What need(s) does your project meet? + +As the large-scale fundamental project we see gathering community as one of the main need now. The community with witch we will build and implement IMP so can the real world can be built. + +- Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem? + +There are few projects in ecosystem that are working in the similar direction with Asylum: + +1. [RMRK](https://www.rmrk.app/). +2. [Ajuna Network](https://ajuna.io/). +3. [CypherMod](https://cyphermod.com/) by PhalaNetwork and RMRKAPP. + +- If so, how is your project different? + +Asylum is operating on the fundamental layer, working on the standards and its implementation for the whole Metaverse ecosystem. There are no such projects for now, that are working on the infrastructure solution for the whole Metaverse ecosystem (not focusing only on NFT, or other spheres) and meanwhile implementing it as an open and extendable solution, not a closed (like Sandbox). +Because of this, almost all projects operating in this market are good candidates to work together, for example including their infrastructure solutions in our ecosystem. + +## Team :busts_in_silhouette: + +### Team members + +- **Illia Abrosimov** (Founder and СEO) +- **Markian Ivanichok** (Co-founder | СEO of Supercolony) +- **Maria Yaremenko** (Co-founder) +- **Sven Seven** (Head of Engineering | Supercolony) +- **Horacio Lex** (Rust Blockchain Developer | Supercolony) + +### Contact + +- **Contact Name:** Illia Abrosimov +- **Contact Email:** illia.abrosimov@asylum.space +- **Website**: [Asylum](https://asylum.space/) + +### Legal Structure + +- **Registered Address:** 68 Circular Road, #02-01, 049422, Singapore +- **Registered Legal Entity:** Asylum Labs PTE LTD + +### Team's experience + +**Illia Abrosimov** - CEO and Founder of Asylum.
+Illia used to be a backend developer since 2015, started coding at Unit Factory, had experience with algorithms, graphics, and game engines. +Was working at Ubisoft as an online programmer for two years, was dealing with backend infrastructure, led game jams and hackathons. +Have C#, C/C++, Rust, AWS in the stack. + +**Markian Ivanichok** - CEO and co-founder of Supercolony.
+Blockchain entrepreneur, Software Engineer. +Markian started his engineering career back when he was 15. Since then, developed and got a lot of experience in engineering and leadership. Gained entrepreneur experience by founding a couple of startups. Inspired, co-founded, and invested in Sector F, one of the top consulting companies in Ukraine that help entrepreneurs to move faster. +Co-founded and led Supercolony, a Polkadot venture studio that is dedicated to building and creating Polkadot’s ecosystem. + +**Maria Yaremenko** - Head of operations and co-founder of Asylum.
+In 2019 started to work as a front-end developer, Maria became interested in blockchain technology and soon started her career as a blockchain developer in the Polkadot ecosystem in 2021. +Maria has mentorship experience as a computer science tutor with, background in economics. + +**Alexander Kaplaty** - Financial Analytic & CFO, Supercolony.
+Internationally experienced financial and commerce professional helping businesses grow sales, improve operational performance, introduce corporate best practices, change organizational culture, and attract investments. + +**Kyrylo Nagorny** - CMO, Supercolony.
+ +**Sven Seven** - CTO, Supercolony.
+Software engineer with prod experience since 2015. Master degree in Information Security. +Has worked in finance, e-commerce, networking domains as full-stack dev. +Programming languages are JS, Java, Python, Rust, C++. +Blockchain dev since 2021. + +**Horacio Lex** - Blockchain developer, Supercolony.
+Software engineer since 2018. Master of Science in Applied Mathematics. Has worked in data science and game development. Former Ubisoft employee was working on HUD/UI & gameplay systems. Programming languages are Python, C++, Rust. Blockchain developer since 2021. + +### Team Code Repos + +- https://gitlab.com/asylum-space/ +- https://gitlab.com/asylum-space/asylum-ui +- https://gitlab.com/asylum-space/asylum-item-nft +- https://gitlab.com/asylum-space/asylum-standards + +Members: + +- https://github.com/LastSymbol0 +- https://github.com/0xMarkian +- https://github.com/YaremenkoM +- https://github.com/sventime +- https://github.com/SupremaLex + +### Team LinkedIn Profiles (if available) + +- https://www.linkedin.com/in/illia-abrosimov/ +- https://www.linkedin.com/in/maria-yaremenko/ +- https://www.linkedin.com/in/0xmarkian/ +- https://www.linkedin.com/in/sven-seventimes/ +- https://www.linkedin.com/in/%D0%BD%D0%B0%D0%B3%D0%BE%D1%80%D0%BD%D1%8B%D0%B9-%D0%BA%D0%B8%D1%80%D0%B8%D0%BB%D0%BB-3bb2276a/ +- https://www.linkedin.com/in/kaplaty/ +- https://www.linkedin.com/in/heorhii-lutsenko-502873164/ + +## Development Status :open_book: + +Current status of the Asylum development - finalization of the PoC. Mainly previous work were delivered within our [first grant application](https://github.com/w3f/Grants-Program/blob/master/applications/asylum.md) + +1. Creator studio - [link](https://gitlab.com/asylum-space/asylum-ui/-/blob/main/packages/game-developers-console/) + +Web application for NFT artists and game/space developers. Delivered within our first grant application. Now goining throught redesign stage. + +2. [Connection library](https://gitlab.com/asylum-space/asylum-ui/-/blob/main/packages/connection-library/README.md) + +TS library for connection with Asylum node. Fully delivered within our first grant application. + +3. [Unity SDK](https://gitlab.com/asylum-space/asylum-unity-sdk) + +Library for integration of the Asylum ecosystem into the unity engine. Delivered within our first grant application. + +4. [Asylum node](https://gitlab.com/asylum-space/asylum-item-nft) + +Currently includes pallet that implements Metaverse object standard (now called "asylum-core") and pallet for game/spaces distribution ("asylum-game-distribution"). Delivered within our first grant application. + +5. [Metaverse object standard](https://gitlab.com/asylum-space/imp) + +Now called "Asylum stadard", will be renamed in process of separation standards from Aslum to IMP. The basic version of the "Metaverse object standard" from IMP. Fully delivered within our first grant application. + +6. [Testing game A - 2d platformer "Ninja rian"](https://gitlab.com/asylum-space/asylum-ui/-/tree/main/packages/connection-library/data) + +Build of the 2d testing game with integration with Asylum node. Delivered within our first grant application. + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Total Estimated Duration:** 4 weeks +- **FTE:** 3,5 - 4 FTE +- **Total Costs:** 48,000 USD + +### Previous work: + +#### Milestone 1 — Basic in-game NFT items standard and web-app + +- **Estimated Duration:** 3 weeks +- **FTE:** 3 +- **Costs:** 30,000 USD +- **Devilery Status**: [Delivered](https://github.com/w3f/Grant-Milestone-Delivery/pull/438) + +| Number | Deliverable | Specification | +| -----: | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 0a. | License | MIT | +| 0b. | Documentation | We will provide a repository with documentation for the defined standard of NFT metadata in the format of text docs (most likely in .md). Also, examples of metadata will be provided. | +| 0c. | Testing Guide | For implemented standard unit tests will be provided along with a guide on how to run them. | +| 0d. | Docker | - | +| 0e. | Article | - | +| 1. | Item standard definition | The definition of the in-game item standard will consist of three parts: JSON schema, descriptive documentation, and examples of usage. Standard properties will be described below in the subparagraphs. | +| 1.1 | 2D visualization | NFT item created with the proposed standard will have the ability to have a visual interpretation in form of a 2D image. | +| 1.2 | 3D visualization | NFT item created with the proposed standard will have the ability to have a visual interpretation in form of a 3D model. | +| 1.3 | Multiple visual interpretations | NFT item created with the proposed standard will have the ability to have multiple visual interpretations, both for 2D or 3D visualization types. Interpretations will be stored under the different tags, for example, "2d-pixeled-inventory-view" or "3d-realistic-equipped". | +| 2. | Asylum Core pallet | We will deliver the implementation of the described standard. It will be pallets, which will implement base operations with item | +| 3. | Connection library | We will deliver the JS library, that will cover functionality of Asylum Core pallet. | +| 4. | Web application | We will create a web application that will give an ability to interact with mentioned pallets: create and update template and mint test NFT items. Related to the proposed UI mockups, the "templates section" will be implemented | + +#### Milestone 2 — Extended web-app and testing games + +- **Estimated Duration:** 3 weeks +- **FTE:** 2 +- **Costs:** 20,000 USD +- Delivery status: In development + +| Number | Deliverable | Specification | +| -----: | ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 0a. | License | MIT | +| 0b. | Documentation | - | +| 0c. | Testing Guide | For manually testing we will provide a basic **tutorial** that explains how a user can interact with the testing environment - go through a "happy path" which includes running a node, hosting web-app and games, minting the NFT in specified standard and trying to use it in two games. | +| 0d. | Docker | - | +| 0e. | Article | - | +| 1. | Web application | We will extend a web application to make it correspond provided mockups. | +| 2. | Unity integration | We will provide a simple library for Unity (SDK) for integration of the Asylum on-chain ecosystem (Asylum Core pallet) into the game client. | +| 3. | Game A | We will create a 2d web-faced platformer game sandbox in pixeled style with a small "level" space. A player will have a possibility to move, equip items from the inventory (inventory refers to the assets in the user's wallet), and use items (where applicable). The game will use NFT items minted on the Asylum Core pallet via the Unity library. | + +### Scope of this Grant: + +#### Milestone 3 — Interoperable games + +- **Estimated Duration:** 2 weeks +- **FTE:** 3,5 +- **Costs:** 22,400 USD + +| Number | Deliverable | Specification | +| ------ | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| 0a. | License | MIT | +| 0b. | Documentation | Improve documentation for Unity SDK, describe new features with managing 3D items and items drop | +| 0c. | Testing Guide | Guide through the interoperability of game mechanics between two games and association of Blueprints with in-game items, specified by Game Client | +| 0d. | Docker | Current Docker setup doesn't require additional changes | +| 0e. | Article | - | +| 1. | Unity SDK | | +| 1.1 | Unity SDK | Implement the ability to use Unity SDK in Standalone mode (without React build). We're going to utilize Ajuna Unity SubstrateClient and integrate it with Asylum pallets. | +| 1.2 | Unity SDK | Implement Unity Editor Extension to operate with Asylum pallets in Editor mode. This will be the first iteration of the editor extension, where a developer can specify the seed phase, connect to the Asylum chain, query Asylum entities, and mint Asylum Items. | +| 1.3 | Unity SDK | Refactor Unity SDK to support both use cases: inside React app and Standalone mode. | +| 1.4 | Unity SDK | Implement UML Class diagram of Unity SDK high-level classes | +| 1.5 | Unity SDK | Implement asynchronous assets loading to reduce lags during the game | +| 1.6 | Unity SDK | Improve Unity SDK example documentation: show two possible usages of the plugin (inside React and Standalone mode), a guide on editor extension usage | +| 2. | 3D Game | | +| 2.1 | 3D Game | Implement a 3D Diablo-like game in Unity 3D, which utilizes Unity SDK | +| 2.2 | 3D Game | Implement the ability to parse and render GLB/GLTF 3D models | +| 2.3 | 3D Game | Implement the ability to render 3D animation and effects based on Tags and Interpretations | +| 2.4 | 3D Game | Implement in-game Items drop logic with on-chain minting. There will be scripted in-game actions (e.g. open a chest, defeat an NPC), which triggers the on-chain minting of Item and handles its result | +| 3. | In-game items association | This deliverable is related to the Creators Studio web app | +| 3.1 | In-game items association | Implement the ability to create Blueprint with specific Interpretations required by Game Client to associate it with in-game item | +| 3.2 | In-game items association | Implement the ability to adapt existing Blueprint and add missing Interpretations, required by Game Client to associate it with in-game item | +| 3.3 | In-game items association | Implement a 3D model viewer to check uploaded 3D Interpretations | +| 4. | Renamings | According to the latest comments and product design discussions, we are making the following renamings: Template -> Blueprint, Game -> Space, Game Developers Console -> Creators Studio | + +#### Milestone 4 — Public availability + +- **Estimated Duration:** 2 weeks +- **FTE:** 4 +- **Costs:** 25,600 USD + +| Number | Deliverable | Specification | +| ------ | -------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 0a. | License | MIT | +| 0b. | Documentation | Organize all distinct documents in one single resource using existing documentation tools and make it public available. | +| 0c. | Testing Guide | Guide for Players WebApp: describe how user can configure wallet and achieve tokens to enter Asylum platform | +| 0d. | Docker | - | +| 0e. | Article | - | +| 1. | Game back-end example | We will implement a back-end for delivered games (milestones 2 and 3) that will track user actions and decide about items minting. In the future, this back-end is planned to be deployed on TEE (as an L2 solution) to make it secure and potentially decentralized. | | +| 1.1 | Game back-end example | Implement game back-end as substrate offchain worker and call it Asylum offchain minter. To make minting possible, blueprints issuer should insert their keys into the keystore as keys for offchain minter. | +| 1.2 | Game back-end example | Implement minting control. Offchain minter will submit a mint transaction with parameters from the mint request (blueprint_id, item receiver) from player. | +| 1.3 | Game back-end example | Implement minting request validation. Offchain minter will validate item mint request: game should support a blueprint, which mint is requested and player should own a Ticket, which gives him an access to the game | +| 1.4 | Game back-end example | Implement anti-bot protection. Offchain minter will store last player actions, such as movements, to guarantee that game was played honestly. Mint request will be rejected if some anomaly is found. | +| 1 | Unity SDK | | +| 1.1 | Unity SDK | Update Editor Extension to load Blueprint Interpretations as assets and display them in Unity custom editor window | +| 1.2 | Unity SDK | Implement ability to place and interact with Blueprint images and 3D models on the scene | +| 2. | Players WebApp | Implement WebApp for players, where user can run games and see/manage his obtained NFTs. Application will be based on Creator Studio app. It's the first iteration of Players WebApp, the next stage is 3D world with Avatar and multiplayer capabilities | +| 2.1 | Players WebApp | Implement ability to view player's ASLM balance | +| 2.2 | Players WebApp | Implement Discourd bot, where player can request ASLM tokens and link it with Players WebApp | +| 2.3 | Players WebApp | Implement page, where user can buy Tikets and launch Spaces | +| 2.4 | Players WebApp | Implement page, wheere user can view his obtained NFT items | + +## Future Plans + +As was described in the 'Overview' section, Asylum is a big project which has ambitious plans for the future. The milestones described in this grant application are about to become the first step for building a huge ecosystem for the Metaverse. + +Here you could find Asylum roadmap
+![roadmap](https://i.ibb.co/KX4WDXS/2022-07-28-17-23-56.jpg) + +**Materials**: + +- [Website](https://asylum.space/) +- [Litepaper](https://asylum.space/files/litepaper.pdf) +- [Pitch deck](https://asylum.space/files/AsylumPitchDeck.pdf) + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** + +Personal recommendation from the [Supercolony](https://www.supercolony.net). \ No newline at end of file From 7447edf30ddd8c94dd8fa0286fdb826b4978a479 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 30 Aug 2022 14:12:50 +0200 Subject: [PATCH 0116/1872] Update accepted_grant_applications.md Asylum --- docs/accepted_grant_applications.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 1788d1f080a..1df4c47f210 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -537,5 +537,7 @@ | [JURIMETRIC TECNOLOGIA LTDA](https://www.jurimetric.com.br/) | Polkadart | [GitHub](https://github.com/rankanizer/polkadart) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Skye Kiwi](https://skye.kiwi/) | Choko Wallet | [GitHub](https://github.com/skyekiwi) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Popular Coding](https://www.popularcoding.com/) | Ventur | [GitHub](https://github.com/popular_coding) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Asylum](https://asylum.space/) | Asylum follow-up 1 | [GitHub](https://gitlab.com/asylum-space/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| + From f086e63777e643ce5e640ce0185f0ea6d9dd65e7 Mon Sep 17 00:00:00 2001 From: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> Date: Tue, 30 Aug 2022 14:30:59 +0200 Subject: [PATCH 0117/1872] Update accepted_grant_applications.md (#1155) --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 1df4c47f210..1be73566d86 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -446,7 +446,7 @@ | [@Scale Technologies](https://atscale.xyz) | Libra - Decentralized Payment Network | [GitHub](https://github.com/atscaletech/) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Interstellar](https://www.interstellar.gg/) | Interstellar - Wallet Phase 1 | [GitHub](https://github.com/Interstellar-Network) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Pendulum](https://pendulumchain.org/) | Spacewalk: a Stellar bridge | [GitHub](https://github.com/pendulum-chain) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Dmitrii Koshelev](https://github.com/dishport) | Implementation of the new hash function to BLS12 curves | [GitHub](https://github.com/dishport) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Dmitrii Koshelev](https://github.com/dishport) | Implementation of the new hash function to BLS12 curves | [GitHub](https://github.com/dishport) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Hamster](https://github.com/orgs/hamster-shared) | Hamster - A decentralized computing network | [GitHub](https://github.com/orgs/hamster-shared) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Papers GmbH](https://papers.ch/en/) | Zaturn - A Generic Attestable Oracle parachain Phase 1 | [GitHub](https://github.com/airgap-it) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Slonigiraf](https://www.slonigiraf.org/) | SLON - a recommendation letter system| [GitHub](https://github.com/slonigiraf) |
  • [ ]
|
  • [x]
|
  • [x]
| From 3da72ad8a199ec28d067b7517c6a36fc08cd60ed Mon Sep 17 00:00:00 2001 From: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> Date: Wed, 31 Aug 2022 09:13:22 +0200 Subject: [PATCH 0118/1872] Clarify networks for crypto payments (#1156) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0a378495267..29f8037c653 100644 --- a/README.md +++ b/README.md @@ -141,7 +141,7 @@ The W3F Grants Program offers different grant levels to help you best depending ## :pencil: Process -> **:loudspeaker:** The process below is independent of the [level](#level_slider-levels). Payment is made in Bitcoin, USDT (KSM or ETH), USDC, DAI or aUSD. If you want to apply in **private** and/or you need to be paid out in **fiat**, you can apply [:arrow_right: here](https://docs.google.com/forms/d/e/1FAIpQLSfMfjiRmDQDRk-4OhNASM6BAKii7rz_B1jWtbCPkUh6N7M2ww/viewform). Note that this is generally a slower process and imposes stricter requirements on applicants. +> **:loudspeaker:** The process below is independent of the [level](#level_slider-levels). Payment is made in Bitcoin, USDT (on Kusama or Ethereum), USDC/DAI (Ethereuem) or aUSD (Acala). If you want to apply in **private** and/or you need to be paid out in **fiat**, you can apply [:arrow_right: here](https://docs.google.com/forms/d/e/1FAIpQLSfMfjiRmDQDRk-4OhNASM6BAKii7rz_B1jWtbCPkUh6N7M2ww/viewform). Note that this is generally a slower process and imposes stricter requirements on applicants. ### 1. Application From 376e38ef826d8e55c1d4c5f089520206644cc6b3 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Fri, 2 Sep 2022 13:02:41 +0200 Subject: [PATCH 0119/1872] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 29f8037c653..0d836595726 100644 --- a/README.md +++ b/README.md @@ -100,6 +100,7 @@ Evaluators are individuals able to evaluate the technology delivered as a result - [Ashley Grevelink](https://github.com/cruikshankss) - [David Hawig](https://github.com/Noc2) +- [Diogo Mendonça](https://github.com/dsm-w3f) - [Sebastian Müller](https://github.com/semuelle) - [Aleixo Sánchez](https://github.com/alxs) - [Seraya Takahashi](https://github.com/takahser) From 8570138a661bf1155707054d90eec76a334b3fef Mon Sep 17 00:00:00 2001 From: Dimitri Koshelev <57527682+dishport@users.noreply.github.com> Date: Fri, 2 Sep 2022 13:13:52 +0200 Subject: [PATCH 0120/1872] Update new_bls12_hash_function.md (#1157) --- applications/new_bls12_hash_function.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/new_bls12_hash_function.md b/applications/new_bls12_hash_function.md index c2c16b7c2b0..bb840a3310f 100644 --- a/applications/new_bls12_hash_function.md +++ b/applications/new_bls12_hash_function.md @@ -2,7 +2,7 @@ - **Project Name:** Implementation of the new hash function to BLS12 curves - **Team Name:** Dmitrii Koshelev -- **Payment Address:** With your permission, I would prefer provide my Bitcoin payment address after I won the grant +- **Payment Address:** 0x050240CB2f5F7f7aA8AA10a5A9AE36c784AEdE49 (ERC20 USDC) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 ## Project Overview :page_facing_up: From 2a5161a02ec29d9f0195ab44eb659139f94b3f8e Mon Sep 17 00:00:00 2001 From: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> Date: Mon, 5 Sep 2022 10:02:13 +0200 Subject: [PATCH 0121/1872] Add some details to example milestones (#1161) * Add some details to example milestones * Update application-template.md --- applications/application-template.md | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/applications/application-template.md b/applications/application-template.md index 639e8d0a845..5f48b35d4ab 100644 --- a/applications/application-template.md +++ b/applications/application-template.md @@ -127,30 +127,32 @@ For each milestone, - **Full-Time Equivalent (FTE):** Average number of full-time employees working on the project throughout its duration (see [Wikipedia](https://en.wikipedia.org/wiki/Full-time_equivalent), e.g. 2 FTE) - **Total Costs:** Requested amount in USD for the whole project (e.g. 12,000 USD). Note that the acceptance criteria and additional benefits vary depending on the [level](../README.md#level_slider-levels) of funding requested. This and the costs for each milestone need to be provided in USD; if the grant is paid out in Bitcoin, the amount will be calculated according to the exchange rate at the time of payment. -### Milestone 1 Example — Implement Substrate Modules +### Milestone 1 Example — Basic functionality - **Estimated duration:** 1 month -- **FTE:** 2 +- **FTE:** 1,5 - **Costs:** 8,000 USD | Number | Deliverable | Specification | | -----: | ----------- | ------------- | | 0a. | License | Apache 2.0 / GPLv3 / MIT / Unlicense | | 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can (for example) spin up one of our Substrate nodes and send test transactions, which will show how the new functionality works. | -| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0c. | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | | 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | -| 0e. | Article | We will publish an **article**/workshop that explains [...] (what was done/achieved as part of the grant). (Content, language and medium should reflect your target audience described above.) -| 1. | Substrate module: X | We will create a Substrate module that will... (Please list the functionality that will be implemented for the first milestone) | -| 2. | Substrate module: Y | We will create a Substrate module that will... | -| 3. | Substrate module: Z | We will create a Substrate module that will... | -| 4. | Substrate chain | Modules X, Y & Z of our custom chain will interact in such a way... (Please describe the deliverable here as detailed as possible) | +| 0e. | Article | We will publish an **article**/workshop that explains [...] (what was done/achieved as part of the grant). (Content, language and medium should reflect your target audience described above.) | +| 1. | Substrate module: X | We will create a Substrate module that will... (Please list the functionality that will be implemented for the first milestone. You can refer to details provided in previous sections.) | +| 2. | Substrate module: Y | The Y Substrate module will... | +| 3. | Substrate module: Z | The Z Substrate module will... | +| 4. | Substrate chain | Modules X, Y & Z of our custom chain will interact in such a way... (Please describe the deliverable here as detailed as possible) | +| 5. | Library: ABC | We will deliver a JS library that will implement the functionality described under "ABC Library" | +| 6. | Smart contracts: ... | We will deliver a set of ink! smart contracts that will... ### Milestone 2 Example — Additional features - **Estimated Duration:** 1 month -- **FTE:** 1 -- **Costs:** 4,000 USD +- **FTE:** 1,5 +- **Costs:** 8,000 USD ... From 6bb1c04a9b9b950737f132f2e3438bba0027d6df Mon Sep 17 00:00:00 2001 From: S E R A Y A Date: Mon, 5 Sep 2022 14:46:07 +0200 Subject: [PATCH 0122/1872] Update accepted_grant_applications.md (#1162) --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 1be73566d86..5e8eb5b37bb 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -513,7 +513,7 @@ | [4ire](https://4irelabs.com/) | Slushie | [GitHub](https://github.com/4IRE-Labs) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [QRUCIAL OÜ](https://qrucial.io/) | QRUCIAL DAO | [GitHub](https://github.com/Qrucial/QRUCIAL-DAO) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Polkadot js plus](http://polkadotjs.plus/) | Polkadot js plus / Social Recovery Wallet | [GitHub](https://github.com/Nick-1979/polkadot-Js-Plus-extension/wiki) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Lee](https://github.com/rust-0x0) | Hex Space Social Graph | [GitHub](https://github.com/rust-0x0) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Lee](https://github.com/rust-0x0) | Hex Space Social Graph | [GitHub](https://github.com/rust-0x0) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Liberland LLC](https://liberland.org/en/) | Liberland Pallets | [GitHub](https://github.com/liberland/liberland_substrate) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Standard Protocol](https://standard.tech/) | Signac - a monorepo plugin for developing multiple Parity ink! smart contracts | [GitHub](https://github.com/digitalnativeinc) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [B-Datagray](https://www.b-datagray.com/) | Datagen Project | [GitHub](https://github.com/Datagen-Project) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 237780742a2482ea7fa5619ce76a04d6fd81534d Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 6 Sep 2022 14:48:56 +0200 Subject: [PATCH 0123/1872] Update README.md --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 0d836595726..653cb4a2bbf 100644 --- a/README.md +++ b/README.md @@ -84,7 +84,6 @@ In cases where a niche expert opinion is desirable, one of the committee members - [Santiago Balaguer](https://github.com/SBalaguer) - [Aeron Buchanan](https://github.com/aeronbuchanan) - [Gautam Dhameja](https://github.com/gautamdhameja) -- [Ashley Grevelink](https://github.com/cruikshankss) - [David Hawig](https://github.com/Noc2) - [Sebastian Müller](https://github.com/semuelle) - [Bill Laboon](https://github.com/laboon) @@ -98,7 +97,6 @@ In cases where a niche expert opinion is desirable, one of the committee members Evaluators are individuals able to evaluate the technology delivered as a result of the Grants Program. The committee has the right to add or remove evaluators on the basis of supermajority. -- [Ashley Grevelink](https://github.com/cruikshankss) - [David Hawig](https://github.com/Noc2) - [Diogo Mendonça](https://github.com/dsm-w3f) - [Sebastian Müller](https://github.com/semuelle) From 841f8519336891dabdee5f123ca470183d0c3cac Mon Sep 17 00:00:00 2001 From: GreenBaneling | Supercolony Date: Tue, 6 Sep 2022 14:39:08 +0100 Subject: [PATCH 0124/1872] Replaced the trait refactoring in the ink! with advanced framework for unit testing (#1149) --- applications/openbrush-follow-up-2.md | 52 +++++++++++++-------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/applications/openbrush-follow-up-2.md b/applications/openbrush-follow-up-2.md index 1608bee1eb8..c67f3d56b1a 100644 --- a/applications/openbrush-follow-up-2.md +++ b/applications/openbrush-follow-up-2.md @@ -289,37 +289,37 @@ PSP37 - https://github.com/w3f/PSPs/pull/37 * **FTE:** 2.5 * **Costs:** 49 999 USD -| Number | Deliverable | Specification | -|--------|---------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| 0a. | License | MIT | -| 0b. | Documentation | We will provide a report of how to transition from PSP22 on contract level to PSP22 on pallet level. Add documentation about the workflow of PSP22 and Statemint parachain. | -| 1. | Implement `AssetPallet` chain extension on substrate level to work with `asset-pallet` in runtime | We will implement a chain extension on the `substrate` level that allows interaction of contract with `asset-pallet`. Any network with that chain extension allows developing contracts that store information regarding fungible tokens on the `asset-pallet` level instead of the contract level. That allows to reduce the size of `PSP22` contracts and provide SCM support by default for fungible tokens. | -| 2. | Implement `AssetPallet` chain extension in OpenBrush | Usage of chain extension requires implementation on the level of the contract too, so we will implement it in OpenBrush. Anyone will be able to reuse chain extension. | -| 3. | Implement PSP22 with that chain extension in OpenBrush | The OpenBrush will provide a default implementation for `PSP22` implemented via `AssetPallet` extension. It will behave in the same way as `PSP22` but the information will be stored on the level of `asset-pallet`. | -| 4. | Create standards for `AssetPallet` Chain Extension and for `PSP22Asset` extension | The `AssetPallet` extension can be used by anyone and on any network. It requires the standardization of the methods and data types that are supported. We will create standards for that in the PSP repository. | -| 5. | Refactoring of trait system in the ink! | Refactoring of trait system in the ink! to support default implementation inside of traits. It should improve the developer's experience with traits and simplify its usage. | -| 6. | Support of XCM and cross transferring of `PSP22` tokens | If the support of XCM by the `asset-pallet` is not ready, we will participate in the development process to speed up it. The final step is that anyone will be able to transfer assets of `asset-pallet`, that are managed by the contract, between parachains freely. | -| 7a. | Marketing - Create 2 educational video for OpenBrush/ink! | We are going to work on educational video materials for OpenBrush and ink! Community. We see a huge gap in knowledge, understanding, and vision for the whole community in that sphere. Moreover, Supercolony team will promote it in Twitter, Medium etc. We will create a lower entry threshold for newcomers by this educational program. | -| 7b. | Marketing - The website upgrade | We are going to update out current website and add more specific things to improve the search for OpenBrush website in Google. | +| Number | Deliverable | Specification | +|--------|----------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 0a. | License | MIT | +| 0b. | Documentation | We will provide a report of how to transition from PSP22 on contract level to PSP22 on pallet level. Add documentation about the workflow of PSP22 and Statemint parachain. | +| 1. | Implement `AssetPallet` chain extension on substrate level to work with `pallet-assets` in runtime | We will implement a chain extension on the `substrate` level that allows interaction of contract with `pallet-assets`. Any network with that chain extension allows developing contracts that store information regarding fungible tokens on the `pallet-assets` level instead of the contract level. That allows to reduce the size of `PSP22` contracts and provide SCM support by default for fungible tokens. | +| 2. | Implement `AssetPallet` chain extension in OpenBrush | Usage of chain extension requires implementation on the level of the contract too, so we will implement it in OpenBrush. Anyone will be able to reuse chain extension. | +| 3. | Implement PSP22 with that chain extension in OpenBrush | The OpenBrush will provide a default implementation for `PSP22` implemented via `AssetPallet` extension. It will behave in the same way as `PSP22` but the information will be stored on the level of `pallet-assets`. | +| 4. | Create standards for `AssetPallet` Chain Extension and for `PSP22Asset` extension | The `AssetPallet` extension can be used by anyone and on any network. It requires the standardization of the methods and data types that are supported. We will create standards for that in the PSP repository. | +| 5. | Advanced ink! unit testing framework | Add support to the contract deployment, chain extension registration, and smart contract cross-contract calls into the ink! unit test framework. | +| 6. | Support of XCM and cross transferring of `PSP22` tokens | If the support of XCM by the `pallet-assets` is not ready, we will participate in the development process to speed up it. The final step is that anyone will be able to transfer assets of `pallet-assets`, that are managed by the contract, between parachains freely. | +| 7a. | Marketing - Create 2 educational video for OpenBrush/ink! | We are going to work on educational video materials for OpenBrush and ink! Community. We see a huge gap in knowledge, understanding, and vision for the whole community in that sphere. Moreover, Supercolony team will promote it in Twitter, Medium etc. We will create a lower entry threshold for newcomers by this educational program. | +| 7b. | Marketing - The website upgrade | We are going to update out current website and add more specific things to improve the search for OpenBrush website in Google. | ### Future work #### Milestone 8. `UniquePallet`/`RMRKPallet` chain extension -* **Estimated Duration:** 6 weeks +* **Estimated Duration:** 7 weeks * **FTE:** 2.5 -* **Costs:** 45 000 USD - -| Number | Deliverable | Specification | -|--------|-------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| 0a. | License | MIT | -| 0b. | Documentation | We will provide a report regarding size reductions. We will create documentation and standards to describe the workflow of Non-Fungible token chain extension, how to reuse it and how it works. | -| 1. | Create PSP for NFT on RMRK | We plan to create a new standard for NFT tokens based on RMRK. We will work with the RMRK team on the finalization of the standard. We will try to be compatible with `PSP34`. Based on the result of the work we will decide to create the chain extension for the `unique-pallet` or for the `rmrk-pallet`. | -| 2. | Implement chain extension for NFT on substrate level | In the same way as for the `AssetPallet` extension, we plan to implement `UniquePallet`/`RMRKPallet` chain extensions on the substrate level. Based on the cooperation with the RMRK team we will decide how better implement Non-Fungible tokens. | -| 3. | Implement chains extension in OpenBrush | Implementation of contract versions of the `UniquePallet`/`RMRKPallet` chain extension. Anyone will be able to call the logic of pallets from the contract. | -| 4. | Implement NFT contract via chain extensions | OpenBrush will provide a default implementation of contracts that are implemented via according chains extensions. | -| 5. | Reduce the size of the contracts more(investigation and implementation) | After the support of NFT chain extension, we plan to focus on the contract size reduction of NFT and related contracts because right now it is the main problem for contracts. | -| 6. | Marketing - Create 4 educational video for OpenBrush/ink! | We are going to work on educational video materials for OpenBrush and ink! Community. We see a huge gap in knowledge, understanding, and vision for the whole community in that sphere. Moreover, Supercolony team will promote it in Twitter, Medium etc. We will create a lower entry threshold for newcomers by this educational program. | +* **Costs:** 52 500 USD + +| Number | Deliverable | Specification | +|--------|--------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 0a. | License | MIT | +| 0b. | Documentation | We will provide a report regarding size reductions. We will create documentation and standards to describe the workflow of Non-Fungible token chain extension, how to reuse it and how it works. | +| 1. | Create PSP for NFT on RMRK | We plan to create a new standard for NFT tokens based on RMRK. We will work with the RMRK team on the finalization of the standard. We will try to be compatible with `PSP34`. Based on the result of the work we will decide to create the chain extension for the `unique-pallet` or for the `rmrk-pallet`. | +| 2. | Implement chain extension for NFT on substrate level | In the same way as for the `AssetPallet` extension, we plan to implement `UniquePallet`/`RMRKPallet` chain extensions on the substrate level. Based on the cooperation with the RMRK team we will decide how better implement Non-Fungible tokens. | +| 3. | Implement chains extension in OpenBrush | Implementation of contract versions of the `UniquePallet`/`RMRKPallet` chain extension. Anyone will be able to call the logic of pallets from the contract. | +| 4. | Implement NFT contract via chain extensions | OpenBrush will provide a default implementation of contracts that are implemented via according chains extensions. | +| 5. | Refactoring of trait system in the ink! | Refactoring of trait system in the ink! to support default implementation inside of traits. It should improve the developer's experience with traits and simplify its usage. | +| 6. | Marketing - Create 4 educational video for OpenBrush/ink! | We are going to work on educational video materials for OpenBrush and ink! Community. We see a huge gap in knowledge, understanding, and vision for the whole community in that sphere. Moreover, Supercolony team will promote it in Twitter, Medium etc. We will create a lower entry threshold for newcomers by this educational program. | #### Milestone 9. Multi token chain extension @@ -334,7 +334,7 @@ PSP37 - https://github.com/w3f/PSPs/pull/37 | 1. | Implement chain extension for Multi token in substrate level | In the same way as for the `AssetPallet` extension, we plan to implement `MultiPallet` extension on the substrate level. We hope that [Paratoken Standard](https://github.com/w3f/PSPs/pull/32) will be accepted and implemented and we will be able to integrate with it. | | 2. | Implement chains extension in OpenBrush | Implementation of contract versions of the `MultiPallet` chain extension. Anyone will be able to call the logic of multi asset pallet from the contract. | | 3. | Implement multi token contracts via chain extensions | OpenBrush will provide a default implementation of contracts that are implemented via according chain extension. | -| 4. | Reduce the size of the contracts more(investigation and implementation) | After the support of main chain extensions, we plan to focus on the contract size reduction of all contracts in OpenBursh. We plan to contribute to ink! and participate in according issue. | +| 4. | Reduce the size of the contracts more(investigation and implementation) | After the support of main chain extensions, we plan to focus on the contract size reduction of all contracts in OpenBrush. We plan to contribute to ink! and participate in according issue. | | 5. | Advanced documentation | For the better understanding, we will post on the OpenBrush website - the clear technical checklist to become an ink!/OpenBrush engineer. It will attract more developers and builders in the ecosystem | NOTES: From a11dd4a9bebe0d56a7f9a3e6ea8e9b7fa2250cae Mon Sep 17 00:00:00 2001 From: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> Date: Thu, 8 Sep 2022 14:49:35 +0200 Subject: [PATCH 0125/1872] Update accepted_grant_applications.md --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 5e8eb5b37bb..881e07c0378 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -526,7 +526,7 @@ | [Karolis Ramanauskas](https://krl.is/) | Generic Sybil-Resistant Faucet | [GitHub](https://github.com/karooolis) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [LimeChain](https://limechain.tech/) | Research feasibility for a Go Runtime | [GitHub](https://github.com/LimeChain) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Jim Yam](https://github.com/JimYam) | daos | [GitHub](https://github.com/daos-org/daos.git) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Green Lemon](https://github.com/GreenLemonProtocol) | Green Lemon Protocol | [GitHub](https://github.com/GreenLemonProtocol) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Green Lemon](https://github.com/GreenLemonProtocol) | Green Lemon Protocol | [GitHub](https://github.com/GreenLemonProtocol) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Stardust Labs Inc.](https://stardust.finance/) | Integrating ISO-8583 | [GitHub](https://github.com/adit313/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [TwinP](https://www.linkedin.com/in/elioprifti/) | Escrow Pallet | [GitHub](https://github.com/herou) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Meta Defender Team](https://github.com/Meta-Defender/) | Meta Defender | [GitHub](https://github.com/Meta-Defender/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 9c69f734378fd85603a82f521feb9177ec6fba3d Mon Sep 17 00:00:00 2001 From: Maria Yaremenko <43481611+YaremenkoM@users.noreply.github.com> Date: Fri, 9 Sep 2022 12:11:14 +0200 Subject: [PATCH 0126/1872] update asylum payment address (#1168) --- applications/asylum_follow_up_1.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/applications/asylum_follow_up_1.md b/applications/asylum_follow_up_1.md index c94506eee58..7bc2636389f 100644 --- a/applications/asylum_follow_up_1.md +++ b/applications/asylum_follow_up_1.md @@ -2,7 +2,7 @@ - **Project Name:** [Asylum](https://asylum.space/) - **Team Name:** Asylum -- **Payment Address:** 0x4dE01f5904651353021b9694f16FAb5f02DCD00e (USDT (ERC20)) +- **Payment Address:** 0xB2a6bF365635ea209d7A824125c1bf249A189866 (USDT (ERC20)) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 ## Project Overview :page_facing_up: @@ -407,4 +407,4 @@ Here you could find Asylum roadmap
**How did you hear about the Grants Program?** -Personal recommendation from the [Supercolony](https://www.supercolony.net). \ No newline at end of file +Personal recommendation from the [Supercolony](https://www.supercolony.net). From a220664b747632c274a48b2266e71779c818951a Mon Sep 17 00:00:00 2001 From: Diogo <112647953+dsm-w3f@users.noreply.github.com> Date: Fri, 9 Sep 2022 08:27:10 -0300 Subject: [PATCH 0127/1872] Update accepted_grant_applications.md (#1169) --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 881e07c0378..23b9c6d0b11 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -398,7 +398,7 @@ | [CheersLand Labs](https://cheersland.org/) | Multi-game Platform for Polkadot & Kusama | [GitHub](https://github.com/cheersland) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [UNI-ARTS](https://app.uniarts.network/) | Ruby Substate Client | [GitHub](https://github.com/uni-arts-chain/sr25519) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Skye Kiwi](https://skye.kiwi/) | SkyeKiwi Protocol | [GitHub](https://github.com/skyekiwi) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Evercity](https://evercity.io/) | Sustainable Finance Protocol | [GitHub](https://github.com/EvercityEcosystem) |
  • [ ]
|
  • [x]
|
  • [ ]
| +| [Evercity](https://evercity.io/) | Sustainable Finance Protocol | [GitHub](https://github.com/EvercityEcosystem) |
  • [ ]
|
  • [x]
|
  • [x]
| ## :surfing_woman: Wave 12 - Fourth Quarter 2021 From 0c5ca99817e74e9f65f445f23b898d61c24097d3 Mon Sep 17 00:00:00 2001 From: Cyril Carlier Date: Fri, 9 Sep 2022 22:33:13 +0200 Subject: [PATCH 0128/1872] Maki application (#1144) * Maki application * Add details to MAKI application, typos --- applications/Maki.md | 185 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 185 insertions(+) create mode 100644 applications/Maki.md diff --git a/applications/Maki.md b/applications/Maki.md new file mode 100644 index 00000000000..9f080d5b78f --- /dev/null +++ b/applications/Maki.md @@ -0,0 +1,185 @@ +# W3F Grant Proposal + +- **Project Name:** Maki +- **Team Name:** Cyril Carlier (Individual) +- **Payment Address:** 0x7e575d2140aa4b723ac2014d5627330a7ed514d4 (ERC-20 USDC) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 + +## Project Overview :page_facing_up: + +This application is a response from the [anti-collusion infrastructure RFP](https://github.com/w3f/Grants-Program/blob/master/rfps/open/anti-collusion_infrastructure.md). + +### Overview + +Maki aims to be a simple MACI implementation for the Polkadot eco-system, similar to the existing one on Ethereum ([MACI](https://github.com/privacy-scaling-explorations/maci)) + +Maki is an ink! smart contract that implements a minimal anti-collusion infrastructure as specified in the following [specifications](https://github.com/privacy-scaling-explorations/maci/tree/9b1b1a631090ee89d2bc12f4bcef7763e42caef0/specs) and derived from [this ethresearch post](https://ethresear.ch/t/minimal-anti-collusion-infrastructure/5413). This means that most of the project details are based on the researches done on [MACI](https://ethresear.ch/t/minimal-anti-collusion-infrastructure/5413) and the specifications. Things may differ by making Maki a more simple version of MACI. + +As explained in the RFP, the smart contract aims to allow users to vote on a quadratic voting and avoid/minimize the risk of collusion, keep the votes anonymous and allow the users to change their votes until the voting process ends. + +Governance is an important part of Polkadot and (even more for now I'd say) Kusama, while a a lot of use cases of governance mechanisms are already implemented and running on the ecosystems (via pallets and smart contracts), a voting system for quadratic voting, anonymous voting and anti-collusion is not available yet. +That is why the project fits well for Polkadot and Kusama. + +I'm interested in this project because governance is a major component in decentralized ecosystems and adding more needed possibilities to the panel of voting mechanism of Polkadot and Kusama seems important to me. +While for now I'm unsure the current projects on Polkadot/Kusama needs such mechanism, it is obvious some will need such anti-collusion and anonymous voting for its users. + +### Project Details + + +Following the specifications of MACI as linked above, here is an overview of the architecture and core functionalities of Maki. + +Maki is a smart contract that allow its users to vote while making collusion among participant difficult (if the operator is honest) and retain censorship resistance, correct execution and anonymity of votes. + +Maki has two kind of users: one **operator** and 0..n **voter(s)** (also called user here under). + +The operator role is to deploy the contract (and publish his public key, known by all), start the sign-up period (which is done when the contract is deployed), process all the voters commands, generate the result of each commands, tally the votes and generate a zk-SNARK proof that the result is valid. + +The voter role is to sign-up for a vote and then vote. + +Secrecy of the votes are possible by using cryptographic operations. As described in the MACI specs, each users and the coordinator have a key-pair used to publish encrypted messages and for the coordinator to decrypt those messages. + +#### Overview : + +![](https://i.imgur.com/n4tmk6p.png) + +#### Maki's Functions : + +`signUp` allows a user to register for voting by sending his public key to the contract. There is no need for a given user to call this function multiple times. + +`publishMessage` allows a user to vote. A voter may use this multiple time to change his vote options, as long as the vote in not ended. + +`processMessages` function called by the coordinator to process all the users' messages, update the state root and provide a zk-snark proof. + +`proveVoteTally` to publish the vote result and the zk-snark proof of it. Called by the coordinator. Can only be called once the vote ended. + +`verifyVoteTally` to verify that the generated zkSnark proof is valid. + +Public functions are needed for the coordinator to process the votes off-chain (basically the contract's state such as stateTree, messageTree, etc.) and the voter to get the coordinator's key. + +Besides the contract, we will provide two circuits to build the zk-Snark proof off-chain, one for the correctness of message processing (`proveStateCorrectness`) and one for the vote tallying (`proveVoteTallyCorrectness`). The circuits will be written in [circom](https://docs.circom.io/) and it will be used through a script that build and execute the compiled circuit. This is needed for the coordinator's functions `processMessages` and `proveVoteTally`. + +Maki has two merkle roots, one for the `messageTree` (which gathers submitted messages) and one for the `stateTree` (which gathers the mapping between the user public keys and the votes). + +Maki will be implemented as an ink! smart contract, so it will be developed in Rust with ink! library. + +Maki will _not_ provide out-of-the-box choices of circuits used for zk-SNARK proof (as it may vary depending on the nature of the voting system), nor choices of the type of voting mechanism (non-quadratic votes, conviction votes, different tallying (such as what can be found on Polkadot and Kusama referenda), etc.). However this could be part of a maintenance program, a future plan, and/or another team may develop these features to meet their needs. + +The goal being to have a functioning contract, the circuit is not my main concern here.Therefore, an existing circuit will be reused (in Typescript) - most likely one that is implemented by [MACI](https://github.com/privacy-scaling-explorations/maci). I'll give full credits to their implementation, even if this requires some adaptations on my end. + +### Ecosystem Fit + +Maki can be used in any blockchain that supports ink! smart contracts. + +It can be reused - as provided or modified - by any blockchain, dApp, infrastructures, ... that wishes to provide a way to make quadratic votes for its users. + +I'm not aware of any similar project on Substrate. Despite that there are different existing voting mechanisms on Polkadot/Kusama, this one is the only one that would provide a quadratic, provable, anonymous and anti-collusion voting system. + +## Team :busts_in_silhouette: + +### Team members + +- Cyril Carlier + +### Contact + +- **Contact Name:** Cyril Carlier +- **Contact Email:** cyrilcarlier@hotmail.com + +### Legal Structure + +Individual / Sole Proprietor + +### Team's experience + +I'm a software developer with 5 years of relevant experience in C#/.Net, Java(with Spring/Hibernate), Typescript, React, C++, SQL and Angular, working mainly on DDD projects and lower-level projects (such as background-jobs services, multi-thread related projects). I have a master degree in Computer Science (University of Namur - Belgium). + +Here is an overview of different relevant project I've worked / working on : + +* [Polk-auction](http://www.polkauction.io/): A project funded by this program ([polk-auction application](https://github.com/w3f/Grants-Program/blob/2606f01f2fed14bb358560c8ececc9ad05e40bb8/applications/polk-auction.md)) which is a project that allow Polkadot and Kusama end-users to have a concise, simple an easy to understand view of the parachain, auction and crowdloan state of the Dotsama's ecosystem. Focused on on-chain data with some useful and relevant off-chain information surrounding the state of Polkadot / Kusama. While the project is online, I don't consider it "finished" as there is still a lot of things to add and enhance on Polk-auction. + +* Project with background processing of files and websocket messaging for communication between multiple applications. + +* Different DDD projects with back-end(s) (HTTP API, written with .NetCore and Entity) and UI app(s) (web-app), multiple databases and mechanisms for back-end communication if/when needed. + +* Multiple other projects and PoC, mostly with backend technologies (Java, C++, C#) + +If anyone on your team has applied for a grant at the Web3 Foundation previously, please list the name of the project and legal entity here. + +### Team Code Repos + +* https://github.com/CrommVardek + +### Team LinkedIn Profiles + +* https://www.linkedin.com/in/cyril-carlier/ + +## Development Status :open_book: + +As mentioned, this application is a response from the [anti-collusion infrastructure RFP](https://github.com/w3f/Grants-Program/blob/master/rfps/open/anti-collusion_infrastructure.md) + +## Development Roadmap :nut_and_bolt: + + +### Overview + +- **Total Estimated Duration:** 6 months +- **Full-Time Equivalent (FTE):** 0.3 FTE +- **Total Costs:** $9,000 + +### Milestone 1 — Implement Voter functions + +- **Estimated duration:** 2 months +- **FTE:** 0.3 FTE +- **Costs:** 3,000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | MIT | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can deploy the contract and use its functions. References, such as the MACI research page or the specs of MACI implementation, will be provided. | +| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 1. | Maki: constructor and internal state | Contract internal state needed to work properly and its constructor | +| 2. | Maki: signUp function | User function to register for the vote (ink!) | +| 3. | Maki: publishMessage function | User function to vote (ink!) | +| 4. | Maki: processMessage function | Coordinator function to proves that the messages have been correctly processed | + +Note: 0d. not included, because it would be overkill to setup a whole environment on a docker image just to deploy the contract while other resources already exist for that. + +Note: As the implementation is based on others work (research and specification), we will give credits and link the needed parts of it. + +### Milestone 2 — Coordinator's functions + +- **Estimated Duration:** 4 months +- **FTE:** 0.3 FTE +- **Costs:** 6,000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | MIT | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can deploy the contract and use its functions. References, such as the MACI research page or the specs of MACI implementation, will be provided. | +| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0e. | Article | We will publish a Medium **article** and the same article on SubSocial to explain what is Maki. The articles will be referenced on Reddit (/r/Kusama and /r/Polkadot) and on diverse Discord Server related to Polkadot (mostly the important and official ones). +| 1. | Maki: proveVoteTally function | Coordinator function to prove the result of the vote tally on-chain (ink!) | +| 2. | Maki: verifyVoteTally function | Function to verify the result of the vote tally and the proof of it (ink!) | +| 3. | Circuits | Circuit used to generate the zk-Snark (in TypeScript and Circom) - this will be based (if not reused) on this work [MACI](https://github.com/privacy-scaling-explorations/maci/tree/master/circuits/ts) and [MACI](https://github.com/privacy-scaling-explorations/maci/tree/master/circuits/circom). One circuit for proveStateCorrectness and one for proveVoteTallyCorrectness functions. | +| 4. | Votes Verifier | Verifier contract/function (in Rust/ink!) to verify that the proof is correct - this will be based on this work [MACI](https://github.com/privacy-scaling-explorations/maci/tree/master/circuits/ts). The verifier will be used by Maki| + +Note: 0d. not included, because it would be overkill to setup a whole environment on a docker image just to deploy the contract while other resources already exist for that. + +Note: As the implementation is based on others work (research and specification), we will give credits and link the needed parts of it. + +## Future Plans + +I plan to deploy this contract on one of the parachain (for example on Shiden) of Kusama to ask the community what would be their preferred choice for the next development/feature/changes of Maki. + +Which led us to the long-term plan... That would be: +- Add a simple UI/library (in Typescript) to interact with the contract easily. +Please include here. +- Provide different circuits for the proof +- Provide a way to configure the contract to allow non-quadratic votes, or for example conviction votes + +These are just ideas. I would also like for the community (developers) to participate, re-use, enhance or create their own version of Maki. + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** +I've been part of the program once ([polk-auction application](https://github.com/w3f/Grants-Program/blob/2606f01f2fed14bb358560c8ececc9ad05e40bb8/applications/polk-auction.md)) From be7fb9859849d5169fa51ce54a92f4bf850e741c Mon Sep 17 00:00:00 2001 From: David Hawig Date: Fri, 9 Sep 2022 22:35:11 +0200 Subject: [PATCH 0129/1872] Add maki --- docs/accepted_grant_applications.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 23b9c6d0b11..f3ded1b5912 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -538,6 +538,8 @@ | [Skye Kiwi](https://skye.kiwi/) | Choko Wallet | [GitHub](https://github.com/skyekiwi) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Popular Coding](https://www.popularcoding.com/) | Ventur | [GitHub](https://github.com/popular_coding) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Asylum](https://asylum.space/) | Asylum follow-up 1 | [GitHub](https://gitlab.com/asylum-space/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Cyril Carlier](https://github.com/CrommVardek) | Maki| [GitHub](https://github.com/CrommVardek) |
  • [ ]
|
  • [ ]
|
  • [ ]
| + From 1dc8f54b0c3e88fd6d21b3ee8ce0d4882974c187 Mon Sep 17 00:00:00 2001 From: S E R A Y A Date: Tue, 13 Sep 2022 09:02:52 +0200 Subject: [PATCH 0130/1872] Update accepted_grant_applications.md --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index f3ded1b5912..b339a734ef7 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -512,7 +512,7 @@ | :--- | :------ | :--- | :--------: | :------------: | :-------: | | [4ire](https://4irelabs.com/) | Slushie | [GitHub](https://github.com/4IRE-Labs) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [QRUCIAL OÜ](https://qrucial.io/) | QRUCIAL DAO | [GitHub](https://github.com/Qrucial/QRUCIAL-DAO) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Polkadot js plus](http://polkadotjs.plus/) | Polkadot js plus / Social Recovery Wallet | [GitHub](https://github.com/Nick-1979/polkadot-Js-Plus-extension/wiki) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Polkadot js plus](http://polkadotjs.plus/) | Polkadot js plus / Social Recovery Wallet | [GitHub](https://github.com/Nick-1979/polkadot-Js-Plus-extension/wiki) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Lee](https://github.com/rust-0x0) | Hex Space Social Graph | [GitHub](https://github.com/rust-0x0) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Liberland LLC](https://liberland.org/en/) | Liberland Pallets | [GitHub](https://github.com/liberland/liberland_substrate) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Standard Protocol](https://standard.tech/) | Signac - a monorepo plugin for developing multiple Parity ink! smart contracts | [GitHub](https://github.com/digitalnativeinc) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 73b83f27759693c02912f59cea0d2be80584578b Mon Sep 17 00:00:00 2001 From: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> Date: Wed, 14 Sep 2022 16:20:34 +0200 Subject: [PATCH 0131/1872] Update accepted_grant_applications.md --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index b339a734ef7..8b2a9866050 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -415,7 +415,7 @@ | [@agryaznov](https://github.com/agryaznov) | Candle Auctions on Ink! | [GitHub](https://github.com/agryaznov/candle-auction-ink) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Iridium Industries](http://www.iridium.industries) | Iris: Decentralized storage network for substrate-based chains | [GitHub](https://github.com/iridium-labs/iris) |
  • [ ]
|
  • [x]
|
  • [x]
| | [DICO Team](https://dico.io/) | DICO: Decentralized and governable ICO platform | [GitHub](https://github.com/DICO-TEAM/dico-chain) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [DodoRare, Inc.](https://dodorare.com) | Crossbow - Cross-Platform Rust Toolkit for Games | [GitHub](https://github.com/dodorare) |
  • [ ]
|
  • [x]
|
  • [ ]
| +| [DodoRare, Inc.](https://dodorare.com) | Crossbow - Cross-Platform Rust Toolkit for Games | [GitHub](https://github.com/dodorare) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Rainbowcity Foundation](http://www.rainbowcity.io/) | RainbowDAO Protocol ink! Phase 1 | [GitHub](https://github.com/RainbowcityFoundation/RainbowcityDAO) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Web Registry DAO](www.wika.network) | Wika Network | [GitHub](https://github.com/randombishop/wika_node) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Helikon Labs](http://www.helikon.tech/) | SubVT Telegram Bot for Kusama and Polkadot | [GitHub](https://github.com/helikon-labs/polkadot-kusama-1kv-telegram-bot) |
  • [ ]
|
  • [x]
|
  • [x]
| From e16200b9108fe958a1423929c3d5b317fa534c86 Mon Sep 17 00:00:00 2001 From: Dusan Morhac <55763425+dudo50@users.noreply.github.com> Date: Fri, 16 Sep 2022 10:14:50 +0200 Subject: [PATCH 0132/1872] Paraspell - Change payment address (#1175) --- applications/ParaSpell.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/ParaSpell.md b/applications/ParaSpell.md index 56bc2d091b7..a96b9181d3e 100644 --- a/applications/ParaSpell.md +++ b/applications/ParaSpell.md @@ -2,7 +2,7 @@ - **Project Name:** ParaSpell - **Team Name:** ParaSpell -- **Payment Address:** 23sxrMSmaUMqe2ufSJg8U3Y8kxHfKT67YbubwXWFazpYi7w6 (aUSD) +- **Payment Address:** 0xa085190c859eAe92bCCED9CE05b10DDb363FE5Ea (USDC) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 🐣 ## Project Overview 📄 From ff55e150b30b0876233a21162d3c0502ac09f42e Mon Sep 17 00:00:00 2001 From: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> Date: Fri, 16 Sep 2022 17:00:17 +0200 Subject: [PATCH 0133/1872] Add Keegan to list of evaluators --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 653cb4a2bbf..c6ee2b350b9 100644 --- a/README.md +++ b/README.md @@ -100,6 +100,7 @@ Evaluators are individuals able to evaluate the technology delivered as a result - [David Hawig](https://github.com/Noc2) - [Diogo Mendonça](https://github.com/dsm-w3f) - [Sebastian Müller](https://github.com/semuelle) +- [Keegan Quigley](https://github.com/keeganquigley) - [Aleixo Sánchez](https://github.com/alxs) - [Seraya Takahashi](https://github.com/takahser) From d62081e1e30fbb25626b02f386781dadcfb403aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Richard=20Jedli=C4=8Dka?= Date: Fri, 16 Sep 2022 17:04:01 +0200 Subject: [PATCH 0134/1872] Calamar application (#1163) * Calamar application * Calamar application update --- applications/Calamar.md | 264 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 264 insertions(+) create mode 100644 applications/Calamar.md diff --git a/applications/Calamar.md b/applications/Calamar.md new file mode 100644 index 00000000000..bd3428333f6 --- /dev/null +++ b/applications/Calamar.md @@ -0,0 +1,264 @@ +# Calamar + +- **Team Name:** TopMonks +- **Payment Address:** BTC native segwit: bc1qltdenhs6ls9rmu0xq86y9g8uex7gg8dynlnkv3 +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 + +## Project Overview :page_facing_up: + +This application is a response to a [Multi-chain Block Explorer](https://github.com/w3f/Grants-Program/blob/master/rfps/under_development/multi-chain-block-explorer.md) RFP + +### Overview + +Calamar is a block explorer for Polkadot and Kusama relay chains and their parachains, that uses Subsquid API for data fetching. + +The idea for another explorer has emerged during the dotsama events in Amsterdam and Prague. The team of TopMonks company's Blockchain Studio has gathered feedback from friendly projects such as HydraDx and KodaDot among others. +We have applied for and won the bounty from Subsquid in the Polkadot Hackaton: North America edition, that requested developing a block explorer. Our submission: https://devpost.com/software/calamar + +We call the app Calamar, as it is in line with the Subsquid identity. + +It is available here: +[https://calamar.app](https://calamar.app) \ +and we manage the code here: +[https://github.com/topmonks/calamar](https://github.com/topmonks/calamar) + +Based on the positive feedback we would like to push the project further and bring more valuable features for the users, closely cooperating with the [Subsquid](https://subsquid.io) team and gathering an ongoing feedback from the users. + +While developing Calamar, we focus on UI and UX friendliness so that users enjoy dotsama chains exploring, as well as relevance of displayed data. + +### Project Details + +Calamar explorer will allow users to search and display various items and statistics. + +The plan is to have at least these features implemented: + +#### Homepage +Homepage with google-like search box and with links to [chain dashboards](#chain-dashboards). + +![Home page](https://res.cloudinary.com/topmonks/image/upload/v1661767637/calamar/homepage.png) + +#### Universal search +Search where you don't have to know which chain the searched item belongs to. You just put the hash into the search box and the explorer will take care of the determining on which chain it is. This is going to be an addition to the ability to restrict search to a specific chain. + +#### Block detail +Display block's data and its extrinsics, transfers, calls and events. +- searchable by hash and height + +#### Extrinsic detail +Display extrinsic's data, its calls and events. +- searchable by hash and id + +#### Call detail +Display call's data, and its events. +- searchable by id + +#### Event detail +Display event's data +- searchable by id + +#### Search extrinsics and events by name +Display a list of matching extrinsics and events by name. +- full-text search - doesn't require exact name, substring is sufficient, case insensitive + +#### Account detail + +As we are gathering feedback, one of the most important features for the users seems to be the account overview where users can find information about their balances and transactions across all chains. + +- searchable by public key or chain-specific address +- display + - account's name if set + - owned assets and their statuses from all listed chains, including dollar values and graphs for visualization. + - list all chain-specific addresses + - list all related transfers, cross-chain messages, calls and all extrinsics + +![Account page](https://res.cloudinary.com/topmonks/image/upload/v1661767600/calamar/account.png) + +#### Chain dashboards + +Each chain will have own dashboard with statistics and listing of latest blocks, latest transfers, top holders, etc. It makes the explorer more useful even for users who are not searching for specific items. + +![Statistics page](https://res.cloudinary.com/topmonks/image/upload/v1661765199/calamar/statistics.png) + +#### Cross-chain transfers +Important feature is to create good UI for displaying information about XCM teleports and other cross-chain transfers where you can easily see all involved sides (chains, accounts) and other useful data. + +- XCM transfer detail + +![XCM transfer page](https://res.cloudinary.com/topmonks/image/upload/v1662492906/calamar/xcm-transfer-detail.png) + +- in transfers table + +![Transfers table](https://res.cloudinary.com/topmonks/image/upload/v1662492938/calamar/xcm-transfers-list.png) + +### Technology stack + +Typescript, React, GraphQL + +### Ecosystem Fit + +- Calamar will help the community keep track of what's happening on the network, including XMC transfers, account overviews and chains statistics. +- Target audience are Dotsama developers, investors and ecosystem users. +- Calamar users will have opensource user-friendly UI prepared to use with Subsquid API. +- There are projects with similar functionality like Subscan or Polkaholic. Instead of trying to reinvent the wheel, we won't build our custom data indexing solution and rather rely on the powerful framework and API from Subsquid which is still evolving and has own dedicated development team. We focus on good UI and UX. Our solution will be aware of multichain environment (XCM transfers, cross-chain search, multichain account view). And the code will be opensource. + +## Team :busts_in_silhouette: + +### Team members + +- Antonina Nesmelova - developer +- Richard Jedlička - developer +- Radek Jakl - designer +- Jan Lopusek - project manager + +### Contact + +- **Contact Name:** Jan Lopusek +- **Contact Email:** jan.lopusek@topmonks.com +- **Website:** https://topmonks.com/ , https://blockchain.topmonks.com/ + +### Legal Structure + +- **Registered Address:** Struhařovská 2931/9, 141 00, Praha 4, Czech Republic +- **Registered Legal Entity:** TopMonks s.r.o + +### Team's experience + +All of our team members developed the first version of Calamar explorer. + +Antonina Nesmelova is young and enthusiastic web-developer with 3,5 years experience with web applications development, including a year and a half of experience in the world of crypto: development of dApps and smart contracts. + +Richard Jedlička has several years of expertise in web applications full-stack development. + +Radek Jakl invented the design for Calamar. He has many years of experience in graphics and UI/UX design. + +Jan Lopusek co-founded the startup studio for TopMonks software house. He is experienced project manager and business developer + +### Team Code Repos + +- https://github.com/topmonks +- https://github.com/topmonks/calamar +- https://github.com/uiii +- https://github.com/antonina-nesmelova + +### Project references + +- https://calamar.app/ +- https://about.meetvers.io/, https://app.meetvers.io/ +- https://brute.cz/ +- http://jaklradek.com/ + +### Team LinkedIn Profiles + +- https://www.linkedin.com/in/antonina-nesmelova-3a8365149 +- https://www.linkedin.com/in/richardjedlicka/ +- https://www.linkedin.com/in/jaklradek/ +- https://www.linkedin.com/in/jan-lopusek/ + +## Development Status :open_book: + +Current version of Calamar is running on https://calamar.app + +It is mostly a result of our participation in hackaton as an implementation of the bounty declared by Subsquid team. See [Additional Information](#additional-information-heavy_plus_sign). + +For now, it allows users to: +- search block by hash and height display its parameters and extrinsics +- search extrinsic by hash and display its parameters and events +- search account by address and list its extrinsics +- search extrinsics and events by their exact name. + +While it may seem to be already working explorer it has only basic features and lacks many of the important or useful ones. See [Milestone 1](#milestone-1--core-functionality) for details. + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Total Estimated Duration:** 11 weeks +- **Full-Time Equivalent (FTE):** 1 +- **Total Costs:** $27,500 + +### Milestone 1 — Core functionality + +- **Estimated duration:** 4 weeks +- **FTE:** 1 +- **Costs:** $10,000 + +Even though we have the already working application, there are still many things missing. Some of them prevent the users from using Calamar fully as the main explorer. We need to first assure the correct core functionality, display all the meaningful data which are retrievable without further complex processing, improve design and UX and integrate more into the Polkadot ecosystem. + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide inline documentation of the code where necessary, technical description of how to run the own instance of Calamar and tutorials how to use the application from the user perspective. | +| 0c. | Testing Guide | We will provide end-to-end tests covering UI functionality. | +| 0d. | Docker | We will provide a Dockerfile(s) for testing and running own Calamar instance. | +| 0e. | Article | We will publish an article that explains what was done as part of the grant. | +| 1. | Fix usage blockers | Fix things which block the app's real usage
  • search results are not shareable due to missing info about the chain in the URL
  • extrinsic's args are missing
| +| 2. | Add related items listings | Add missing related items listing to detail pages
  • block's transfers, call and events
  • extrinsic's calls
+| 3. | Add call detail page | See [Call detail](#call-detail). | +| 4. | Add event detail page | See [Event detail](#event-detail). | +| 5. | Responsiveness | Improve overall responsiveness for mobile devices especially of item tables and extrinsics/event args. | +| 6. | Extrinsics/event args displaying improvements | Add args display options: raw/json, human readable. Find a better way to show nested properties' data types. | +| 7. | Items count | Current implementation doens't show the total number of searched items. We would like to retrieve the items count and display it properly. | +| 8. | Extrinsic/event fulltext search by name | Add ability to search extrinsics and events by their name in fulltext manner. | +| 9. | Account address parsing in events args | Detect account address in event args and link it to the account detail (chain detected automatically). | +| 10. | Website polishing | Add useful information to the website (footer with team logos, contact information, terms, etc.). | +| 11. | Polkadot.js integration | Create a PR to integrate links to the Calamar Explorer into Polkadot.js app. | + +### Milestone 2 - Account detail & Cross-chain transfers + +- **Estimated duration:** 4 weeks +- **FTE:** 1 +- **Costs:** $10,000 + +Here we want to implement the most requested features, the [account detail](#account-detail) overview and [cross-chain transfers](#cross-chain-transfers) + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide inline documentation of the code where necessary and tutorials on how to use new features. | +| 0c. | Testing Guide | We will provide end-to-end tests covering UI functionality. | +| 0d. | Docker | *N/A - will be provided by the first milestone.* | +| 0e. | Article | We will publish an article that explains what was done as part of the grant | +| 1. | Account detail | Current account detail shows only list of extrinsics signed by that account. Improve account detail page as specified in [Account detail](#account-detail) section. | +| 2. | XCM transfers and teleports | Detect cross-chain transfers and display relevant information of involved chains and accounts: from chain, to chain, relayed at chain (reserve), sender, beneficiary, etc. See [Cross-chain transfers](#cross-chain-transfers) for more. | + +### Milestone 3 - Universal search & Chain dashboards + +- **Estimated duration:** 3 weeks +- **FTE:** 1 +- **Costs:** $7,500 + +There are two things which can highly improve the usefulness of the explorer. + +The fist is the [universal search](#universal-search) and the next big thing is [dashboards for chains](#chain-dashboards). + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide inline documentation of the code where necessary and tutorials on how to use new features. | +| 0c. | Testing Guide | We will provide end-to-end tests covering UI functionality. | +| 0d. | Docker | *N/A - will be provided by the first milestone.* | +| 0e. | Article | We will publish an article that explains what was done as part of the grant | +| 1. | Universal search | Search items through all the chains without the knowledge where it belongs. See [Universal search](#universal-search). | +| 2. | Chain dashboard | Create dashboard with stats, charts and item listings for each chain. See [Chain dashboards](#chain-dashboards). | + +## Future Plans + +There is a huge potential for future improvements which the Polkadot's community can benefit from. + +As developers of most parachains implement their own custom modules/pallets it opens the opportunity to cooperate and customize Calamar explorer with UI/UX components and logic tailored to their needs. + +It relates to various XCM transactions which makes it even more complex and the more types will our explorer support the more it makes the users' lives easier. + +Another requests which came to us are: +- supporting EVM and WASM smart contracts +- exporting transactions for accounting and taxation purposes +- displaying NFTs collections and crowdloans rich data + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** Personal recommendation + +- We participated and won a bounty in [Polkadot Hackaton: North America Edition](https://polkadot-na.devpost.com/) + - bounty: https://github.com/subsquid/bounties/issues/1 + - our submission: https://devpost.com/software/calamar +- We are cooperating with [Subsquid team](https://subsquid.io) that provides us data From dc1eed3bd0bd09ae68c3e6b461c3271d79b4e7c4 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Sun, 18 Sep 2022 22:32:21 +0200 Subject: [PATCH 0135/1872] Update accepted_grant_applications.md Add TopMonks --- docs/accepted_grant_applications.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 8b2a9866050..0a4d504d437 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -539,6 +539,8 @@ | [Popular Coding](https://www.popularcoding.com/) | Ventur | [GitHub](https://github.com/popular_coding) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Asylum](https://asylum.space/) | Asylum follow-up 1 | [GitHub](https://gitlab.com/asylum-space/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Cyril Carlier](https://github.com/CrommVardek) | Maki| [GitHub](https://github.com/CrommVardek) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [TopMonks](https://www.topmonks.com/) | Calamar| [GitHub](https://github.com/topmonks/calamar) |
  • [ ]
|
  • [ ]
|
  • [ ]
| + From 622b5b39cae6597494ce44bdec8939aa181c54c7 Mon Sep 17 00:00:00 2001 From: Michael Yuan Date: Mon, 19 Sep 2022 06:47:50 -0700 Subject: [PATCH 0136/1872] Amend the project milestone tasks (#1146) We will need a solid rationale to merge WasmEdge support upstream into the official Substrate repo. So, we changed the order of tasks to complete the performance eval first and then to propose a merge PR. That means shifting the PR task from milestone 2 to 3. We have also found that the Substrate approach of using host functions requires a lot of changes in the WasmEdge Rust SDK. That has caused a delay and extra engineering work for the project (already completed). We will keep the total project budget the same, but respectfully ask for each milestone payment to stay the same to account for the extra work needed for milestone 2. Signed-off-by: Michael Yuan Signed-off-by: Michael Yuan --- applications/wasmedge_substrate.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/applications/wasmedge_substrate.md b/applications/wasmedge_substrate.md index a72a6c736f8..032558b6142 100644 --- a/applications/wasmedge_substrate.md +++ b/applications/wasmedge_substrate.md @@ -127,11 +127,10 @@ https://github.com/ParaState/substrate-ssvm-node | 0d. | Docker | Create Docker images with all build dependencies to faciliate the build process | | 0e. | Article | Create a blog article to annouce Substrate's option to use WasmEdge | | 1. | Software | Create configuration options to select between wasmtime and WasmEdge host wrappers. The option will allow the compiler / build system to choose between the wasmtime and wasmedge executors when building the substrate binary. | -| 2. | Upstream PR | Create and merge a PR for the Substrate project. Work with the Substrate team to make sure that the PR is up to the coding standard and testing requirements for Substrate to merge it. | ### Milestone 3 -- Performance benchmarks and analysis -- Estimated duration: 1 month +- Estimated duration: 2 month - FTE: 2 - Costs: 15,000 USD @@ -145,6 +144,7 @@ https://github.com/ParaState/substrate-ssvm-node | 1. | Config | Make sure that AOT is enabled for WasmEdge | | 2. | Eval | Create performance metrics Substrate integration tests for wasmtime vs WasmEdge, as well as WasmEdge interpreter vs AOT | | 3. | Eval | Identify performance bottlenecks in Substrate WasmEdge for future actions | +| 4. | Upstream PR | Create and merge a PR for the Substrate project. Work with the Substrate team to make sure that the PR is up to the coding standard and testing requirements for Substrate to merge it. | ## Future Plans From df813eb6a460aaad4b5c18f858feab09cad806eb Mon Sep 17 00:00:00 2001 From: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> Date: Mon, 19 Sep 2022 16:54:04 +0200 Subject: [PATCH 0137/1872] Update accepted_grant_applications.md --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 0a4d504d437..e24a1389f5e 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -456,7 +456,7 @@ | [CESS LAB](https://www.cess.cloud/) | Data Store Pallet | [GitHub](https://github.com/CESSProject/cess) |
  • [ ]
|
  • [x]
|
  • [x]
| | [ChainSafe](https://chainsafe.io/) | Substrate Core Polywrapper | [GitHub](https://github.com/polywrap) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Bela Supernova](https://bsn.si/en/home/) | On-chain cash exchange (OCEX) | |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Second State](https://www.secondstate.io/) | WasmEdge for Substrate | [GitHub](https://github.com/wasmedge) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Second State](https://www.secondstate.io/) | WasmEdge for Substrate | [GitHub](https://github.com/wasmedge) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Wow Labz](https://www.wowlabz.com/) | Dot Marketplace Phase 2 | [GitHub](https://github.com/WowLabz) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Stardust Labs Inc.](https://stardust.finance/) | Uncollateralized Stablecoin Research and Design | [GitHub](https://github.com/adit313/) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Hashed Systems](https://hashed.io) | Native Bitcoin Vaults (NBV) | [GitHub](https://github.com/hashed-io) |
  • [ ]
|
  • [x]
|
  • [ ]
| From 343f91100f86a9328b41ffd0d6fc5a4b80577d46 Mon Sep 17 00:00:00 2001 From: S E R A Y A Date: Mon, 19 Sep 2022 23:43:19 +0200 Subject: [PATCH 0138/1872] Update accepted_grant_applications.md Complete Prosopo Grant --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index e24a1389f5e..4ab228cc081 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -406,7 +406,7 @@ | :--- | :------ | :--- | :--------: | :------------: | :-------: | | Matthew Darnell | cScale | [GitHub](https://github.com/MatthewDarnell/cScale) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Web3go](https://web3go.xyz/) | Web3go | [GitHub](https://github.com/web3go-xyz) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Prosopo Limited](https://prosopo.io) | Prosopo: Human Verification Marketplace | [GitHub](https://github.com/prosopo-io) |
  • [ ]
|
  • [x]
|
  • [ ]
| +| [Prosopo Limited](https://prosopo.io) | Prosopo: Human Verification Marketplace | [GitHub](https://github.com/prosopo-io) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Litentry](www.litentry.com) | Polka SignIn | [GitHub](https://github.com/litentry) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [gmajor](https://github.com/gmajor-encrypt) | PHP RPC Lib | [GitHub](https://github.com/gmajor-encrypt/) |
  • [ ]
|
  • [x]
|
  • [x]
| | [logion](https://logion.network/) | Logion wallet | [GitHub](https://github.com/logion-network) |
  • [ ]
|
  • [x]
|
  • [x]
| From 94522ea1ab1bebe4c830d8b3a80dc34aa85830e7 Mon Sep 17 00:00:00 2001 From: Alexey Vexin <98888366+dsrdrk11a@users.noreply.github.com> Date: Tue, 20 Sep 2022 11:56:49 +0200 Subject: [PATCH 0139/1872] Create RubeusKeeper.md (#1124) * Create RubeusKeeper.md * Update RubeusKeeper.md * Update RubeusKeeper.md * Update RubeusKeeper.md --- applications/RubeusKeeper.md | 139 +++++++++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 applications/RubeusKeeper.md diff --git a/applications/RubeusKeeper.md b/applications/RubeusKeeper.md new file mode 100644 index 00000000000..7640d19e6d9 --- /dev/null +++ b/applications/RubeusKeeper.md @@ -0,0 +1,139 @@ +# W3F Grant Proposal + +- **Project Name:** Rubeus Keeper +- **Team Name:** Bela Supernova +- **Payment Address:** 0xC0d28794eA40Ce9b9F4B62a1B2Bb42FD34b7d305 (USDT) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 + +## Project Overview :page_facing_up: +This application is not in response to an RFP, but it fully complies with a potentially interesting project “Sign-in with your Polkadot, Kusama, etc. account” mentioned in [Open Source Polkadot Stack](https://wiki.polkadot.network/docs/build-open-source) page in the “ browser extensions” section. + +### Overview + +Remembering passwords from all resources is a challenging task. It doesn’t need any introduction as all Internet users use passwords dozen times a day. The most common, but less reliable way of password managing is using the only password for all resources – not a good idea, but true. The other one, next most popular – using password managers built in your browser. Quite reliable for low critical data, but for privacy critical data this is not the way to store passwords as there are several ways for third parties to obtain passwords from these centralized systems. Users that value privacy usually use offline desktop applications for managing passwords – it’s safe, but has disadvantages as different devices won’t sync, so one has to manage them separately. + +The aim of this project is to develop a decentralized password manager that stores data in a blockchain and uses personal Polkadot wallet credentials to access the passwords manager dApp. Saved passwords will be added automatically to appropriate forms on websites after logging in with user’s wallet private key in the browser extension. + +### Project Details + +The Rubeus Keeper dApp will consist of two functional modules: +1. An Ink! smart contract for seсure password storage using a Polkadot or Kusama account. Just log in to your Polkadot wallet and get access to your passwords DB. The smart contract will includes methods for writing and getting passwords, as well as categorizing. +2. A browser extension for password managing: registration, log in, password generation, categorizing, saving, retrieving, autocomplete functionality. + +Under this MVP we consider security in the next attack vectors: + 1. Transferred data unauthorized interception and decryption (categories, URLs/logins, passwords). + 2. Malicious data substitution by a node. +To solve the above mentioned tasks the data will be encrypted using the ChaCha20-Poly1305 streaming algorithm with message authentication. The protocol is standardized by IETF in RFC 7539, in software implementations it is much more efficient and faster than AES. + +![Rubeus schema 3](https://user-images.githubusercontent.com/98888366/184879468-bb14b061-7e32-4f89-bc15-8d753d66f236.png) + +### Ecosystem Fit + +The Rubeus Keeper dApp will be used by all the community and even all Internet users as it simplifies and secures daily interaction with web applications – web2 or web3 – our dApp will be comprehensively useful. The target audience is “a web user”. + +In the [Open Source Polkadot Stack](https://wiki.polkadot.network/docs/build-open-source) we see the [Logion network]( https://github.com/logion-network/logion-node) project, that represents a separate parachain with very wide functionality. Unlike Logion we offer a simple Ink! contract and an extension that can be used in any Substrate based parachain with no need for setting nodes and etc. Fast, easy and no need for a separate wallet. + +## Team :busts_in_silhouette: + +### Team members + +- Sergey Cymbal, MBA, CEO at Bela Supernova d.o.o +- Dmitrii Putilov, Blockchain Department Director at Bela Supernova d.o.o +- Ilia Shavrin, Full stack software developer at Bela Supernova d.o.o +- Anton Shramko, Full stack software developer at Bela Supernova d.o.o +- Ksenia Baranova, QA Lead at Bela Supernova d.o.o +- Alexey Vexin, Project Manager at Bela Supernova d.o.o +- Anton Borisov, DevOps Engineer at Bela Supernova d.o.o + +### Contact + +- **Contact Name:** Alexey Vexin +- **Contact Email:** av@bsn.si +- **Website:** https://www.bsn.si + +### Legal Structure + +- **Registered Address:** Cesta v Mestni log 55, Ljubljana 1000, Slovenia +- **Registered Legal Entity:** BELA SUPERNOVA, sistemske rešitve d.o.o. + +### Team's experience + +Sergey Cymbal is an experienced executive, leader and visioner responsible for the most disruptive innovations initiatives across Oil/Gas, Utilities, and Telcos. Ex-member of winter Olympics HQ, responsible for digitalization, Smart grid evangelist. Blockchain early follower, participates in several crypto initiatives. + +Dmitrii Putilov has over 17 years of experience leading the teams creating and maintaining high availability sites. His portfolio contains creation of the robee.io investment platform included in top500 in coinmarketcap. + +Ilia Shavrin is a solution architect and full stack software developer with over 12 years of experience in high load enterprise applications. His most recent focus is on blockchain and creation of decentralized applications. + +Anton Shramko is an experienced developer with 7 years of experience on various positions, including solution architect in Krypton. Anton active contributor to open source and blockchain communities, he is also a frequent speaker in DevCon conferences. + +Ksenia Baranova is an QA test engineer with over 5 years of experience. Ksenia has exceptional knowledge and skills in the field. She is highly referred within this team, as well as by her former teams. + +Alexey Vexin is a product owner and a project manager with 15+ years of experience in managing complicated telecoms and IT projects in Telco, Utilities and Governmental sectors with deep focus on business process management. Led a dozen of national scaled projects for IT systems implementation and industry scaled technology development, standardization and implementation. + +Anton Borisov is a DevOps Engineer with broad experience. For over 15 years Anton was supporting, administering, and maintaining secure networks, servers, and clusters. He also has versatile experience with CI/CD, IT Infrastructure Monitoring, and Kubernetes on-premise and in Cloud. One of the most recent projects Anton participated in was building a first on chain casino. + +Bela Supernova has delivered a W3f grant earlier: [OCEX](https://github.com/w3f/Grants-Program/pull/803#issuecomment-1064184965) + +BSN also has 2 active projects under FileCoin, Chainlink and Tgrade grants. + +### Team Code Repos + +- https://github.com/orgs/bsn-si/repositories +- https://github.com/ManageIQ/manageiq-providers-amazon/commits?author=aiperon +- https://github.com/ManageIQ/manageiq/commits/?author=aiperon +- https://github.com/friktor?tab=repositories +- https://github.com/dsputilov +- https://github.com/friktor +- https://github.com/aiperon + +### Team LinkedIn Profiles (if available) + +- [Sergey Cymbal] (https://www.linkedin.com/in/sergecymbal/) +- [Dmitrii Putilov] (https://www.linkedin.com/in/dmitri-p-96b0a140/) +- [Ilia Shavrin] (https://www.linkedin.com/in/ilia-shavrin-716552228/) +- [Anton Shramko] (https://www.linkedin.com/in/anton-shramko-25971b162/) +- [Ksenia Baranova] (https://www.linkedin.com/in/mayawotson/) +- [Alexey Vexin] (https://www.linkedin.com/in/alexey-vexin-800a4068/) +- [Anton Borisov] + +## Development Roadmap :nut_and_bolt: + +We plan to execute 2 deliverables in two milestones: +- an Ink! smart contract for password storage; +- a browser extension for password management (tested under Chrome browser). + +The project will be supported by a team of 2 developers, 1 UI/UX designer, 1 DevOps engineer and 1 QA. + +### Overview + +- **Total Estimated Duration:** 2,5 months +- **Full-Time Equivalent (FTE):** 3 FTE +- **Total Costs:** 30,000 USDT + +### Milestone 1 — Design and development of a smart-contract and a testing page + +- **Estimated Duration:** 1,5 months +- **FTE:** 2 FTE +- **Costs:** 22,000 USDT + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can run our smart contract and send test transactions, which will show how the functionality works. | +| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 1. | Ink! smart-contract | An Ink! smart-contract for password storage and use: “add password (title, url, username, password, comment)”, “delete password”, “get password”, “add category”, “delete category”, “get categories”. Stored data will be encrypted using the ChaCha20-Poly1305 streaming algorithm with message authentication. | +| 2. | Test page | A test page for running functional tests: categories (get data from a blockchain, decrypt received data, unzip and get passwords, categories list render, passwords list render by categories); save password (data entry form, data serialization, zip data, data encryption, send transaction); show balance. The test page will be developed using JavaScript. | + +### Milestone 2 — Design and development of a browser extension + +- **Estimated Duration:** 1 month +- **FTE:** 1 FTE +- **Costs:** 8,000 USDT + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can run our smart contract and send test transactions, which will show how the functionality works. | +| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness under the Chrome browser. In the guide, we will describe how to run these tests. | +| 0d. | Article | We will publish an **article** that explains what was achieved, how to use the new Dapp and what are the benefits of using the system | +| 1. | Browser extension | A Chrome browser extension MVP for password management: a registration page (login with a Polkadot wallet private key and set a master-password); login page (using master-password); categories (get data from a blockchain, decrypt received data, unzip and get passwords, categories list render, passwords list render by categories); save password (data entry form, data serialization, zip data, data encryption, send transaction); password generation window, show balance. The extension will be developed using JavaScript. | From e164d996241d87b16f9f36fb2eaf98ddb2ab6378 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 20 Sep 2022 20:12:25 +0200 Subject: [PATCH 0140/1872] Update accepted_grant_applications.md Rubeus Keeper --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 4ab228cc081..6c487ddaf02 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -540,7 +540,7 @@ | [Asylum](https://asylum.space/) | Asylum follow-up 1 | [GitHub](https://gitlab.com/asylum-space/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Cyril Carlier](https://github.com/CrommVardek) | Maki| [GitHub](https://github.com/CrommVardek) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [TopMonks](https://www.topmonks.com/) | Calamar| [GitHub](https://github.com/topmonks/calamar) |
  • [ ]
|
  • [ ]
|
  • [ ]
| - +| [Bela Supernova](https://bsn.si/) | Rubeus Keeper| [GitHub](https://github.com/bsn-si) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From a63fa2fea3d9460a15a30302c692f00707c242e4 Mon Sep 17 00:00:00 2001 From: Diogo <112647953+dsm-w3f@users.noreply.github.com> Date: Thu, 22 Sep 2022 08:45:28 -0300 Subject: [PATCH 0141/1872] Checking blackprint as completed (#1181) --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 6c487ddaf02..db23afa37d2 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -441,7 +441,7 @@ | [Virto Network](https://virto.network/) | LIP payments pallet | [GitHub](https://github.com/virto-network/) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Kami Ekbatanifard](https://github.com/Nick-1979/) | Polkadot.js Plus Extension | [GitHub](https://github.com/Nick-1979/polkadot-Js-Plus-extension/wiki) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Dora Factory](https://dorafactory.org/) | Multisig UI | [GitHub](https://github.com/DoraFactory) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Blackprint](https://github.com/Blackprint) | Integrating Polkadot.js with Blackprint | [GitHub](https://github.com/Blackprint) |
  • [ ]
|
  • [x]
|
  • [ ]
| +| [Blackprint](https://github.com/Blackprint) | Integrating Polkadot.js with Blackprint | [GitHub](https://github.com/Blackprint) |
  • [ ]
|
  • [x]
|
  • [x]
| | [OpenSquare Network](https://www.opensquare.network/) | OpenSquare Paid QA protocol | [GitHub](https://github.com/opensquare-network/) |
  • [ ]
|
  • [x]
|
  • [x]
| | [@Scale Technologies](https://atscale.xyz) | Libra - Decentralized Payment Network | [GitHub](https://github.com/atscaletech/) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Interstellar](https://www.interstellar.gg/) | Interstellar - Wallet Phase 1 | [GitHub](https://github.com/Interstellar-Network) |
  • [ ]
|
  • [x]
|
  • [ ]
| From ae8362804d7035490cdce24face025c50db7b76e Mon Sep 17 00:00:00 2001 From: S E R A Y A Date: Thu, 22 Sep 2022 16:46:15 +0200 Subject: [PATCH 0142/1872] Update accepted_grant_applications.md Escrow Pallet M1 completed --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index db23afa37d2..852e7aae37b 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -528,7 +528,7 @@ | [Jim Yam](https://github.com/JimYam) | daos | [GitHub](https://github.com/daos-org/daos.git) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Green Lemon](https://github.com/GreenLemonProtocol) | Green Lemon Protocol | [GitHub](https://github.com/GreenLemonProtocol) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Stardust Labs Inc.](https://stardust.finance/) | Integrating ISO-8583 | [GitHub](https://github.com/adit313/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [TwinP](https://www.linkedin.com/in/elioprifti/) | Escrow Pallet | [GitHub](https://github.com/herou) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [TwinP](https://www.linkedin.com/in/elioprifti/) | Escrow Pallet | [GitHub](https://github.com/herou) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Meta Defender Team](https://github.com/Meta-Defender/) | Meta Defender | [GitHub](https://github.com/Meta-Defender/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [ParaSpell](https://github.com/dudo50/ParaSpell) | ParaSpell | [GitHub](https://github.com/dudo50/ParaSpell) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Primis Labs](https://github.com/Primis-Labs) | Primis | [GitHub](https://github.com/Primis-Labs/client) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 96187e8900d29594fb20a01740b9e919b23bdae5 Mon Sep 17 00:00:00 2001 From: Seraya Takahashi Date: Fri, 23 Sep 2022 10:29:04 +0200 Subject: [PATCH 0143/1872] update rpfs --- rfps/under_development/mixer.md | 154 -------------------------------- 1 file changed, 154 deletions(-) delete mode 100644 rfps/under_development/mixer.md diff --git a/rfps/under_development/mixer.md b/rfps/under_development/mixer.md deleted file mode 100644 index af1a3c89d27..00000000000 --- a/rfps/under_development/mixer.md +++ /dev/null @@ -1,154 +0,0 @@ -# DOT & KSM mixer - -* **Status:** [Under Development 1](https://github.com/w3f/Grants-Program/blob/master/applications/MIXERv2.md), [Slushie](https://github.com/w3f/Grants-Program/blob/master/applications/Slushie%20Mixer.md) - -## Project Overview :page_facing_up: - -### Overview - -Polkadot uses an account-based Tx model, which easily enables linking activity between accounts. -To preserve on-chain anonymity, the options available to the user at the moment are limited to using centralised exchanges. -It requires transferring their funds to an exchange-controlled account and withdrawing them at a later point in time, to a different account. - -While it works to an extent, there are major drawbacks: - -* Users need to trust the exchange in the first place -* There is a fee associated with each transaction, usually both withdrawal and deposit, and sometimes also with creating an account -* The entire process is cumbersome -* If the user wants to *mix* the whole amount, analysis tools can still correlate similar-looking values (especially taking the fees into account). - -### Project Details - -Conceptually, the project is similar to an Ethereum-based [tornado.cash](https://tornado.cash/). We won't describe the mechanics of that project in this application, but rather outline the differences in implementation and how it will translate to a Polkadot deployment. - -1. ZK Proof system - -Tornado cash uses a Groth16 proving scheme, whereas this proposal will leverage a more modern and efficient scheme Plonk. -The three main advantages of Plonk over Groth16 are: - -* Faster prover time -* Smaller number of circuit constraints[^1], leading to smaller program sizes -* Trusted setup, while still required, is universal (not relevant for this project) - -[^1]: for a concrete circuit proving leaf knowledge in a Merkle tree, which is essential for any mixer - -2. Hash function - -The advantage of building an end-product after Tornado is the opportunity to use newer hash functions, too. Specifically, we will be using a Poseidon hash function, which is more suited for ZK proof systems than Pedersen hash used in Tornado, using up to 8x less constraints per message bit [^2]. - -[^2]: [Poseidon Hash paper](https://eprint.iacr.org/2019/458.pdf) - -3. Implementation - -While we could build the smart contract with solidity and deploy on an EVM-compatible parachain, we believe that using a rust-based smart contract language brings unquestionable security benefits to the table. - -There are Rust-based implementations already available of both [Plonk](https://github.com/dusk-network/plonk) and [Poseidon Hash](https://github.com/dusk-network/Poseidon252/). The challenge will be integrating these into an `ink!` contract. - -Most importantly the Dusk lib uses custom data structures, that will need to be: - - initially for testing, wrapped in local data structures and have the Spread/PackedLayout derive'd on them (due to the orphan rule you can't have non-local both struct and derive macro) - - later, for optimisation, custom PackedLayout needs to be implemented for taking advantage of efficient storage - - -Aside from the core protocol (smart contracts), there are two more critical components to make it fully functional: -1. Tx Relayer: the whole idea of a mixer is that the withdrawing account can't be linked to the deposit account. This means withdrawing from an empty account which can't cover its Tx fees. This is where the relayer comes in: a user would generate the proof in the frontend portal with their own payout address and relayer's fee address as parameters, so that the relayer can't steal the funds. The relayer submits the Tx to the smart contract, which, upon verifying the correctness, would pay the amount to the user and a subtract the fee for the relayer. -2. Frontend: users should have a friendly interface (akin to Tornado.cash) to: - - create commitments and submit them to the mixer. They should be presented with a "note" that allows them to withdraw the amount later - - select the relayer - - spend the notes, by submitting the necessary data to the contract for it to verify the ownership of the deposited coin - -### Ecosystem Fit - -The project closest to ours is [anon](https://github.com/webb-tools/anon). They are building a mixer as a substrate module as opposed to smart contracts. Furthermore, they are utilizing the Bulletproofs system in contrast to Plonk. - - -## Development Roadmap :nut_and_bolt: - -### Overview - -* **Total Estimated Duration:** 6.5 months -* **Full-Time Equivalent (FTE):** 1 - - -### Milestone 1: MerkleTree implementation and contract template - -* **Estimated duration:** 0.5 month -* **FTE:** 1 - -1. Implement an append-only `MerkleTree` struct on 32-byte arrays as leafs, that can be imported into an `ink!` contract. Use an `ink!` built-in hash function (Blake2x256) for now. -2. Create an `ink!` contract with `deposit` function, that uses the MerkleTree as the underlying data storage and appends the commitments "deposited" to it. -3. Add the signature for the `withdraw` function. Verify that the submitted nullifier hash hasn't been "spent" yet. -4. Emit the `Deposit` and `Withdraw` events. - -### Milestone 2: Integrate Poseidon hash - -* **Estimated duration:** 0.5 month -* **FTE:** 1 - -Replace Blake2x256 with [Poseidon](https://github.com/dusk-network/Poseidon252/) hash algorithm. - -### Milestone 3: Plonk prover CLI tool (compiles to WASM) - -* **Estimated duration:** 2 months -* **FTE:** 1 - -Create a CLI tool that takes as inputs: -- the prover key `d_p`(hardcoded for now; later generated from a trusted setup ceremony) -- leaf index `l` -- the merkle tree opening for leaf `l` and a root `R` from history -- nullifier `k` -- randomness `r` -- payout address `A` -- relayer address `t` -- relayer fee `f` - -And produces a ZK proof `P`. The tool can be compiled to WASM for future inclusion in the frontend component. -Utilise [Dusk's Plonk implementation](https://github.com/dusk-network/plonk) as much as possible. - -### Milestone 4: `withdraw` method & Plonk verifier in `ink!` - -* **Estimated duration:** 2 month -* **FTE:** 1 - -To withdraw a coin, a user needs to submit a proof that they know the randomness & nullifier, i.e. they are the true owners of the coin. -The `withdraw` method of the mixer ensure that the nullifier `k` has not been spent yet (by storing the previously spent nullifier hashes). -Critically, the method delegates the checking of the proof to the verifier (another method), which takes as inputs: -- the verifier key `d_v` (hardcoded for now; later generated from a trusted setup ceremony) -- ZK Proof `P` generated by the prover -- Root `R` -- hash `h` of the nullifier `k` -- payout address `A` -- relayer address `t` -- relayer fee `f` - -It returns true if the proof `P` satisfies the public values (the rest of the inputs) -Utilise [Dusk's Plonk implementation](https://github.com/dusk-network/plonk) as much as possible. - -### Milestone 5: Relayer - -* **Estimated duration:** 0.5 month -* **FTE:** 1 - -An offline tool (written in Rust or TypeScript, TBD) that is pre-funded and accepts incoming requests. -It verifies the validity of the submitted proof & Tx. If correct, it submits the Tx to the `ink!` contract. - -Also here we will write out the smart contract logic for paying out the fee `f` to relayer address `t`, once a valid Tx has been submitted. This will fall under the `withdraw` method. - -### Milestone 6: Frontend - -* **Estimated duration:** 1 month -* **FTE:** 1 - -### Milestone 7: Trusted setup ceremony (optional) - -* **Estimated duration:** 0.5 month -* **FTE:** 1 - -## Future Plans - -1. Supporting arbitrary tokens -2. ?? Wallet ?? -3. Incentive layer with a token: This is akin to Tornado.cash's TORN token. This is not strictly necessary for the functioning of the project, but it serves in users' best interest. The longer they keep the tokens in the smart contract (a.k.a anonymity pool), the more tokens they accumulate, thus keeping a high anonymity set and preserving privacy. This is also the most likely way to monetize the project, e.g.: - - 10% allocated to the founding team - - 20% for early investors - - 20% for public sale - - 50% for anonymity pool From e3afa3d7eb34621337677bc430ea6b7dccac4614 Mon Sep 17 00:00:00 2001 From: S E R A Y A Date: Fri, 23 Sep 2022 10:32:47 +0200 Subject: [PATCH 0144/1872] Update accepted_grant_applications.md --- docs/accepted_grant_applications.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 852e7aae37b..081a7238452 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -510,7 +510,6 @@ | Team | Project | Link | Terminated | First Delivery | Completed | :--- | :------ | :--- | :--------: | :------------: | :-------: | -| [4ire](https://4irelabs.com/) | Slushie | [GitHub](https://github.com/4IRE-Labs) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [QRUCIAL OÜ](https://qrucial.io/) | QRUCIAL DAO | [GitHub](https://github.com/Qrucial/QRUCIAL-DAO) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Polkadot js plus](http://polkadotjs.plus/) | Polkadot js plus / Social Recovery Wallet | [GitHub](https://github.com/Nick-1979/polkadot-Js-Plus-extension/wiki) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Lee](https://github.com/rust-0x0) | Hex Space Social Graph | [GitHub](https://github.com/rust-0x0) |
  • [ ]
|
  • [x]
|
  • [ ]
| From 99624ac7ee1584fbea8e04129950f7d038bbdcbb Mon Sep 17 00:00:00 2001 From: Seraya Takahashi Date: Fri, 23 Sep 2022 12:56:25 +0200 Subject: [PATCH 0145/1872] Update applications --- applications/Slushie Mixer.md | 211 ---------------------------------- 1 file changed, 211 deletions(-) delete mode 100644 applications/Slushie Mixer.md diff --git a/applications/Slushie Mixer.md b/applications/Slushie Mixer.md deleted file mode 100644 index be904ec12f4..00000000000 --- a/applications/Slushie Mixer.md +++ /dev/null @@ -1,211 +0,0 @@ -# W3F Open Grant Proposal - -* **Project Name:** [Slushie](https://github.com/4IRE-Labs/Slushie) -* **Team Name:** [4ire](https://github.com/4IRE-Labs) -* **Payment Address:** ERC 20 ADDRESS: 0xbb028626a2f51fd0f7be0ff5587686104dd0f6fe - - -## Project Overview :page_facing_up: - -[Mixer RFP](https://github.com/w3f/Grants-Program/blob/master/rfps/open/mixer.md) implementation. - -### Overview - -Polkadot uses an account-based Tx model, which easily enables linking activity between accounts. -To preserve on-chain anonymity, the options available to the user at the moment are limited to using centralised exchanges. -It requires transferring their funds to an exchange-controlled account and withdrawing them at a later point in time, to a different account. -While it works to an extent, there are major drawbacks: -* Users need to trust the exchange in the first place -* There is a fee associated with each transaction, usually both withdrawal and deposit, and sometimes also with creating an account -* The entire process is cumbersome -* If the user wants to *mix* the whole amount, analysis tools can still correlate similar-looking values (especially taking the fees into account). - -### Project Details - -Conceptually, the project is similar to an Ethereum-based [tornado.cash](https://tornado.cash/). We won't describe the mechanics of that project in this application, but rather outline the differences in implementation and how it will translate to a Polkadot deployment. - -1. ZK Proof system -Tornado cash uses a Groth16 proving scheme, whereas this proposal will leverage a more modern and efficient scheme Plonk. -The three main advantages of Plonk over Groth16 are: -* Faster prover time -* Smaller number of circuit constraints[^1], leading to smaller program sizes -* Trusted setup, while still required, is universal (not relevant for this project) -[^1]: for a concrete circuit proving leaf knowledge in a Merkle tree, which is essential for any mixer -2. Hash function -The advantage of building an end-product after Tornado is the opportunity to use newer hash functions, too. Specifically, we will be using a Poseidon hash function, which is more suited for ZK proof systems than Pedersen hash used in Tornado, using up to 8x less constraints per message bit [^2]. -[^2]: [Poseidon Hash paper](https://eprint.iacr.org/2019/458.pdf) -3. Implementation -While we could build the smart contract with solidity and deploy on an EVM-compatible parachain, we believe that using a rust-based smart contract language brings unquestionable security benefits to the table. -There are Rust-based implementations already available of both [Plonk](https://github.com/dusk-network/plonk) and [Poseidon Hash](https://github.com/dusk-network/Poseidon252/). In the scope of this project, we will reuse those implementations in ink!-based smart contracts to build a usable product. -Aside from the core protocol (smart contracts), there are two more critical components to make it fully functional: - 1. Tx Relayer: the whole idea of a mixer is that the withdrawing account can't be linked to the deposit account. This means withdrawing from an empty account which can't cover its Tx fees. This is where the relayer comes in: a user would generate the proof in the frontend portal with their own payout address and relayer's fee address as parameters, so that the relayer can't steal the funds. The relayer submits the Tx to the smart contract, which, upon verifying the correctness, would pay the amount to the user and a subtract the fee for the relayer. - 2. Frontend: users should have a friendly interface (akin to Tornado.cash) to: - - create commitments and submit them to the mixer. They should be presented with a "note" that allows them to withdraw the amount later - - select the relayer - - spend the notes, by submitting the necessary data to the contract for it to verify the ownership of the deposited coin - -The end goal of this grant is a deployed set of smart contracts on some ink!-supporting testnet (like [Shibuya](https://shibuya.subscan.io/)) and a deployed Relayer. -Since this grant only covers smart contracts, CLI & relayer development, we plan to include the frontend into the follow-up grant application, which would turn this set of smart contracts into a user-friendly application. - -### Ecosystem Fit -The project closest to ours is [anon](https://github.com/webb-tools/anon). They are building a mixer as a substrate module as opposed to smart contracts. Furthermore, they are utilizing the Bulletproofs system in contrast to Plonk. - -## Development Roadmap :nut_and_bolt: -### Overview -* **Total Estimated Duration:** 3 months -* **Full-Time Equivalent (FTE):** 1 - -### Milestone 1: ink! contract with Poseidon-based MerkleTree storage -* **Estimated duration:** 0.5 month -* **FTE:** 1 -* **Cost:** 5000 USDT -1. Create an `ink!` contract with `deposit` function, that uses the MerkleTree as the underlying data storage and appends the commitments "deposited" to it. The MerkleTree will use some Poseidon implementation (e.g., [neptune](https://github.com/filecoin-project/neptune), [poseidon252](https://github.com/dusk-network/Poseidon252) or alike). -2. Add the signature for the `withdraw` function. Verify that the submitted nullifier hash hasn't been "spent" yet. -3. Emit the `Deposit` and `Withdraw` events. -### Milestone 2: Plonk prover CLI tool (compiles to WASM) -* **Estimated duration:** 1 month -* **FTE:** 1 -* **Cost:** 10000 USDT - -Create a CLI tool that takes as inputs: -- the prover key `d_p`(hardcoded for now; later generated from a trusted setup ceremony) -- leaf index `l` -- the merkle tree opening for leaf `l` and a root `R` from history -- nullifier `k` -- randomness `r` -- payout address `A` -- relayer address `t` -- relayer fee `f` -And produces a ZK proof `P`. The tool can be compiled to WASM for future inclusion in the frontend component. -As [Dusk's Plonk implementation](https://github.com/dusk-network/plonk) already compiles to WASM, the only thing left is to write the code that constructs Zero-Knowledge proofs according to our input parameters. -### Milestone 3: `withdraw` method & Plonk verifier in `ink!` -* **Estimated duration:** 1 month -* **FTE:** 1 -* **Cost:** 10000 USDT - -To withdraw a coin, a user needs to submit a proof that they know the randomness & nullifier, i.e. they are the true owners of the coin. -The `withdraw` method of the mixer ensures that the nullifier `k` has not been spent yet (by storing the previously spent nullifier hashes). -Critically, the method delegates the checking of the proof to the verifier (another method), which takes as inputs: -- the verifier key `d_v` (hardcoded for now; later generated from a trusted setup ceremony) -- ZK Proof `P` generated by the prover -- Root `R` -- hash `h` of the nullifier `k` -- payout address `A` -- relayer address `t` -- relayer fee `f` -It returns true if the proof `P` satisfies the public values (the rest of the inputs) -We will utilise [Dusk's Plonk implementation](https://github.com/dusk-network/plonk) to do the verification for us. -### Milestone 4: Relayer -* **Estimated duration:** 0.5 month -* **FTE:** 1 -* **Cost:** 5000 USDT - -An offline tool (written in Rust) that is pre-funded and accepts incoming requests. -It verifies the validity of the submitted proof & Tx. If correct, it submits the Tx to the `ink!` contract (using `subxt`, `substrate-api-client` or other crates). -Also here we will write out the smart contract logic for paying out the fee `f` to relayer address `t`, once a valid Tx has been submitted. This will fall under the `withdraw` method. - -## Future Plans -Frontend application development, Trusted setup ceremony, potential integration with big DeFi ecosystem projects to allow private transactions - -## Team :busts_in_silhouette: - -### Team members -**Kyrylo Gorokhovskyi** (CTO and Blockchain solution architect) -**Volodymyr Antonov** (Blockchain Rust Engineer) -**Nino Lipartia** (Cryptography Engineer, Rust Engineer) - - -### Contact -* **Contact Name:** Kyrylo Gorokhovskyi -* **Contact Email:** k.gorokhovskyi@4irelabs.com -* **Website:** https://4irelabs.com - -### Legal Structure -* **Registered Address:** Tallinn, Kesklinna linnaosa, Tuukri tn 19-315, 10152, Estonia -* **Registered Legal Entity:** 4ire DApps OU - -### Team Code Repos -* https://github.com/4IRE-Labs -* https://github.com/Kyrylog -* https://github.com/azazak123 -* https://github.com/NinoLipartiia4ire - - -### Team LinkedIn Profiles (if available) -* https://www.linkedin.com/mwlite/in/kyrylo-gorokhovskyi-9b33701 -* https://www.linkedin.com/mwlite/in/nino-lipartiia-428302236 - -## Development Status :open_book: -The project is on internal discovery phase. - -## Development Roadmap :nut_and_bolt: - -### Overview -**We have decided to describe a full roadmap of the Slushie project here, with estimates.** - -* **Total Estimated Duration:** 3 months -* **Full-Time Equivalent (FTE):** 1 -* **Total Costs:** 30000 USDT - -### Milestone 1 - ink! contract with Poseidon-based MerkleTree storage -**Duration:** 0.5 months -**Costs:** 5000 USDT -**Programming languages:** ink!, Rust - -| Number | Deliverable | Specification | -| -----: | ----------- | ------------- | -| 0a. | License | MPL-2.0 | -| 0b. | Documentation | We will provide both inline documentation of the code and a README with the details used libraries & contract structure. | -| 0c. | Tests | The tests will be presented as unit tests, and instructions on how to run them will be referenced in the README file. | -| 1. | ink! contract with MerkleTree storage | Create an ink! contract that stores internal data (commits, nullifiers, etc.) as a Merkle Tree, add signature for "deposit" function | -| 2. | Change hash type of the Merkle Tree to some Poseidon implementation | Change hash type for the Merkle Tree to some Poseidon implementation (Dusk's [Poseidon252](https://github.com/dusk-network/poseidon252), [Neptune](https://github.com/filecoin-project/neptune)) | -| 3. | Withdraw function signature | Add the signature for the withdraw function. Verify that the submitted nullifier hash hasn’t been “spent” yet. | -| 4. | Add events | Emit the Deposit and Withdraw events. | - - -### Milestone 2 - Plonk prover CLI tool (compiles to WASM) - -**Duration:** 1 month -**Costs:** 10000 USDT -**Programming languages:** Rust - -| Number | Deliverable | Specification | -| -----: | ----------- | ------------- | -| 0a. | License | MPL-2.0 | -| 0b. | Documentation | We will provide both inline documentation of the code. Also, we will provide the documentation for the CLI params, and the usage guide. | -| 0c. | Tests | The tests will be presented as unit tests, and instructions on how to run them will be referenced in the README file. | -| 1. | The CLI app | Create the CLI app to later include the proof generation logic | -| 2. | Proof production logic | Create Plonk proofs from the given data (prover key, randomness etc.) | - -### Milestone 3: `withdraw` method & Plonk verifier in `ink!` - -**Duration:** 1 month -**Costs:** 10000 USDT -**Programming languages:** ink!, Rust - -| Number | Deliverable | Specification | -| -----: | ----------- | ------------- | -| 0a. | License | MPL-2.0 | -| 0b. | Documentation | We will provide the inline documentation of the code and docs for the verifier separately. | -| 0c. | Tests | The tests will be presented as unit tests, integration tests using `polkadot.js` / `redspot` (TBD) and instructions on how to run them will be referenced in the README file. | -| 1. | Plonk verifier | ink! contract logic that verifies provided proofs | -| 2. | Withdrawal contract logic | Add contract logic for withdrawing coins and saving the used nullifier | - -### Milestone 4: Relayer - -**Duration:** 0.5 months -**Costs:** 5000 USDT -**Programming languages:** Rust - - -| Number | Deliverable | Specification | -| -----: | ----------- | ------------- | -| 0a. | License | MPL-2.0 | -| 0b. | Documentation | We will provide both inline documentation of the code and quick walk-through of the service. | -| 0c. | Tests | The tests will be presented as unit tests, and instructions on how to run them will be referenced in the README file. | -| 1. | Relayer service | Service for validating transactions and proofs and relaying them to the blockchain for a fee | -| 2. | Fee logic | Change in a contract to pay a fee to the relayer from the transferred funds directly | - -### Current work - Scope of this Grant -## Additional Information :heavy_plus_sign: -**How did you hear about the Grants Program?** Personal recommendation From e3bfbe3c6f272ab1eab286b5c3facbb70cad9aca Mon Sep 17 00:00:00 2001 From: Toma | SUPERCOLONY Date: Fri, 23 Sep 2022 18:24:02 +0200 Subject: [PATCH 0146/1872] Typechain Polkadot Grant 2 (#1105) * Typechain-Polkadot-Follow-Up Grant Application * Update typechain-polkadot-follow-up.md * Update typechain-polkadot-follow-up.md * Update typechain-polkadot-follow-up.md * Update typechain-polkadot-follow-up.md * Update typechain-polkadot-follow-up.md Co-authored-by: Varex Silver Co-authored-by: varex83 <35969035+varex83@users.noreply.github.com> --- applications/typechain-polkadot-follow-up.md | 217 +++++++++++++++++++ 1 file changed, 217 insertions(+) create mode 100644 applications/typechain-polkadot-follow-up.md diff --git a/applications/typechain-polkadot-follow-up.md b/applications/typechain-polkadot-follow-up.md new file mode 100644 index 00000000000..2edecfc9443 --- /dev/null +++ b/applications/typechain-polkadot-follow-up.md @@ -0,0 +1,217 @@ +# Typechain grant #2 + +# W3F Grant Proposal + +- **Project Name:** [Typechain-Polkadot](https://github.com/Supercolony-net/typechain-polkadot) +- **Team Name:** [SuperColony](https://github.com/Supercolony-net) +- **Payment Address:** ERC 20 ADDRESS: +0xE1B19cE32866cDE87F8f59C7C2C5f90E093A6942 +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 3 + +## Project Overview :page_facing_up: + +### Overview + +Nowadays, when technologies are growing faster and faster, we should think about optimizing different routine processes and making older stuff better. One of these optimizations is to make code typesafe that will be flexible in different situations. + +When a smart contract is being written, the front-end developer receives its file representation in the Application Binary Interface (ABI) format. One ABI per each contract, a new ABI for every contract update. + +Information about how to interact with a contract (methods names, arguments & returns types, etc.) is included in this ABI file. It is not relatively human-readable, so extracting that information becomes a challenge. We need to have correct type definitions for each contract in TypeScript. + +Interaction with blockchain is done with the polkadot.js library, which only has abstract definitions for the contract in use. Thus users' code cannot be typesafe. And Typechain-Polkadot can change it. + +This Grant is a follow-up to the previous grant, [W3F Grant Proposal](https://github.com/w3f/Grants-Program/pull/992).. +We have decided to add a new tool that will help developers easily integrate typechain to their projects. It will also be compatible with Redspot (if redspot was used for compiler projects, you could just leave most of the things). +We have some updates on our team, so check them out. And also, we did more work on Milestone 1 than we thought, so now it'll be easier to add new features to the project, so we considered to reestimate our time. + +### Usage of Typechain-compiler + +``` + npx typechain-compiler --config config.json + +``` + +Also, you can set some additional arguments like `--noCompile`, `--noTypechain`, `--release` + +Config interface will be something like this: + +``` +export interface Config { + projectFiles: string[]; // Path to all project files, everystring in glob format + skipLinting : boolean; // Skip linting of project files + artifactsPath : string; // Path to artifacts folder, where artifacts will be stored it will save both .contract and .json (contract ABI) + typechainGeneratedPath : string; // Path to typechain generated folder +} + +``` + +### Project Details + +Typesafe contracts' descriptions can be generated automatically by a script, taking a list of ABIs as an input, giving usable TS type definitions and even runtime code as its output. + +Given that a front-end developer needs to do this with every contract update, the such tool would save a lot of time and prevent mistakes of misusing smart contracts. It is installed as a package with built-in CLI. + +When contract descriptions come both with ABI and source code (`*.contract` files), our tool will provide means for deployment as well. + +### Ecosystem Fit + +- Where and how does your project fit into the ecosystem? + +There is a whole side to every project in the ecosystem - that is, the front-end side of contract integration - that will find a use for Typechain-Polkadot during the development process. + +- Who is your target audience? + +Our main target audience is front-end and smart-contract developers of Polkadot projects. + +- What need(s) does your project meet? + +Our project speeds up the front-end integration of Polkadot/Substrate/Kusama contracts. As well as brings type safety to developers' code when dealing with contracts. For smart contract developers, it simplifies integration test writing. + +- Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem? + +No, we are the first project of the kind in the ecosystem. However, in the Solidity ecosystem, a similar project already exists, [Typechain](https://www.npmjs.com/package/typechain). + +## Team :busts_in_silhouette: + +### Team members + +- **Markian Ivanichok** (СEO of Supercolony) +- **Toma Sadova** (Product Owner | Supercolony) +- **Green Baneling** (Blockchain Core Rust Engineer | Supercolony) +- **Varex Silver** (Blockchain developer | Supercolony) +- **Artem Lech** (Blockchain developer | Supercolony) + +### Contact + +- **Contact Name:** Toma Sadova +- **Contact Email:** [toma.sadova@supercolony.net](mailto:toma.sadova@supercolony.net) +- **Website:** [supercolony.net](https://supercolony.net/) + +### Legal Structure + +- **Registered Address:** The registered office shall be in 16192 Coastal Highway, Lewes, Delaware 19958, County of Sussex, USA. +- **Registered Legal Entity:** SUPERCOLONY CORP. + +### Team's experience + +**Markian Ivanichok** +CEO of Supercolony, Blockchain entrepreneur, Software Engineer. Started my engineering career back when I was 15. Since then, I have developed and gained a lot of experience in engineering and leadership. Gained entrepreneur experience by founding a couple of startups. Inspired, co-founded, and invested in Sector F, one of the top consulting companies in Ukraine that help entrepreneurs to move faster. Since the beginning of this year, I co-founded and led Supercolony, a Polkadot venture studio that is dedicated to building and creating Polkadot’s ecosystem. + +**Toma Sadova** +Toma is the Market Growth Lead, Product Owner of OpenBrush, and the main organizer of the [biggest WASM conference](https://wasm-conference.com/). Toma started her career when she was 14. Since then, Toma has gained a lot of experience in IT technologies, management, leadership, and crypto. She switched four career paths and figured out blockchain/crypto is her calling! + +**Green Baneling** +Blockchain Core Developer +Primary programming languages are: C++, Go, Rust + +Finished the faculty of applied mathematics(Master's degree). Participated in programming competitions during education. Has worked as a programmer for around six years. + +Was a freelancer the first year, creating an application for IOS(Swift), and creating modules for the desktop application on C++. After that, I spent two years in a company that created software for TV devices(C++/ Haxe). After which, for three years, working on different blockchain projects(C++/Go/Rust/Solidity/Js). + +**Varex Silver** +Blockchain Developer. + +Student of Computer Science at the Kyiv National University of Taras Shevchenko. Participated in programming competitions of different stages in school since 2017 (C++). +Was a Backend developer(Go), Solidity developer(Solidity, Hardhat, Typescript), and now Blockchain developer(Rust, Typescript). + +**Artem Lech** +Blockchain Developer. + +Student of Applied Mathematics at the Kyiv National University of Taras Shevchenko. Started programming in 2016 and participated in a lot of Ukrainian and international competitions of competitive programming. Worked as a lecturer of algorithms at the school of competitive programming and as Intern Backend Engineer (Rust). Now works as Blockchain Developer on Polkadot Blockchain (Rust, Typescript). + +### Team Code Repos + +- [https://github.com/Supercolony-net](https://github.com/Supercolony-net) + +Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine. + +- [https://github.com/xgreenx](https://github.com/xgreenx) +- [https://github.com/varex83](https://github.com/varex83) +- [https://github.com/Artemka374](https://github.com/Artemka374) + +### Team LinkedIn Profiles (if available) + +- [https://www.linkedin.com/in/mivanichok/](https://www.linkedin.com/in/mivanichok/) +- [https://www.linkedin.com/in/toma-sadova/](https://www.linkedin.com/in/toma-sadova/) +- [https://www.linkedin.com/in/bogdan-ogorodniy/](https://www.linkedin.com/in/bogdan-ogorodniy/) +- [https://www.linkedin.com/in/artem-fomiuk-31249b226/](https://www.linkedin.com/in/artem-fomiuk-31249b226/) + +## Development Status :open_book: + +[The project](https://github.com/Supercolony-net/typechain-polkadot) is already a work-in-progress. + +## Development Roadmap :nut_and_bolt: + +### Overview + +We have decided to describe a full roadmap of a Typechain here, with estimates. However, the funding we request at this stage is for milestone 2. + +## Previous work + +### Milestone 1 - MVP, first application and testing. + +- **Estimated duration:** 8 weeks +- **FTE:** 2 +- **Costs:** 44,800 USD + +| Number | Deliverable | Specification | +| ------ | ----------- | ------------- | +| 0a | License | MIT | +| 0b | Documentation | We will provide TypeScript code examples of this package in use, inline documentation, JSDoc, and the description of its features. | +| 1 | TS Types | We will research & match types from ABI to TypeScript, compatible with polkadot{.js} v8 library. Separately, for methods' arguments and return values. Files with types definition will be generated. | +| 2 | Runtime Code | Prepare output(its draft can be seen in [technical specification](https://github.com/Supercolony-net/typechain-polkadot/blob/master/docs/tech-specs.md#generated-code-draft)) of runtime code with contracts' methods implementation. At this point we have minimal viable coverage of the ABI types, original methods' names, and general types for methods' options, without specifics for contract's namespaces. +| 3 | Testing | Minimal coverage of PSP22 contract with integration tests. We will be testing correctness of the derived types of the arguments and return values. | +| 4 | NPM Packaging | Prepare the repository to work through CLI as a package. In TypeScript, as is, without translation to JavaScript. We will publish the package to NPM repository and provide set-up instructions (i.e. for installation, input & output). | + +## Current work - Scope of this grant + +### Milestone 2 - Full coverage for ABIs’ types. Contracts deployment. + +- **Estimated duration:** 7.5 weeks +- **FTE:** 2.5 +- **Costs:** 52,500 USD + +| Number | Deliverable | Specification | +| ------ | ----------- | ------------- | +| 0a | License | MIT | +| 0b | Documentation | Cover new-added features in documentation and usage examples. Prepare generated code to have more informative IDE hints based on TSDoc and the output type system (if needed). | +| 1 | Investigation & Refactoring | Broaden types definitions for methods arguments and return values (to full coverage). Also, refactor project structure to monorepo for future development | +| 2 | Parser & generators modules | Design and implement a new parser module for ABI JSON to work with different versions of the ABI. Parser's output structure serves as an input for generators. Refactor, replace inline generation with the parser to generator flow. | +| 3 | Contract deployment | Add availability to deploy contracts with `Constructors` field, using `*.contract` files. +| 4a | Contract classes extension | Extend generated contract classes with valuable properties ordinarily available on the contract (e.g., address, name, signer, etc.). Also, provide the ability to change signer and contract address easily without creating a new contract manually. | +| 4b | Methods' names | Format methods' names in the output from the original `MethodTrait::method_name` to a more user-friendly `methodName` naming scheme while resolving overlap in formatted names. | +| 5 | Testing | Complete coverage of PSP22 contract with integration tests. Both for contract usage and deployment. We will be testing arguments' & return values' types' correctness. | +| 6 | Article | We will publish an article that explains features of Typechain, how to use it in projects | +| 7 | Branding | Make logotype for typechain and better README | + +## Future work + +### Milestone 3 - High-level improvements, flexibility and simplifying of usage + +- **Estimated duration:** 8-12 weeks +- **FTE:** ? +- **Costs: -** + + +| Number | Deliverable | Specification | +| ------ | ----------- | ------------- | +| 0a | License | MIT | +| 0b | Documentation | We will cover new-added features in documentation and usage examples. | +| 1 | User-defined plugins | We will provide an opportunity for users to make their plugins, for instance, how to parse types or what generated code will look like. | +| 2 | Subscribing to events | We will research and subscribe to events the contract emits, which will be handy for developers. | +| 3 | Typechain-compiler | The tool will be easy for big projects to compile Rust code and generate Typechain definitions. It’ll be helpful for TDD when users can write code and develop everything in one CLI command instead of generating a typechain-code file by file. In plans, we want to make a wrapper for running user scripts (like hardhat run) and also functionality to initialize the environment for typechain usage | +| 4 | Openbrush integration | We will test typechain on openbrush integration tests to ensure everything is working correctly and is easy to use. | +| 5 | typechain/types package | We will make a separate package for types that typechain use to reduce the usage of the same code and separate static code from generated code. | +| 6 | Article | We will publish article that explain how to connect it to the project and describe the types of connection options (directly or via compiler) | + +After this grant, we will maintain the project to keep up with new emerging ecosystem standards, listen to community issues, and update the tool to make the transformation process a more excellent experience for the developers and teams. We are going to work on integration with the Swanky project. + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** + +Have a number of approved applications: + +- OpenBrush +- Sol2Ink +- Typechain-polkadot (Milestone 1) From 38e30683b32260268ccea512c4d69891a63b59ec Mon Sep 17 00:00:00 2001 From: Conor Svensson Date: Sun, 25 Sep 2022 08:47:42 +0100 Subject: [PATCH 0147/1872] Create Epirus Substrate Explorer phase 2 application (#1159) --- applications/epirus_substrate_phase_2.md | 195 +++++++++++++++++++++++ 1 file changed, 195 insertions(+) create mode 100644 applications/epirus_substrate_phase_2.md diff --git a/applications/epirus_substrate_phase_2.md b/applications/epirus_substrate_phase_2.md new file mode 100644 index 00000000000..1f4f06e5960 --- /dev/null +++ b/applications/epirus_substrate_phase_2.md @@ -0,0 +1,195 @@ +# W3F Grant Proposal + + +- **Project Name:** Epirus Substrate Explorer - Phase II +- **Team Name:** Web3 Labs Ltd +- **Payment Address:** 0xc905c448db9942c662fcb1680f3ecfcd0592409c +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 3 + +## Project Overview :page_facing_up: + +This is an application for a follow-up grant for the [Epirus Substrate Explorer](https://github.com/w3f/Grants-Program/blob/master/applications/epirus_substrate_explorer.md) that has been completed in the following delivery: https://github.com/w3f/Grant-Milestone-Delivery/pull/527 + + +### Overview + +The main objective of this phase is to build a Metadata Registry service whose functions are (1) to verify Wasm contract source code and (2) to generate and store contract metadata and serve it through an API. + +We will also evolve the Squid Ink processor and Explorer UI, systems developed in the first grant, to connect to the Metadata Registry. The Squid Ink processor will be responsible for decoding contract messages and events using the metadata retrieved from the Metadata Registry. The Explorer UI will display the decoded data, the verification status and the verified source code. + +### Project Details + +The Metadata Registry is a standalone service exposing a web-based API to be used by other systems that implement these main features: + +- Uploading of source code and reproducible build metadata for a given chain and code hash +- Building of source code according to reproducible build metadata and matching with on-chain pristine code for verification +- Building contract metadata descriptors from source code and reproducible build metadata +- Downloading contract artefacts by chain identifier and code hash + +#### **Source Code Verification** + +Block explorers supporting EVM smart contracts typically allow contract owners to upload source code for their contracts. Having the source code for a smart contract offers users insights into what the smart contract is doing under the hood, thus increasing transparency. However, the uploaded source code needs verification to ensure that no purposefully misleading source code is uploaded. In order to support this verification process, the ink! development team is implementing reproducible builds in ink! smart contracts (https://github.com/paritytech/cargo-contract/issues/525). + +After discussions with the ink! team, we have determined that the process for verifying ink! smart contract source codes will be as follows: + +* The user uploads the source code and `.contract` file to the Metadata Registry. +* The Wasm bytecode in the uploaded `.contract` file is matched against the bytecode stored on-chain. +* Using build information stored in the `.contract` file, we build the source code to generate a new `.contract` file. +* If the generated `.contract` file matches the uploaded `.contract` file, the contract is marked as verified. + +**Security** + +The Metadata Registry is a public service that allows users to upload compressed archives, in zip or tar.gz format, to reproduce the build of their smart contracts. + +We will carefully consider the potential security risks and address them in the service design or by secure technology choice. + +These are the identified main concerns of the service security: +- Prevent compression-related attacks (e.g. zip slip, recursive and non-recursive zip bombs) +- Cargo build sandboxing and access to required dependencies + +**Web API** + +Here is a draft of the Web API verbs. + +| Method | Path | Description| +|--|--|--| +|`POST`| `/:chain_id/:code_hash`| Upload source code and metadata files using multi-part form data | +|`GET`| `/:chain_id/:code_hash`| Downloads contract information such as verification status and related resource paths. | +|`GET`| `/:chain_id/:code_hash/:resouce_path` | Download the file at resource path; this could be source code files or metadata files. | + +**Mock-ups** + +The view of the contract code page when the contract code has not been verified: +![Unverified Contract View](https://drive.google.com/uc?id=1SA9ybyDWAVZ-dlmB8gXbbxpOKt9pN1gA) + +The view of the contract code page during the process of source upload: +![Unverified Contract Upload](https://drive.google.com/uc?id=1T4vF1y2BltQTtG_q8J7GNS1H-IPrvMi0) + +View of contract code page for a verified contract code: +![Verified Contract View](https://drive.google.com/uc?id=1bVuSpXFeBFBUwua2b50ARn3ECL8efTyK) + +More details of verified contract source codes: +![Verified Contract details](https://drive.google.com/uc?id=1e_cx-Tf_TzspFPp08qobL1Gt7OkqyCN4) + +#### **Metadata Decoding** + +Currently, Epirus Explorer displays the encoded information for contract interaction messages and events, as shown in the image below. + +![Contract Encoded Data Display](https://drive.google.com/uc?id=1MG6OlJg5I6PeQ3wbB0wjyWIOKBFztHJG) + +We need to decode these entities to make them informative for a user. We will use the metadata in the `.contract` file generated during [source code verification](#source-code-verification) to decode these messages and events. + +As shown in the sequence diagram below, the decoding process will work as follows: +* On reception of contract messages and events, the Squid Ink processor resolves the contract metadata by chain identifier and code hash. +* The processor checks the local cache for a copy of the metadata. +* If the metadata does not exist in the cache, the processor will call the Metadata Registry to retrieve the relevant contract information. The Metadata Registry response should contain the path to the metadata file if the contract is verified. The processor then calls the Metadata Registry to download the metadata using the provided path. +* If metadata is available, the processor decodes the incoming data with the abstract binary interface descriptor and updates the data entities. +* Finally, the indexer saves the entities into the database. + +![Contrat Decode Sequence](https://drive.google.com/uc?id=1oKJgkg_Z17IpT3w8gTgd-EpZMvBNaJ06) + +With the decoded data available, the Explorer UI can display contract messages and events with meaningful names and decoded parameters. + +**Mock-ups** + +This is how we envision the decoded contract data will look like: +![Contract Decoded Data](https://drive.google.com/uc?id=1oKFjNE-l7Wk1u29Fk6fVZJPF3ZTZf4be) + +### Technology Stack + +For the Metadata Registry, we will evaluate [srtool](https://github.com/paritytech/srtool) for the part of deterministic builds, and we will leverage it if it meets our needs. Source code and metadata files will be stored on the file system and served using NGINX with an optimised configuration. In the future, we can also support decentralised storage layers. + +We plan to use [Fastify](https://www.fastify.io/), a project under OpenJS Foundation, for the web API because of its good performance, default security and smooth developer experience. + +We will continue using the [Subsquid](https://subsquid.io/) framework, Typescript and React.js for the Squid Ink processor and Explorer UI. + +### Out of Scope + +In the case of contract metadata being uploaded sometime after instantiation, there will be un-decoded messages and events. A re-indexing process needs to be triggered to decode these entities. Currently, the indexing engine does not support any easy way for re-indexation. We will need to analyse the current system and derive the best solution for this situation. Considering the time and effort required, we have decided to leave this feature for the future. + +### Ecosystem Fit + +Currently, there is a lack of a Wasm contracts-oriented explorer in the Substrate ecosystem. While general explorers such as Subscan and Polkascan are available, the support for Wasm contracts on these explorers is either limited or non-existent. There is no explorer which verifies Wasm contracts or displays decoded contract messages, two valuable features for users. Epirus Substrate Explorer aims to fill the gap and provide a better user experience when interacting with Wasm contracts on Substrate chains. + +Additionally, the Metadata Registry will also be an independent service providing its capabilities to any explorer, or application, that wishes to access contract metadata and verified source codes. It will be comparable to [Sourcify](https://sourcify.dev/) in the Ethereum ecosystem. Such a service does not yet exist in Substrate. + +On top of that, Epirus Substrate Explorer leverages existing solutions, such as SubSquid and srtools, which fosters synergy across the Substrate ecosystem. + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Total Estimated Duration:** 3 months +- **Full-Time Equivalent (FTE):** 2 FTE +- **Total Costs:** 75,000 EUR + +### Milestone 1 - Source Code Verification + +- **Estimated duration:** 2 months +- **FTE:** 2 +- **Costs:** 50,000 EUR + +| Nº | Deliverable | Specification +| :-- | :-- | :-- +| 0a. | License | Apache 2.0 +| 0b. | Documentation | We will provide inline documentation of the code and a basic tutorial to explain how to upload contract source code and metadata to the Metadata Registry. +| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. We will describe how to run these tests in the guide. +| 0d. | Docker | We will provide a Dockerfile and Docker Compose file(s) to ease the deployment and execution of the system. +| 1. | Metadata Registry | The delivery of the baseline Metadata Registry will include
  • 1. Metadata Registry Core
  • 2. Metadata Registry API
The source code will be in a public git repository. +| 2. | Developer Tools | We will provide example scripts to help ease the process of bundling and compressing the required source code files. +| 3. | Updated Explorer UI | The Explorer UI will support the display of verification status and source code, in addition to the UI for contract source upload. +| 4. | Public explorer instance | A publicly accessible instance of the Explorer connected to a development network displaying verified source code and verification status. + +### Milestone 2 - Decoding of Contract Messages and Events based on ABI Metadata + +- **Estimated duration:** 1 months +- **FTE:** 2 +- **Costs:** 25,000 EUR + +| Nº | Deliverable | Specification +| :-- | :-- | :-- +| 0a. | License | Apache 2.0 +| 0b. | Documentation | We will provide inline documentation of the code and update the tutorial. +| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. We will describe how to run these tests in the guide. +| 0d. | Docker | We will provide a Dockerfile and Docker Compose file(s) to ease the deployment and execution of the system. +| 1. | Updated Squid Ink processor | The processor will connect to the Metadata Registry to retrieve contract metadata by chain ID and code hash, followed by decoding messages and events based on retrieved metadata. +| 2. | Updated Explorer UI | The Explorer UI will support the display of decoded contract messages and events. +| 3. | Public explorer instance | A publicly accessible instance of the Explorer connected to a development network displaying decoded contract messages and events. + +## Team :busts_in_silhouette: + +### Team Members + +- Marc Fornós +- Xueying Wang + + +### Contact + +- **Contact Name:** Conor Svensson +- **Contact Email:** [conor@web3labs.com](mailto:conor@web3labs.com) + + +### Legal Structure + +- **Registered Address:** 7 Bell Yard, London, England, WC2A 2JR +- **Registered Legal Entity:** Web3 Labs Ltd, CRN 10783824 + +### Team's Experience + +The same team has worked on the delivery of the [first grant](https://github.com/w3f/Grants-Program/blob/master/applications/epirus_substrate_explorer.md#team-busts_in_silhouette). + +### Team Code Repos + +- https://github.com/web3labs/epirus-substrate + +## Future Plans + +With the baseline implementation of the Metadata Registry complete, there are many enhancements that can be built upon it. One such enhancement is to have different confidence indicators for verified contracts. Using the verification process outlined in the [Source Code Verification](#source-code-verification) section, we are only able to verify that the function of the code is the same as the uploaded source code. There is still the possibility for malicious actors to upload a "vandalised" source code with misleading function names and comments. We plan to circumvent this issue by allowing the user to sign the upload with his private key; source code uploaded and signed by the code owner will take prevalence over other uploaded sources. The contract code will also have the "signed by owner" badge, thus adding an additional layer of trust. + +With the verified metadata available, we are able to recognise when a contract is implementing a well-known interface. This will allow Epirus Substrate Explorer, or any other application using the Metadata Registry, to display and group contracts based on the interface that they are implementing. It will be similar to how ERC-20, ERC-721 and ERC-1155 tokens are distinguished in EVM contracts. We plan to support [PSP-22](https://github.com/w3f/PSPs/blob/master/PSPs/psp-22.md) and [34](https://github.com/w3f/PSPs/blob/master/PSPs/psp-34.md) as standard contract-based token interfaces. + +We also plan to support EVM-compatible contracts in Substrate chains. This phase involves adding capabilities to index and decode messages and events from the EVM pallet. + +Lastly, we aim to improve scalability to handle large volumes of users and contracts. We will potentially switch from the current PostgreSQL to a distributed database such as CockroachDB. We also intend to add monitoring and scalable deployment infrastructure. + From b8ea30f6117750e357494d19299165f3d157edc9 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Sun, 25 Sep 2022 09:50:07 +0200 Subject: [PATCH 0148/1872] Update accepted_grant_applications.md Update Epirus --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 081a7238452..22d03eeb2f4 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -540,7 +540,7 @@ | [Cyril Carlier](https://github.com/CrommVardek) | Maki| [GitHub](https://github.com/CrommVardek) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [TopMonks](https://www.topmonks.com/) | Calamar| [GitHub](https://github.com/topmonks/calamar) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Bela Supernova](https://bsn.si/) | Rubeus Keeper| [GitHub](https://github.com/bsn-si) |
  • [ ]
|
  • [ ]
|
  • [ ]
| - +| [Web3 Labs Ltd](https://www.web3labs.com/epirus-explorer) | Epirus Substrate Explorer - Phase 2 | [GitHub](https://github.com/web3labs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From b0a643e4adedee3d84a7905d1b221d9f812a5c14 Mon Sep 17 00:00:00 2001 From: bader y Date: Mon, 26 Sep 2022 05:00:03 -0400 Subject: [PATCH 0149/1872] added uke protocol proposal (#1176) * added uke protocol proposal * added Docker as part of deliverable milestone --- applications/uke-protocol.md | 279 +++++++++++++++++++++++++++++++++++ 1 file changed, 279 insertions(+) create mode 100644 applications/uke-protocol.md diff --git a/applications/uke-protocol.md b/applications/uke-protocol.md new file mode 100644 index 00000000000..b8952f80f35 --- /dev/null +++ b/applications/uke-protocol.md @@ -0,0 +1,279 @@ +# W3F Grant Proposal + +> See the [Grants Program Process](https://github.com/w3f/Grants-Program/#pencil-process) on how to submit a proposal. + +- **Project Name:** Uke Protocol PoC & App (revised) +- **Team Name:** Uke +- **Payment Address:** bc1qttjsaqr0m8sxm46wnfdupzpl6rjemts3uxsuu5 +- **Level:** 1 + + +### DISCLAIMER: + +This is grant proposal is very similar to one I had submitted previously. This was due to it being terminated, which you may [view here.](https://github.com/w3f/Grant-Milestone-Delivery/pull/548) + +I have since severely changed the design of the protocol / project to provide a pallet-based architecture henceforth bringing more value. I realized the other proposal was not sustainable anyways (contract-based architecture), and this future-proofs and brings more value to the ecosystem as a whole. + +I hope mitigate any sort of conflict as interest as there was before. Please let me know if this is sufficient! + +## Project Overview + +### Overview + +The Uke Protocol is a p2p, completely distributed messaging protocol. It utilizes local cryptography and a Substrate blockchain instance to verify, send, and receive messages in real time - just like any other conventional messaging protocol, and can be used to construct messaging apps, or any other application in which real time messaging is needed. + +Substrate is a key part of this solution, as **uke** essentially defies the need for any sort of traditional backend in favor of a **completely DLT based infrastructure.** + +Initially, the PoC for this phase will be messaging app, however key components will be built that will allow for many more applications in the future. The eventual goal is a universal messaging protocol that can be implemented anywhere, and is not dependent on any one centralized backend. + +The purpose of this messaging app is to have it entirely independent of any third party service for both messaging and users - a true representation of web3. + +There is more to uke than just peer to peer messaging - it’s to demonstrate a lot more can be created with DLT than just another cryptocurrency. Rather than exchange currency one another, uke aims to take those same concepts and apply them to data and messaging. + +I am passionate about bringing more value to web3 via this sort of application - something that can be used by people, but also in a wider context of businesses and confidential, secure messaging. + + +### Project Details + + +**Project Expectations & Goals** + +The initial goal for this grant is to allow for the development of a PoC of this messaging protocol in the form of a mobile app. + +In the future, as the protocol becomes more defined, the goal is to develop a suite of SDKs and docs centering around secure and confidential messaging for any use case - with Substrate and its extensive functionality being the core of the solution. + + +Uke has a few primary goals and standards to upkeep: + +1. **Privacy** - each message sent is completely, and purely, peer to peer - no one else can intercept or decrypt the message. + +2. **Fault Tolerance / Reliability** - By using DLT, we remove the need for a central server, meaning as long as an amount of nodes are kept online, users can still talk to one another. This is especially useful in emergency scenarios, as users can even opt to run their own nodes to ensure 100% runtime. + +3. **Anonymity** - since each user is essentially just a cryptographic key paired with an id, user’s can easily stay anonymous on and off chain if they so wish to choose. + + +**Technology Stack** + +For the front end, Ionic will be used for all web, Android and iOS versions. + +The backend will purely be DLT based - for this one, a Substrate instance will be run to send messages back and forth between accounts. A custom pallet to interact and properly store messages in Substrate storage will be developed to do so. + + +Below are the summarized languages / tech stack + +- Typescript / Javascript +- Rust +- Ionic + +**High Level Architecture** + +![](https://media.discordapp.net/attachments/922350668264652810/1019014448243019826/Screenshot_2022-09-12_at_6.38.42_PM.png) + + +***As a general overview, each message will be a signed extrinsic, and each user is essentially merely an account on the blockchain.*** + +**Components** + + +*For the purposes of defining the Uke PoC / MVP, the initial functionality of the uke pallet will only handle messaging and message storage. However, in the future, it is planned to implement further functionality, such as a more robust identity registrar and account filter system.* + +1. **UKE PALLET** + +Using Substrate allows for the creation of a custom pallet, which will have two primary functions for this PoC: + + - Handle message transmission and conversation storage (via `StorageDoubleMap` for now). + + - Basic identity mapping (`register()` function to allow for a mapping of `Vec` to `AccountId` for easy lookup). + +For now, the messages will be stored and read from the Substrate storage via a `StorageDoubleMap` with the recipient and sender addresses as keys. + +For identifying each user, a mapping for cryptographic addresses to more human readable names will also be created within the pallet. It essentially it maps unique, human readable ids to otherwise illegible addresses. + +With this mapping of addresses, users can then look up other users and add them to their contacts, or write them a new message, or any other package of data in theory. + + +2. **Substrate Instance** + +The Substrate Instance will allow for all messages to be propagated, consensus to take place, as well as smart contracts to be deployed in a guaranteed environment as needed. + + +3. **Uke Messaging App** + +The eventual conclusion, and primary deliverable of this proposal is representing all of the aforementioned technology into an easy to use, hybrid mobile app that will be released for use. This app can be used across either Kusama or custom Uke networks, whatever is deemed fit upon launch. The app will encrypt messages on the client side, where the encrypted text will be stored within the Substrate node. + +**Mockups and Design of PoC App** + +*Keep in mind these are mockups, and are subject to change* + +![](https://media.discordapp.net/attachments/922350668264652810/1019031136103579748/uke-collection2x.png?width=1180&height=1226) + + +### Ecosystem Fit + +The eventual goal is to provide a streamlined way to for the following in the Substrate / Polkadot ecosystem: + +1. Provide a common, and easy to use identity solution +2. Provide an out-of-the-box, flexible, and confidential messaging protocol which can be used for many different usecases. + +The target audience here is our own user-base eventually, but also developers through opensourcing all work done here along with documentation on how one can also setup their own messaging using our tools. + +Currently, there is no standard for how one can build a dapp quickly, and that does something common. This can serve as a baseline for how a dapp can function without the use of cryptocurrency or the like. + +What makes us different: + +1. No traditional backends are used here. Everything is purely based off of Substrate, as shown in the architecture diagram. + +2. In our designs, the use of DLT/blockchain is not shown - this is intentional, as it allows users to merely experience a secure messaging experience without the cumbersome interface. + +## Team + +### Team members + +- Bader Youssef - Team Lead, Architect, and Fullstack Developer. + +### Contact + +- **Contact Name:** Bader Youssef +- **Contact Email:** ibnbassem@gmail.com + +### Legal Structure + +- **Registered Address:** N/A +- **Registered Legal Entity:** N/A + +### Team's experience + +Bader has previously built over systems on both Ethereum and the NEM/Symbol blockchain - part of which you may see on his Github. He mainly has focused on creating front-end applications and architecture around purely DLT architectures for multiple companies. He is proficient in a number of programming languages and protocols, as well as general solution architecture for both low and higher level software. + +Some notable projects include: + + +1. A PoC IoT device that logged sensor data directly to a blockchain. This included a custom UART serial protocol to convert Arduino code to blockchain transactions. + +2. Portable battery powered nodes, utilizing a Raspberry Pi. (I'd like to do this for Substrate as well!) + +3. The nftize project, an app that allowed for anyone to convert a physical asset to a digital one with ease. + +4. Implementing Shamir secret sharing for an "offline multi sig" and private key sharding model. + +5. A supply chain tracking system in which crop from the US was tracked to Japan over a private NEM blockchain +instance. + +In his spare time, he also wrote many articles centered around using blockchain in practical and real world scenarios, which you may find here: https://iodlt.com/iodlt-blog/ + +He is also published on Hackernoon, with articles gaining some traction (plans to write more!): https://hackernoon.com/u/crackTheCode + +If any more proof / material is needed, then it will be provided! + + +### Team Code Repos + +The eventual code regarding uke will reside in the following repository: + +- https://github.com/Uke-Messaging + +- Bader Youssef - https://github.com/CrackTheCode016 + +### Team LinkedIn Profiles (if available) + +- Bader Youssef - https://www.linkedin.com/in/bader-youssef-975914159 + +## Development Status + +There is currently a WIP repo that is being constructed in parallel with this proposal, which will be shared as soon as possible. To clarify: + + +- A working pallet is currently in place for sending and receiving messages. + +- The front end is mostly implemented for the mobile app, along with a login / signup system using polkadotjs & the Keyring APIs. + +- The initial architecture is all complete, with pallet development very active. + + + +## Development Roadmap + +### Overview + +- **Total Estimated Duration:** 2 months +- **Full-Time Equivalent (FTE):** 1 (one) for the duration of the project +- **Total Costs:** $9,000 USD + +### Milestone 1 — Implement Uke Pallet for Basic Message Storage & Identity Functionality + +- **Estimated duration:** 1 month +- **FTE:** 1 +- **Costs:** $4,500 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how anyone can deploy the pallet in their own Substrate node, as well as properly run unit tests for the Uke pallet. | +| 0c. | Testing Guide | The pallet will be unit tested to the maximum with proper documentation and justification. | +| 0d. | Docker |We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 1. | Uke Pallet | Fully functioning pallet that allows for the transmission and storage of user conversations as well as a basic global identity mapping. | +| 1a. | Uke Pallet - Conversation Storage | Store conversations and messages in the Substrate node. | +| 1b. | Uke Pallet - Basic Identity Scheme | Store a mapping of user addresses to usernames for readability and easy user lookup. | + + +### Milestone 2 — Front-end completion, Substrate & polkadot.js integration into Ionic App + +- **Estimated Duration:** 1 month +- **FTE:** 1 +- **Costs:** $4,500 USD + + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how anyone can build the Ionic project for iOS, Android, or web. | +| 0c. | Testing Guide | The front-end will contain a minimum of 50% unit test coverage, of which these will be covered in the guide. | +| 0d. | Docker |We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 0e. | Article | We will write a full blog post on Hackernoon & Medium on how Uke was created, what powers it, and what exact work was completed on it (as well as future goals). | +| 1a. | Uke Ionic Application: Data Models | Create the appropriate data structures and models to represent users, accounts, and messages coming from a Substrate instance. | +| 1b. | Uke Ionic Application: Login and Signup Service | Usage of the `polkadot.js` SDK to create, store, and secure user account's locally. Proper authentication guards will also be created for the Ionic application. | +| 1c. | Uke Ionic Application: Message Delivery & Configuration | Create the necessary services for messages to be retrieved, sent, and verified from a Substrate instance. | +| 1e. | Uke Ionic Application: In-App Notification System | A minimalistic notification system for notifying users of in-app events, such as received messages. | + + + +## Future Plans + +In the short term, I plan to begin marketing a beta program for this project in order to gain user feedback and viability. Based off of this, I will further the protocol as needed. + +Short Term Goals + +- Gather initial feedback for the app +- Immediate planning to streamline the protocol +- Design `uke` SDK and developer docs for others to use +- Demonstrate uses of web3 beyond cryptocurrency + +Longer Term Goals + +- Develop separate Identity, Account Filter, & Messaging Pallets for common Substrate use. +- Implement a encrypted pub-sub protocol directly into the Substrate node. +- Develop client-side appropriate modules for business use +- "Disappearing", or temporary secure messaging +- Optional payment integrations for users, if applicable +- Custom Substrate Uke network implementation for private or public use + + +## Additional Information + +**How did you hear about the Grants Program?** + +I found it while exploring the Polkadot / Substrate ecosystem for development purposes. + + +- Work you have already done. + +> I already have completed a significant part of the front end work, all that is needed is the Substrate and polkadotjs implementation. + +- If there are any other teams who have already contributed (financially) to the project. + +> None, this is an independent project. + +- Previous grants you may have applied for. + +> I have applied once, and the [grant was terminated](https://github.com/w3f/Grant-Milestone-Delivery/pull/548) due to the code being too similar to another repo. This has been recitifed, and I have embarked on creating a completely original pallet, with any engineering inspirations behind it being cited as needed. + From 5588907e6392ee8925cb6fdbaeb127de7639f16e Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 26 Sep 2022 11:01:14 +0200 Subject: [PATCH 0150/1872] Update accepted_grant_applications.md --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 22d03eeb2f4..0adf665c177 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -541,6 +541,6 @@ | [TopMonks](https://www.topmonks.com/) | Calamar| [GitHub](https://github.com/topmonks/calamar) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Bela Supernova](https://bsn.si/) | Rubeus Keeper| [GitHub](https://github.com/bsn-si) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Web3 Labs Ltd](https://www.web3labs.com/epirus-explorer) | Epirus Substrate Explorer - Phase 2 | [GitHub](https://github.com/web3labs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| - +| [Uke](https://github.com/Uke-Messaging) | Uke Protocol PoC & App (revised) | [GitHub](https://github.com/Uke-Messaging) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 89c0ac738f779b48a75272f2aabcc26bd6bf2247 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 26 Sep 2022 11:05:41 +0200 Subject: [PATCH 0151/1872] Update accepted_grant_applications.md Typechain Phase 2 --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 0adf665c177..187ad532227 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -542,5 +542,5 @@ | [Bela Supernova](https://bsn.si/) | Rubeus Keeper| [GitHub](https://github.com/bsn-si) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Web3 Labs Ltd](https://www.web3labs.com/epirus-explorer) | Epirus Substrate Explorer - Phase 2 | [GitHub](https://github.com/web3labs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Uke](https://github.com/Uke-Messaging) | Uke Protocol PoC & App (revised) | [GitHub](https://github.com/Uke-Messaging) |
  • [ ]
|
  • [ ]
|
  • [ ]
| - +| [SuperColony](https://github.com/Supercolony-net) | Typechain Phase 2 | [GitHub](https://github.com/Supercolony-net/typechain-polkadot) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From d56791d8543bcd30e0fef9cd9f5e1dff83e9b6b2 Mon Sep 17 00:00:00 2001 From: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> Date: Mon, 26 Sep 2022 14:13:05 +0200 Subject: [PATCH 0152/1872] Update accepted_grant_applications.md --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 187ad532227..aa489c25659 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -433,7 +433,7 @@ | Team | Project | Link | Terminated | First Delivery | Completed | :--- | :------ | :--- | :--------: | :------------: | :-------: | | [Chainify](https://github.com/chainify) | Nolik | [GitHub](https://github.com/chainify) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Pennsylvania State University](https://www.psu.edu/) | Avoiding Rust Deadlocks via Lifetime Visualization | [GitHub](https://songlh.github.io/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Pennsylvania State University](https://www.psu.edu/) | Avoiding Rust Deadlocks via Lifetime Visualization | [GitHub](https://songlh.github.io/) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Anagolay](https://anagolay.network/) | Project Idiyanale | [GitHub](https://github.com/anagolay) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Fennel Labs](https://fennellabs.com/) | Fennel Protocol | [GitHub](https://github.com/fennelLabs) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Valletech AB](https://valletech.eu/) | Polkawatch | [GitHub](https://gitlab.com/polkawatch) |
  • [ ]
|
  • [x]
|
  • [x]
| From 8cda5b909ef64fcb388b4e01303a5e31f9fafc47 Mon Sep 17 00:00:00 2001 From: qstnus <81143441+qstnus@users.noreply.github.com> Date: Mon, 26 Sep 2022 14:30:05 +0100 Subject: [PATCH 0153/1872] QSTN-Redefining-data-De-Fi-and-NFTs-on-Substrate.md (#1082) * QSTN: Redefining data, De-Fi and NFTs on Substrate * Update QSTN: Redefining data, De-Fi and NFTs on Substrate * Update QSTN: Redefining data, De-Fi and NFTs on Substrate * Update QSTN: Redefining data, De-Fi and NFTs on Substrate * Update QSTN: Redefining data, De-Fi and NFTs on Substrate * Rename QSTN: Redefining data, De-Fi and NFTs on Substrate to QSTN: Redefining data, De-Fi and NFTs on Substrate.md * Update QSTN: Redefining data, De-Fi and NFTs on Substrate.md * Update QSTN: Redefining data, De-Fi and NFTs on Substrate.md * Update QSTN: Redefining data, De-Fi and NFTs on Substrate.md * Update QSTN: Redefining data, De-Fi and NFTs on Substrate.md * Update QSTN: Redefining data, De-Fi and NFTs on Substrate.md * Update QSTN: Redefining data, De-Fi and NFTs on Substrate.md * Update QSTN: Redefining data, De-Fi and NFTs on Substrate.md * Update QSTN: Redefining data, De-Fi and NFTs on Substrate.md * Update QSTN: Redefining data, De-Fi and NFTs on Substrate.md * Update QSTN: Redefining data, De-Fi and NFTs on Substrate.md * Update QSTN: Redefining data, De-Fi and NFTs on Substrate.md * Update QSTN: Redefining data, De-Fi and NFTs on Substrate.md * Update QSTN: Redefining data, De-Fi and NFTs on Substrate.md * Update QSTN: Redefining data, De-Fi and NFTs on Substrate.md * Update QSTN: Redefining data, De-Fi and NFTs on Substrate.md * Update QSTN: Redefining data, De-Fi and NFTs on Substrate.md * Update QSTN: Redefining data, De-Fi and NFTs on Substrate.md * Update QSTN: Redefining data, De-Fi and NFTs on Substrate.md * Update QSTN: Redefining data, De-Fi and NFTs on Substrate.md --- ...ining data, De-Fi and NFTs on Substrate.md | 233 ++++++++++++++++++ 1 file changed, 233 insertions(+) create mode 100644 applications/QSTN: Redefining data, De-Fi and NFTs on Substrate.md diff --git a/applications/QSTN: Redefining data, De-Fi and NFTs on Substrate.md b/applications/QSTN: Redefining data, De-Fi and NFTs on Substrate.md new file mode 100644 index 00000000000..6c913859d4b --- /dev/null +++ b/applications/QSTN: Redefining data, De-Fi and NFTs on Substrate.md @@ -0,0 +1,233 @@ +# W3F Grant Proposal + +- **Project Name:** QSTN +- **Team Name:** QSTN +- **Payment Address:** ETH - 0x7056A5Da7D269B31Eb2E54E5579e41ef283d7D2C +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 + +## Project Overview :page_facing_up: + +### Overview + +- QSTN is a web application where users participate in surveys, quizzes and short questionnaires to earn virtual credit. +- QSTN is a blockchain enabled market research portal where users answer questions, earn credit and spend these rewards in our digital marketplace for tokenized goods (e.g. NFTs, metaverse wearables). + +When we agree to terms and conditions, most of the time, our data gets sold and commodified without permission or compensation. QSTN acts as an “interface” for consumers to pay gate their information towards businesses. + +By compensating users for their data, we provide incentive for rich and meaningful insights. This information is then sold and accessed by our partners for market research purposes. + +Since winning the Octopus Network Star Prize, we realize the importance of interoperability and the low transactional fees offered by Substrate due to their sharded blockchain mechanism; Octopus Network is supporting our app-chain. + +- Building on this, we would like Polkadot to be the next blockchain we implement; allowing its users to answer questionnaires, earn virtual credit and spend it for digital rewards minted and issued on Polkadot (e.g. NFTs). + +The key to our platform is allowing users to monetize their personal information in a low gas, scalable environment and Polkadot meets both of these requirements. By supporting this initiative, the Web3 Foundation is investing in data infrastructure for the entire DOT ecosystem as well as creating a new “Play-to-Earn” model for data aggregation. + +For scope, QSTN can be broken down into three different user experiences: + 1. User experience - general users create an account, complete on-boarding process and then have the ability to answer 5 daily questions in return for credit which can be spent within our NFT marketplace + + 2. Business experience - businesses and corporate entities (e.g. DAOs and protocols) can establish an account to create their own questionnaire portal, reward users for their participation and track response rate + + 3. Commission experience - businesses and corporate entities can pay a fee to have their questions slipped into the "User View" rotation and glean insights from our daily, active audience for their own market research purposes + +We want to bring all three user experiences to the DOT ecosystem, supporting the general user in scope 1, businesses and protocols who want to manage their own questionnaire in scope 2 and the opportunity for more traditional Web2 businesses to collect market research from Web3 audiences in scope 3. + +- Founded by NYU graduate Orrin Campbell, QSTN was birthed by a recorded conversation with astrophysicist Neil deGrasse Tyson. During the interview, Neil argued that even if software is ‘free’, companies still profit from the sale, transfer, and storage of our information. + +For example, did you know Google makes almost $120 million dollars a day in advertising revenue (e.g. targeted ads, placements)? Orrin thought about how to creatively address this problem and deliver his “promise to save the world.” + +Orrin has released NFTs with Mintbase, spoken on Cryptovoxels and Somnium panels as well as created a large social following behind his afrofuturistic aesthetic. + +Completing the QSTN team triad are the Suriel brothers, who Orrin met at NYU. Jose Suriel is an NYU graduate who handles project management at Forge AI — bringing this expertise to assisting the development and timeline of the QSTN marketplace. + +Anibal Suriel is Jose’s twin brother and our head of legal, he is registered in New York and Miami; leveraging his time at KARM to create the legal framework and guidelines around data, compliance, and overall best practices. + +With a desire to build meaningful products and experiences, Orrin founded QSTN with the aim to empower internet users and provide alternative means of passive income, aided by the invaluable expertise of the notorious Suriel duo. + +### Project Details + +### Ecosystem Fit + +- QSTN is Web3 infrastructure to accelerate the adoption of data monetization. Since users can earn with or without a Web3 wallet, but have the option to create one, shows we are designed to be a Web2 on-ramp into the world of Web3. + +We aim to do this by taking advantage of the low gas, scalable environment offered on DOT to allow users to earn credits, mint NFTs and transfer assets without exorbitant transactional fees. + +Our design is a centralized system “wrapped” with Web3 extensions so that users can sign up using Twitter or Facebook but still earn credits and NFTs once they decide to create a wallet. + +- Right now, our target audience can be broken down in the following groups: +1. Data privacy enthusiasts (Web2 and Web3) +2. High school and college students seeking additional income +3. Web3 DAOs and Protocols which need to capture market research (e.g. DAO governance) +4. Web2 users wishing to matriculate to Web3 but no upfront capital or resources to get into the space + +Currently, we have over 3,000 sign-ups for the waitlist, confirmed private test sessions with Encode Club, Octopus Network and a couple projects on NEAR Protocol. + +Since we also have a desire to partner with Web2 organizations to help demonstrate the value of our platform, we are currently in talks with the following educational institutions to run private sessions. +- Jack & Jill of America, Inc. +- New York University +- The Gray Matter Experience + +- Our platform is able to act as a Web3 on-ramp because our design easily onboards novice, less experienced internet users. This is important because in our initial feedback, we learned a lot of internet users want to get into blockchain but do not have the capital, resources or know where to start. + +We were inspired by the Pi app, as well as Sweatcoin which are two “Play-to-Earn” models where users get rewarded for daily, micro tasks based on actions taken in-platform. + +QSTN builds on their concept by offering more exciting, engaging rewards, increasing the educational value behind our mission statement as well as creating a cohesive community for participants in our network (e.g. NFTs, metaverse). + +- There are currently no other projects similar to ours in the Substrate ecosystem. However, we do see a potential partnership with Ocean Protocol as we can sell and aggregate our data profiles within their primary market. + + - There are no other Web3 data market research portals but similar Web2 solutions include Google Form, Nielsen and Survey Monkey; the problem is these agencies do not have blockchain infrastructure currently in place. + +Our unique offering is the ability for Web2 users to answer questions, earn credits and buy NFTs within a "gas-less" environment but having the option to connect their wallet and mint once familiar with the technology. + +We spent the past year participating in over 5 accelerators to help drive the brand awareness within the Web3 space and ensure we become the "go-to" market research portal in blockchain. + + - There has been an increase in the “Play-to-Earn” model and a couple players who are making noise in the space would include Rabbit Hole (educational), NEAR Crowd (micro task), Axie Infinity (gaming), Pi (validation), and Sweat Coin (exercise). + +We see a market opportunity to use this model for data aggregation, gamifying marketing research and then selling this information to corporate sponsors who offer digital goods or discounts to our users. + +## Team :busts_in_silhouette: + +### Team members + +- Orrin Campbell – QSTN founder, CEO and blockchain architect who will be designing the workflow and user experience **team leader** + +Twitter - https://twitter.com/realorrin + +Instagram - https://instagram.com/realorrin + +Linkedin - https://linkedin.com/in/realorrin + +GitHub - https://github.com/@qstnus + +- Anibal Suriel - QSTN Head of Legal **team member** + +Linkedin - https://linkedin.com/in/anibal-suriel-esq + +Lafi Raed – QSTN Lead Developer **team member** + +GitHub - https://github.com/shadow111 + +Phillip Coleman - Entreprenuer In Residence **team member** + +Linkedin - https://www.linkedin.com/in/phillip-coleman-791b1475 + +### Contact + +- **Contact Name:** Orrin Vincent Campbell +- **Contact Email:** qstnus@gmail.com +- **Website:** https://qstn.us + +### Legal Structure + +- **Registered Address:** 67 Edgehill Drive, Wappingers Falls, New York, 12590, USA +- **Registered Legal Entity:** QSTN, LLC + +### Team's experience + +We incorporated QSTN in December of 2020 and immediately began seeking institutional guidance on how best to bring this product to market. Below is a chronological recount of incubators and hackathons we partook: + +1. QSTN graduates from the 1871 x BLK Tech Verizon incubator (first cohort) [2021] +https://1871.com/accelerator-blk-tech/ + +2. QSTN places 2nd and 4th in the Encode Club x Filecoin NFT Hackathon +https://medium.com/encode-club/nft-hack-finale-prizewinners-and-summary-a68be99f6c66 + +3. QSTN graduates from the Filecoin 2022 accelerator program +https://medium.com/encode-club/filecoin-accelerator-summary-94e30a571563 + +4. QSTN graduates from the Octopus Network x Huobi incubator program +https://medium.com/oct-network/spring-2022-octopus-accelerator-star-prize-winners-d884456ce248 + +5. QSTN is 1 of 5 teams to receive the official Star Prize +https://www.youtube.com/watch?v=72QqZ6MIxeo + +Orrin Campbell + Along with his entrepreneurial pursuits in Web3, Orrin has a large following in entertainment due to his national television appearance on Dr. Phil during an hour long episode about his experience as a "cyborg from the future." + + In an attempt to build on this platform, Orrin has amassed a large following on social media who follow his advice and input on topics ranging from music, fashion, entertainment and technology (Web3). + +Dr. Phil episode - +https://www.youtube.com/watch?v=ReRddYVYfHU + +Press links - +https://vman.com/article/orrin-discusses-indie-rap-persona/ +https://lyricallemonade.com/p/meet-orrin-the-cyborg-rapper-sent-from-2050-to-save-us-all + +Socials - +https://tiktok.com/@realorrin (250,000 followers) +https://instagram.com/realorrin (18,000 followers) +https://youtube.com/c/realorrin (41,000 followers) + + +### Team Code Repos + +- https://github.com/qstnus +- https://github.com/qstn-ansr +- https://github.com/shadow111 + +Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine. + +- https://github.com/shadow111 + +### Team LinkedIn Profiles (if available) + +- https://www.linkedin.com/in/realorrin +- https://www.linkedin.com/in/anibal-suriel-esq/ +- https://www.linkedin.com/in/phillip-coleman-791b1475/ + +## Development Status :open_book: + +- Here is a link to the proposed functionality - https://drive.google.com/drive/folders/1AlOA2H8PE9RWnuXsSxvrBszCOVxkclrE?usp=sharing +- Here are links relevant to the problem - Article 1: https://www.npr.org/2021/02/25/971460327/tiktok-to-pay-92-million-to-settle-class-action-suit-over-theft-of-personal-data +Article 2: https://www.reuters.com/technology/metas-facebook-pay-90-million-settle-privacy-lawsuit-over-user-tracking-2022-02-15/ +Article 3: https://news.bloomberglaw.com/litigation/google-plus-7-5-million-privacy-settlement-gets-final-nod +- Here is a link to the QSTN Medium page where we post updates on data, De-Fi and NFTs - https://medium.com/@qstnus, stay up-to-date on our Twitter account - https://twitter.com/qstnus +- Here is a link to the conversation QSTN founder had with Neil deGrasse Tyson about data rights: https://youtu.be/ImdmYU6ykCo?t=1568 +- Please reference these two presentations for early iterations on the NEAR Protocol blockchain - Video 1: https://youtu.be/XnHjM4lQiZM, Video 2: https://youtu.be/dn49lQPibwU, + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Total Estimated Duration:** 2.5 months +- **Full-Time Equivalent (FTE):** 6 employees (2 developers, 3 designers, 1 blockchain architect [Orrin]) +- **Total Costs:** 10,000 USD + +### Milestone 1 Example — Implement Substrate Modules + +- **Estimated duration:** 2.5 months +- **FTE:** 6 employees +- **Costs:** 10,000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | Open Source | We will open source the survey pallet since the other implementations are publicly available +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can generate a Polkadot.JS wallet during on boarding, connect this wallet to our web application, mint and/or transfer NFTs from our marketplace to their specified DOT wallet and save their "survey ID" on a local substrate chain as immutable proof of completion | +| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 0e. | Article | We will publish a Medium article that documents our transition to Polkadot and details how users of QSTN can connect their DOT wallet to our application, mint & transfer purchased media onto the DOT blockchain as well as save their survey ID on-chain on a local substrate chain. +| 1. | Survey pallet | We will create a Substrate module that will allow users to create a survey, invite other users to create a survey for their business, add questions (metadata), remove questions (metadata), give permission as to who can answer and list created surveys. +| 2. | Survey pallet UI | We will create a new UI for DOT users to be able to ask questions, receive credit and screenshot their response on-chain; these design assets will include landing pages and layouts which we will open source to the DOT community +| 3. | Substrate chain | The survey pallet of our custom chain will interact in such a way to allow users to connect their DOT wallet to our application, mint media on a local substrate chain as well as create surveys, invite businesses to create their own surveys, and give permissions as to who can answer a survey [1.] and then save the completed survey ID on-chain as proof of completion [1.] these transactions take place within our new UI [2.] + +... + + +## Future Plans + +- In the short term, we are competing in hackathons to better our understanding of Web3 products and services we can use to scale out the QSTN market research portal. + +Particularly, we will be participating in the Filecoin Sustainable Blockchain Summit Hackathon, Encode x Chainlink Hackathon and submitting for a couple accelerator programs which include VC pitching. + +In conjunction with our hacking and education, we will be testing our existing application privately with different companies ranging from Encode Club, Filecoin, Octopus Network, NEAR Protocol to Ocean Protocol. + +- Looking towards the future, we are excited to host our first NFT launch event on NEAR Protocol (October) and work with more traditional Web2 businesses in music, entertainment and market research to onboard the next million users into Web3 + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** Web3 Foundation Website + +Here you can also add any additional information that you think is relevant to this application but isn't part of it already, such as: + +- Please request a private invite to our repo (https://github.com/qstn-ansr) for our existing prototype on NEAR Protocol +- If there are any other teams who have already contributed (financially) to the project. +- NEAR Foundation (grants program) From 75aab22ea225b0e58c53916d8b53f790e06ed9ae Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 26 Sep 2022 15:48:30 +0200 Subject: [PATCH 0154/1872] Update accepted_grant_applications.md QSTN --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index aa489c25659..3177d368cab 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -543,4 +543,5 @@ | [Web3 Labs Ltd](https://www.web3labs.com/epirus-explorer) | Epirus Substrate Explorer - Phase 2 | [GitHub](https://github.com/web3labs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Uke](https://github.com/Uke-Messaging) | Uke Protocol PoC & App (revised) | [GitHub](https://github.com/Uke-Messaging) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [SuperColony](https://github.com/Supercolony-net) | Typechain Phase 2 | [GitHub](https://github.com/Supercolony-net/typechain-polkadot) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [QSTN](https://qstn.us/) | QSTN | [GitHub](https://github.com/qstnus) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 9f1280ffedc03e8f96b43a2f27b39c0dcae78134 Mon Sep 17 00:00:00 2001 From: S E R A Y A Date: Tue, 27 Sep 2022 10:03:10 +0200 Subject: [PATCH 0155/1872] Update universaldot.me.md Terminate grant --- applications/universaldot.me.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/applications/universaldot.me.md b/applications/universaldot.me.md index c93ef598180..72e0bc4adb1 100644 --- a/applications/universaldot.me.md +++ b/applications/universaldot.me.md @@ -5,6 +5,7 @@ - **Team Name:** UNIVERSALDOT FOUNDATION - **Payment Address:** 12atHxpDhW8cU1wbBTLZsGqaKRyoRVZKFs (BTC) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 3 +- **Status:** [Terminated](https://github.com/w3f/Grant-Milestone-Delivery/pull/560#issuecomment-1259122114) ## Project Overview :page_facing_up: @@ -291,4 +292,4 @@ Thus, the funds will be used to further expand the team and continue development | Created | The date when the organization was created | DateTime, Block | Automatic | | LastUpdated | The date when the organization had an update | DateTime, Block | Automatic | | Properties | Custom collection of properties that can be added. | An array of Objects | Manual, Optional | -| | \ No newline at end of file +| | From 2be7d196e2dbff29ddc9c6233c5de61f5f03a8bc Mon Sep 17 00:00:00 2001 From: S E R A Y A Date: Tue, 27 Sep 2022 10:17:48 +0200 Subject: [PATCH 0156/1872] Update accepted_grant_applications.md - Terminate Universaldot.me Phase 2 grant --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 3177d368cab..fc328a7124e 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -498,7 +498,7 @@ | [NeoPower](https://www.neopower.digital/) | Roloi: Stream money from one wallet to another | [GitHub](https://github.com/RoloiMoney) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Tribal Protocol Labs](https://www.tribal.fyi/) | Tribal Protocol Smart Contract Development | [GitHub](https://github.com/tribal-protocol) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Yahuang Wu](https://github.com/wuyahuang) | Dual-Key Stealth Address Protocol | [GitHub](https://github.com/wuyahuang) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [UNIVERSALDOT FOUNDATION](https://universaldot.foundation) | Universaldot.me Phase 2 | [GitHub](https://github.com/UniversalDot) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [UNIVERSALDOT FOUNDATION](https://universaldot.foundation) | Universaldot.me Phase 2 | [GitHub](https://github.com/UniversalDot) |
  • [x]
|
  • [ ]
|
  • [ ]
| | [Societal Labs Ltd.](https://www.sctl.xyz/) | Societal - MVP - Phase 1 | [GitHub](https://github.com/sctllabs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Faceless Protocol](https://github.com/HeisenbergLin22) | Faceless Protocol | [GitHub](https://github.com/HeisenbergLin22) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [SuperColony](https://github.com/Supercolony-net) | Typechain | [GitHub](https://github.com/Supercolony-net/typechain-polkadot) |
  • [ ]
|
  • [x]
|
  • [x]
| From ba753e907bb70d000a63ef866262f8fa6cb1f9ba Mon Sep 17 00:00:00 2001 From: han <457644296@qq.com> Date: Tue, 27 Sep 2022 18:59:17 +0800 Subject: [PATCH 0157/1872] Create substats.md (#1153) * Create substats.md * Update substats.md * Update substats.md * Update substats.md * Update substats.md * Update substats.md * Update substats.md * Update substats.md * Update substats.md * Update substats.md * Update substats.md Co-authored-by: Teddy Rogers --- applications/substats.md | 270 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 270 insertions(+) create mode 100644 applications/substats.md diff --git a/applications/substats.md b/applications/substats.md new file mode 100644 index 00000000000..52d7aaa3b23 --- /dev/null +++ b/applications/substats.md @@ -0,0 +1,270 @@ +# W3F Grant Proposal + +- **Project Name:** Substats (The framework of lightweight block explorer) +- **Team Name:** CESS LAB +- **Payment Address:** 0x41fC582784745Ec6B4860F47808b988a473fcEFc(USDT) +- **Level:** 2 + +## Project Overview + +### Overview + +#### Background + +The block explorer is the important portal for on-chain data visualization. It can record and count information such as each block, each transaction and address of different blockchain networks. The essence of the block explorer is to reasonably display native data and derived data to various users according to the actual situation of the blockchain network. The users of block explorer include at least: developers, users, token holders, miners, regulators, researchers, and people interested in blockchain. + +With the goal of building a multi-chain ecosystem, Polkadot has gradually become the preferred solution for many blockchain projects. As more and more blockchain networks join the ecosystem, users have higher and higher requirements for block explorer. + +The most influential block explorer in the Polkadot ecosystem is [Polkadot native explorer](https://polkadot.js.org/apps/#/). it provides a large and comprehensive blockchain explorer, any blockchain network built on The Substrate can apply for access, and supports one-click Toggle, which is currently the primary option for many ecological project. Its characteristics can be summarized as follows: + +1. **Rich real-time data display**. Provides the display of a large amount of data on blockchain such as blocks, validators, and community governance. + +2. **Support wallet management**. Contains most functions of the wallet, and supports wallet management functions such as account generation, import, and token transfer. + +3. **Developer friendly**. It contains a wealth of developer tools, and supports practical functions such as chain state query, transaction initiation, and RPC call. + +4. **One-click import**. All blockchains developed based on the Substrate framework basically implement the same set of basic interfaces, and the Polkadot.js App only needs to provide a websockets link to implement the import. + +But everything has two sides. The following inconveniences also exist behind such a powerful block explorer platform: + +1. Front-end resources are bloated and network latency is high. + +2. Since the web side of platform directly obtains and renders data through blockchain nodes, it leads to slower data reading speed. + +3. Likewise, on-chain resources are relatively precious, resulting in more meaningful statistics that need to be processed that cannot be kept on-chain. However, these statistics have a direct impact on user experience. + +Based on the above characteristics, Polkadot.js App is more suitable for the needs of developers and wallet-related operation scenarios. For more common query scenarios such as retrieving transactions, querying balances of wallet address, checking the basic status of the network, and querying miner information, the actual needs of users are "fast" rather than "more". Just like if you just want to buy a bottle of beer, then the convenience store in the community may be more suitable for your needs than the supermarket that is farther away. + +Polkadot.js App is like a large supermarket with a wide variety of products. However, for the simple daily needs of users, convenience stores (lightweight block explorer) will be a good complement to it. So is there a lightweight block explorer that is easy enough to use in the current Polkadot ecosystem? The following is the situation of our research. + +#### Current Solution + +[Subscan](https://www.subscan.io/) is a block explorer that provides operations management services. It supports about 20 Substrate-based parallel chains and offers basic functions. At the same time, it also provides paid customization services for users who have higher API requirements. This model is more convenient for developers, however, the customization service fee can be as high as tens of thousands of USDT, and developers may abandon some functions due to financial concerns. + +[Polkascan](https://explorer.polkascan.io/) is an open-source block explorer that is relatively lightweight and simple in data display. However, through code analysis on its Github, it has limited capability in data processing since it doesn't have a database and cannot perform data analysis. + +In summary, we believe that there is a lack of a better open source lightweight explorer in the current Polkadot ecosystem. That's why we designed Substats - a lightweight block explorer framework. Different from Polkadot.js App, Substats provides lightweight components to reduce the dependence on the network and provides customized data display functions. And by building a stable background and database services to obtain more powerful data processing capabilities. + +#### Features + +● **On-chain data processing station**: A processing station is built between users and the blockchain network, which includes a cache (database) layer and a computing (data processing) layer. The cache layer is responsible for pulling the data on the chain to the local database for storage. The computing layer is responsible for processing the on-chain data in the database, so that it can be combined into more meaningful data for users, such as historical data statistics, network-wide computing power rankings, etc. + +● **Convenient data display and retrieval**: Compared with reading blockchain network data through RPC nodes, it is more convenient and faster for the client's wxplorer to read directly in the database of the processing station built by Substats. + +● **One-click construction**: Learn from the features of Polkadot.js App. The Substats framework only needs to configure a small amount of information to achieve one-click deployment and startup. Significantly reduce development costs. + +● **Modular UI components**: The UI components of Substats are all decoupled, allowing developers to customize the development of UI components with low threshold. + +● **Open source and security**: Substats only provides completely open source code, and is not responsible for replacing management and operation services. All services are deployed and operated by the project party, avoiding trust costs. + +### Project Details + +We have designed a set of explorer modular components for the Substrate ecosystem, which can be used by stakeholders (such as miners and storage users) and other users.Polkadot, Kusama and Rococo will be supported in first version. Users can inquire about basic information in the network, such as space information, rankings, blocks, transactions, addresses, visual trend charts, etc. Substats is open-source and has flexible scalability in both network and its functionalities. Hence early-stage projects or individual developers can easily integrate our components based on their business needs. The data analysis module and custom components are the two core functions of Substats. + +#### High level design + +# ![Proposal architecture](https://user-images.githubusercontent.com/15166250/192175233-441175e6-e736-4cb0-b580-c43f61f0c798.svg) + + +*Figure 1: Proposal architecture* + +● **Data Processing**: Data processing can be divided into the following steps: data acquisition, data parsing, and persistent storage. As a block explorer framework, Substats optimizes each process to reduce unnecessary workload and improve efficiency for developers. For example, it supports custom data acquisition; realizes the separation of data read and write through the buffer queue; supports various types of data acquisition methods: RPC communication of full nodes, P2P protocol of peer nodes, etc. + +● **Data Rendering**: In addition to providing developers with APIs for crawling block data and derived data, Substats also provides developers with a front-end framework which displays data such as block info, transaction info, and address info in a modular way, and each module can be customized. And Substats has a wealth of themes and icons to choose from. + +#### Typical example + +# ![Workflow](https://user-images.githubusercontent.com/15166250/192175253-2cc55813-be4c-469f-b621-a4f5d0468812.svg) + +*Figure 2: Workflow* + +1. The node service synchronizes the block data of the blockchain network. The node services here include full nodes of the network, third-party data retrieval services, etc. +2. The data crawling module obtains block data from blockchain nodes. Substats supports full node, P2P node, local database and other types of node service connection, and supports custom data read interfaces. +3. It writes the block data crawled from the node service to the buffer queue. The buffer queue is used to separate the process of crawling data and parsing data, and supports data integrity checking and exception handling. +4. The block data is taken out of the buffer queue and sent to the parser in order. +5. The parser parses the block data and writes it to the database in time. The parsing process is accelerated by concurrent execution. +6. For general block data, Substats provides a series of database table structure that enables developers to use it out of the box. For custom Pallet data, developers need to define the relevant table structure. +7. The front-end component periodically reads the relevant data in the database through the HTTP API to render the web page. + +#### Mockups/designs of any UI components + +- **Network Overview** + +# ![Overview](https://user-images.githubusercontent.com/15166250/192175100-fd76fc3c-c0a0-4bb6-98aa-78ee2eb4d9c7.png) + + +- **Address Analysis** + +# ![addressDetails](https://user-images.githubusercontent.com/15166250/192175151-a75dddfe-6d36-40ab-ab7f-5af1220eaf49.png) + + +- **Transaction Details** + +# ![transaction](https://user-images.githubusercontent.com/15166250/192175186-fc8985a5-0992-46a4-a280-909dea71986e.png) + + +- **Block Details Details** + +# ![blocks](https://user-images.githubusercontent.com/15166250/192175203-c6771d22-c27e-4511-88fc-99604cb21b96.png) + +#### API specifications of the core functionality + +- **Substats: List of the publicly exposed methods** + +| No. 1 | | +| ----------- | ----------------------- | +| Method Name | **General** | +| Method Type | Data request | +| Returns | DictionaryList | +| Description | Get all dictionary list | + +| No. 2 | | +| ----------- | ---------------------------- | +| Method Name | **Block query** | +| Method Type | Data request | +| Returns | BlockStates | +| Description | Query states info from block | + +| No. 3 | | +| ----------- | ---------------------------------- | +| Method Name | **Transaction query** | +| Method Type | Data request | +| Returns | TransactionResults | +| Description | Query states info from transactoin | + +| No. 4 | | +| ----------- | ----------------------------- | +| Method Name | **Event query** | +| Method Type | Data request | +| Returns | EventResults | +| Description | Query states info from events | + +| No. 5 | | +| ----------- | ---------------------------- | +| Method Name | **Consensus query** | +| Method Type | Data request | +| Returns | ConsensusResults | +| Description | Query states info from miner | + +### Ecosystem Fit + +Help us locate your project in the Polkadot/Substrate/Kusama landscape and what problems it tries to solve by answering each of these questions: + +- Where and how does your project fit into the ecosystem? + +Our project provides the Polkadot/Substrate ecosystem a quick and convenient service that is in an open-source and lightweight way for creating their block explorers. + +- Who is your target audience (parachain/dapp/wallet/UI developers, designers, your own user base, some dapp's userbase, yourself)? + +Parachain/dapp/wallet/developers + +## Team 👥 + +### Team members + +- Teh Sunn Liu +- Shaka Lavigne +- Elden Young +- Yeou Sunn Liu +- Ted Zhang + +### Contact + +- **Contact Name:** Jessie Dai +- **Contact Email:** [jessie@cess.cloud](mailto:jessie@cess.cloud) +- **Website:** [https://cess.cloud](https://cess.cloud/) + +### Legal Structure + +- **Registered Address:** 22 St Leonard's Ave, Lostock, Bolton BL6 4JE, England +- **Registered Legal Entity:** Paul David Humphreys + +### Team's experience + +● In 2019, the CESS team was established and began to design the prototype design of the storage system network's underlying construction. + +● In 2020, CESS completed the design of the Random Rotational Selection consensus mechanism (R²S), Multi-format Data Rights Mechanism (MDRC) and Proof of Data Reduplication and Recovery (PoDR²). + +● In 2021, released CESS v0.1 white paper. Released CESS Demo v0.2, started BSC testnet storage mining. The end of the same year, CESS was awarded 1st place in the Polkadot Hackathon APAC Edition. + +● In February 2022, CESS joined the Substrate Builders Program. In July CESS passed all milestones in W3F to receive a grant for developing a storage pallet for Substrate. CESS launched its testnet the same month. + +### Team Code Repos + +- https://github.com/CESSProject +- https://github.com/CESSProject/cess +- https://github.com/CESSProject/fmd-cess + +## Development Roadmap 🔩 + +### Overview + +- **Total Estimated Duration:** 5 months +- **Full-Time Equivalent (FTE):** 2 +- **Total Costs:** *24,000 USD* + +### Milestone 1 Implement The Backend Infrastructure + +- **Estimated duration:** 2 months +- **FTE:** 2 +- **Costs:** 9,000 USD + +| Number | Deliverable | Specification | +| ------ | ----------------------- | ------------------------------------------------------------ | +| 0a. | License | Apache 2.0 / GPLv3 / MIT / Unlicense | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how to use the product, display and explain the function of each component. | +| 0c. | Testing Guide | Unit testing will be applied to ensure reliability. Documentation of tests and results will be provided. | +| 1a. | Develop the webservice | We will use the express.js framework to build the basic back-end services, and install the database link toolkit to achieve stable network communication, database connection and other functions to prepare for upper-layer applications. | +| 1b. | Develop the polkadot.js | We will use the polkadot.js API to interact with the PRC nodes of the blockchain network developed based on Substrate. And implement interfaces including block query, transaction query, Account query, Miner query, and new block subscription. | +| 1c. | Develop the API | We will define the back-end API specification for the front-end service to call, including the data structure, request parameters, request event processing function, return data format, etc. At the same time, we will implement the construction of the interface layer to meet the custom development needs of developers. | +| 1d. | Create the database | We will build MySQL database service, create Table structure, complete index creation, data structure constraints, and implement MYSQL connection driver through Node.js. | + +### Milestone 2 Implement Data Processing Tools + +- **Estimated Duration:** 2 months +- **FTE:** 2 +- **Costs:** 9,000 USD + +| Number | Deliverable | Specification | +| ------ | ---------------------- | ------------------------------------------------------------ | +| 0a. | License | Apache 2.0 / GPLv3 / MIT / Unlicense | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how to use the product, display and explain the function of each component. | +| 0c. | Testing Guide | Unit testing will be applied to ensure reliability. Documentation of tests and results will be provided. | +| 1a. | Data Reading Module | It contains on-chain data of blocks, addresses, transactions, events, miners. It supports network switching of Polkadot, Kusama and Rococo, for instance. | +| 1b. | Data Processing Module | It includes synchronization for block information, miner information, account lists, on-chain power timing recording, transaction data statistics and sorting. | +| 1c. | The API Module | We will develop functional interfaces to return the results of data processing to front-end services in the form of a unified interface. The interface includes block information acquisition, historical statistical data acquisition, and the entire network computing power ranking. | +| 2a. | API Documentation | We will complete a backend API documentation explaining how the API interacts with the data. | +| 2b. | Operation Manual | We will write an operation manual explaining how data reading, how network switching and processing can be used. | + +### Milestone 3 Complete The Front-End Components + +- **Estimated Duration:** 1 month +- **FTE:** 2 +- **Costs:** 6,000 USD + +| Number | Deliverable | Specification | +| ------ | ------------------- | ------------------------------------------------------------ | +| 0a. | License | Apache 2.0 / GPLv3 / MIT / Unlicense | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how to use the product, display and explain the function of each component. | +| 0c. | Testing Guide | Unit testing will be applied to ensure reliability. Documentation of tests and results will be provided. | +| 0d. | Article | We will publish an article explaining the problems that Substats solves and how it can benefit other projects. | +| 1a. | Front-end Framework | We will provide lightweight React.js front-end components with styles based on LESS CSS extensions. These components can be customized and extended by developers. | +| 1b. | API | We will define specifications for the API requests. | +| 1c. | Develop Interface | We will complete the development of the front-end webpage and make it web and mobile compatible. | +| 2. | UI Design | We will provide a basic version of the user interface, based on the ant-design/charts icon component library. The other projects can customize the page style based on their needs. | +| 3. | Operation Manual | We will complete the operation manual, including sections on front-end component usage and data requests. | + +## Future Plans + +In the coming months, we will be promoting our project in Europe, South America and SouthEast Asia. We will build a bigger developer community and start testing. We will continue to maintain the component format to adapt to any updates in Substrate, meanwhile optimizing the product and providing the explorer components with more functions. + +## Additional Information ➕ + +**How did you hear about the Grants Program?** We have heard from Parity Asia. + +**What work has been done already?** We have already implemented a design prototype. + +**Have you ever applied for other grants?** We had applied for two. + +1. [grant 1](https://github.com/w3f/Grants-Program/blob/master/applications/CESS.md) , which had passed all the milestone deliveries on January, 2022. +2. [grant 2](https://github.com/w3f/Grants-Program/blob/master/applications/ces_data_store.md) , which had passed all the milestone deliveries on July, 2022. From c955d12a3da17bfa5a2fc478607f8eacb8c86d9c Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 27 Sep 2022 13:01:01 +0200 Subject: [PATCH 0158/1872] Update accepted_grant_applications.md Substats --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index fc328a7124e..dbe52fe87f7 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -544,4 +544,5 @@ | [Uke](https://github.com/Uke-Messaging) | Uke Protocol PoC & App (revised) | [GitHub](https://github.com/Uke-Messaging) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [SuperColony](https://github.com/Supercolony-net) | Typechain Phase 2 | [GitHub](https://github.com/Supercolony-net/typechain-polkadot) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [QSTN](https://qstn.us/) | QSTN | [GitHub](https://github.com/qstnus) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [CESS LAB](https://www.cess.cloud/) | Substats (The framework of lightweight block explorer) | [GitHub](https://github.com/CESSProject) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From c92167f80c840bd17615a42c15ac8e18e2362c31 Mon Sep 17 00:00:00 2001 From: S E R A Y A Date: Tue, 27 Sep 2022 13:01:24 +0200 Subject: [PATCH 0159/1872] Update universaldot.me.md revert termination to re-submit it via a PR --- applications/universaldot.me.md | 1 - 1 file changed, 1 deletion(-) diff --git a/applications/universaldot.me.md b/applications/universaldot.me.md index 72e0bc4adb1..12f3e619d39 100644 --- a/applications/universaldot.me.md +++ b/applications/universaldot.me.md @@ -5,7 +5,6 @@ - **Team Name:** UNIVERSALDOT FOUNDATION - **Payment Address:** 12atHxpDhW8cU1wbBTLZsGqaKRyoRVZKFs (BTC) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 3 -- **Status:** [Terminated](https://github.com/w3f/Grant-Milestone-Delivery/pull/560#issuecomment-1259122114) ## Project Overview :page_facing_up: From cdb1a7e386513b572cea7e6eb5b35f8b323e7bb8 Mon Sep 17 00:00:00 2001 From: S E R A Y A Date: Tue, 27 Sep 2022 13:18:15 +0200 Subject: [PATCH 0160/1872] Update universaldot.me.md (#1188) Terminate Grant: Universaldot.me Phase 2 --- applications/universaldot.me.md | 1 + 1 file changed, 1 insertion(+) diff --git a/applications/universaldot.me.md b/applications/universaldot.me.md index 12f3e619d39..72e0bc4adb1 100644 --- a/applications/universaldot.me.md +++ b/applications/universaldot.me.md @@ -5,6 +5,7 @@ - **Team Name:** UNIVERSALDOT FOUNDATION - **Payment Address:** 12atHxpDhW8cU1wbBTLZsGqaKRyoRVZKFs (BTC) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 3 +- **Status:** [Terminated](https://github.com/w3f/Grant-Milestone-Delivery/pull/560#issuecomment-1259122114) ## Project Overview :page_facing_up: From 02d3c513b1dfa9466d09b6a4666d01749160bc65 Mon Sep 17 00:00:00 2001 From: ZQM Date: Wed, 28 Sep 2022 14:38:52 +0800 Subject: [PATCH 0161/1872] submit application: polket_toearnfun (#1177) * submit application: polket_toearnfun * add demo video * Additional information --- applications/polket_toearnfun.md | 292 +++++++++++++++++++++++++++++++ 1 file changed, 292 insertions(+) create mode 100644 applications/polket_toearnfun.md diff --git a/applications/polket_toearnfun.md b/applications/polket_toearnfun.md new file mode 100644 index 00000000000..a9ba013111b --- /dev/null +++ b/applications/polket_toearnfun.md @@ -0,0 +1,292 @@ +# ToEarnFun + +- **Project Name:** ToEarnFun +- **Team Name:** Polket +- **Payment Address:** 0xd35f9Ea14D063af9B3567064FAB567275b09f03D(ETH-USDT) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 + +## Project Overview :page_facing_up: + +### Where did the idea come from? + +Inspired by the success of **STEPN**, we have great confidence in Web3 applications combined with life scenarios. Because to let the majority of users enter the Web3 world, the interactive way of life scenes is the easiest entry. So we started from the fitness field and developed a Web3 smart fitness application, allowing ordinary users to pick up fitness equipment, training daily + GameFi, and gradually understand how the Web3 world can bring them more value and fun. + +Although **STEPN** achieved great success and dazzling attention as soon as it was launched, it also exposed the following problems: + +1. **Getting started is difficult and high risk**. Beginners first need cryptocurrency and buy at least one virtual sneaker before they can start running. Due to the long-term price instability of cryptocurrencies, users cannot grasp the timing of buying cryptocurrencies, which can lead to serious losses. +1. **Insufficient decentralization**. **STEPN**, like most GameFi, adopts the solution of decentralization of asset transactions and centralized gameplay. This is because due to the bottleneck of the current smart contract technology, it is impossible to achieve complete decentralization, so the game system has the risk of self-theft, such as inflated rewards, malicious bans, and service suspension. +1. **Incentives are not sustainable**. The incentive tokens generated by **STEPN** running are freely circulated without restrictions, and the business model is unsustainable, and will eventually enter a death spiral. +1. **Is really cross-chain?**. Although **STEPN** publishes the same kind of assets on both public chains, the asset values are different, and it is not a cross-chain in the true sense. + +After noticing the above problems, we finally adopted **Substrate** as the underlying technology in technology selection, and developed a blockchain named **Polket**. The goal of **Polket** is to create more commercial application scenarios for NFTs and connect to the Polkadot/Kusama network in a parachain manner. Based on the **Polket** chain, we will develop a smart fitness-type Web3 application to achieve capabilities that **STEPN** cannot achieve. We will name it **ToEarnFun**. + +### Overview + +![logo](https://github.com/aexkobe/hackathon-2022-summer/raw/main/teams/08-polket/assets/toearnfun-log.svg) + +**ToEarnFun** is a **fit to earn** Web3 smart fitness application. Compared with other **x-to-earn** applications that only have **SocialFi** and **GameFi** elements, it can be connected with real smart fitness equipment. It relies on the encryption technology of the hardware chip to ensure that the sweat is paid fairly. The entry-level users of **ToEarnFun** do not need to purchase cryptocurrencies, but only need to purchase smart fitness equipment adapted to the application, and they can **fit to earn** immediately, greatly reducing the difficulty for ordinary users to enter the web3 world. + +### Project Features + +#### Easy To Use + +After the fitness equipment producer has passed the official qualification certification of **ToEarnFun**, the producer will register the chip public-key on the blockchain for each piece of fitness equipment produced. The user purchases **ToEarnFun** fitness equipment in the store, and completes the activation in the App, then can get a **VFE** (**Virtual Fitness Equipment**, it can be understood as a type of **NFT**). Users train through fitness equipment every day, and the system calculates the corresponding rewards based on the **VFE** attribute value on the chain. + +Compared with **STEPN**, which requires users to use cryptocurrencies to purchase **Sneaker**, **ToEarnFun** does not require users to own cryptocurrencies, and it is easier to meet regional compliance requirements in terms of sales methods. The **ToEarnFun** community is formed by a group of users with real fitness needs, and is also a group that is optimistic about the future of Web3. Opens a door for Web2 users to enter the **Polkadot ecosystem**. + +#### Equipment Chip Embedding Proof Of Training + +*How to prove that the player has completed the training?* + +In order to realize the `Proof Of Training` algorithm, we need to embed a crypto algorithm in the chip of the smart fitness equipment. The equipment needs to generate a key pair and register the public key on the blockchain before leaving the factory. After the user activates the equipment, each time he completes the training, the equipment will sign the training data and submit it to the blockchain to complete the proof, and finally the user will receive a fair reward. + +Since the private key of the equipment is generated by the chip before leaving the factory, the player cannot obtain it and cannot tamper with it, which prevents the player from modifying the training data through software, but the player can still cheat through physical plug-ins. However, with the development of technology, we will add motion sensors and biological inspection technology to the equipment to record more valuable data for player training and to prevent cheating by physical plug-ins. + +#### Fitness + GameFi + +**ToEarnFun** not only has the advantages of smart fitness applications, but also realizes the gameplay of **GameFi**. The core of the game is **VFE**(`Virtual Fitness Equipment`) as the gameplay, **VFE** has a level system, with four basic attributes (efficiency, skill, luck, durability), four rarities (common, elite, rare, epic), and available power. When the user activates the equipment, they will get a **VFE** of common rarity and level 0 for free. Users can earn **FUN** by consuming energy through daily train, **FUN** is a consumable in **VFE** gameplay, used to: upgrade **VFE** level, **VFE** charging, Synthesize **VFE**, transaction fees, challenge events and more. **VFE** Get attribute points for each level up, and users can configure attributes independently. At present, the equipment we are implementing to interact with VFE is smart jump rope. + +> `VFE` is shorthand for `Virtual Fitness Equipment`. It can be understood as a subclass of `NFT (non-fungible token)`. We will create `VFE` such as `Smart Jump Rope`, `Smart Hula Hoop`, `Smart Boxing`, `Spinning Bike` on the chain. What the user gets is a unique `VFE instance` minted by `VFE`. + +*Basic attribute description:* + +- **Efficiency**: It affects the amount of **FUN** income. The higher the efficiency, the more stable the income growth. It is recommended for entry-level users to configure. +- **Skill**: Affects the training score factor. The higher the skill, the higher the **FUN** income from training score conversion. Training score can dramatically increase or decrease your income, so recommended configuration for advanced users. +- **Luck**: Affects the drop probability of items and the amount of income added by random numbers on the chain. +- **Durability**: Affects **VFE** charging cost. + +*Rarity Description:* + +- **Normal**: Free with purchase of fitness equipment. +- **Elite**: Collect **VFE** parts and combine with **VFE** chips to mint a new **VFE**, with a small probability to obtain. +- **Rare**: **ToEarnFun Official** regular sales. +- **Epic**: Participate in the **ToEarnFun official** event to get it. + +Base stats and upgrade points, **common < elite < rare < epic**. + + + +#### The gameplay is completely decentralized + +Most **GameFi** applications are implemented with **asset transaction decentralization and gameplay centralized** solutions. Because most Dapps are implemented based on smart contracts, limited by the execution efficiency and upgrade difficulties of smart contracts, it is difficult to achieve decentralized gameplay. Thanks to the forkless upgrade feature of **Substrate**, we can implement the gameplay on the chain, and more new gameplay can be implemented through the **Runtime** upgrade in the future, which will be a Web3 application in the true sense. + +### Project Application Scenarios + +#### Combination of Physical Industry and Blockchain + +![production](https://github.com/aexkobe/hackathon-2022-summer/raw/main/teams/08-polket/assets/toearnfun-produce-model-en.png) + +Participants: **Fitness Users**, **Equipment Producer**, **ToEarnFun Official**. + +1. **ToEarnFun Official** first needs to create a **VFE** class on-chain. The first thing we implement is the **VFE** of the **rope skipping**. +1. To cooperate with **ToEarnFun**, equipment producers need to complete qualification certification and deposit a certain amount of security deposit into the **Producer Ledger** on the chain, which will be used to deduct fees for subsequent minting of **VFE** instances. +1. According to the deposit amount deposited by the equipment producer, the system grants the producer a certain number of **VFE** minting rights. +1. After the equipment producer completes the qualification certification, the **toearnfun-crypto-sdk** is integrated into the fitness equipment chip to realize the encryption protocol. +1. Before leaving the factory, fitness equipment needs to be registered on the **Equipment Ledger**, and a mintinng fee will be reserved from the **Producer Ledger** on-chain. +1. Fitness users can buy **ToEarnFun** cooperative fitness equipment in the local store without cryptocurrency. +1. Fitness users complete on-chain activation of fitness equipment through the **ToEarnFun** app. +1. After the fitness equipment is successfully activated, **Producer Ledger** will pay a minting fee from the reserved balance to **ToEarnFun Official Treasury**. +1. Because the producer has the minting right of the **VFE** class, a **VFE** instance will be minted on-chain to fitness users. +1. Fitness users can get a **VFE** instance for free, in fact, the producer paid the minting fee when registering the equipment on the chain. + +This business model not only helps traditional fitness equipment producers enter the Web3 world, expands the user base, and promotes industrial development, but also brings stable income to **ToEarnFun** and motivates **FUN** on **GameFi** in the future. Modules provide the foundation. + +### Fitness + GameFi + +![Fitness+GameFi](https://github.com/aexkobe/hackathon-2022-summer/raw/main/teams/08-polket/assets/toearnfun-gamefi-model-en.png) + +Participants: **Fitness Users**, **ToEarnFun Official**. + +1. Fitness users use fitness equipment for daily training. +1. The fitness equipment signature training data will be reported to the on-chain **Training Ledger** through the App. +1. Calculate the reward according to the **VFE** attribute bound to the fitness equipment and the number of energy consumed during the training. +1. The **FUN** incentive module issues rewards to fitness users, but there is a daily upper limit on rewards. +1. Fitness users can use **FUN** to level up **VFE** instances to increase attribute points. +1. Fitness users can sell their excess **FUN** to the **FUN Buybck Pool**. +1. **ToEarnFun official** regularly buyback FUN in the pool. +1. After each buyback of **FUN**, its buyback price will change. In order to ensure price stability, changes in the **FUN Buyback Price** will affect its inflation rate. + +This business model not only allows users who like fitness to get the equivalent of their sweat, but also allows users who are addicted to **GameFi** to have the goal of fitness. + +### VFE Market + +![VFE Market](https://github.com/aexkobe/hackathon-2022-summer/raw/main/teams/08-polket/assets/toearnfun-market-model-en.png) + +Participants: **Fitness Users**, **ToEarnFun Official**, **3rd-party IP**. + +1. **ToEarnFun Official** can approve 3rd-party IP certain amount of **VFE** minting rights. +1. Whether it is **ToEarnFun Official** or **3rd-party IP**, as long as you have **VFE** minting rights, you can mint new **VFE** instances. +1. However, every time a **VFE** instance is minted by a 3rd-party IP, the minting fee needs to be paid to **ToEarnFun Official**. +1. The newly minted **VFE** instance will be put into the **VFE** market and will be sold by auction or fixed-price. +1. Fitness users can consume **FUN** to unbind the **VFE** instance on the equipment. +1. The unbound **VFE** instance can be sold to the **VFE** market. +1. Fitness users can also buy their favorite **VFE** instances in the **VFE** market. +1. Fitness users buy VFE instances with better attributes, and then bind them to the equipment for training, which is the most effective way to earn **FUN**. + +Compared with traditional games, **GameFi** has the characteristics of playability and possession, and game items have value. **ToEarnFun Official** can bring income through the sale of **VFE**, or it can also approve 3rd-party IP to mint **VFE** to bring income. Fitness users can also freely exchange **VFE** in the market to achieve arbitrage. + +### Competition Challenge + +![Competition challenge](https://github.com/aexkobe/hackathon-2022-summer/raw/main/teams/08-polket/assets/toearnfun-competition-model-en.png) + +Participants: **Fitness Users**, **ToEarnFun Official**, **Public Welfare Organizations**. + +1. **ToEarnFun Official** create competition template, set: registration fee, registration requirements, competition requirements, scoring rules, bonus distribution, cycle time limit, etc. +1. The competition template will publish event instances periodically. +1. Fitness users who meet the registration requirements can pay the registration fee to participate in the event. +1. Fitness users use their own fitness equipment to challenge according to the requirements of the competition. +1. The fitness equipment reports the training data to the on-chain competition record. +1. After the game, the game record will be determined according to the scoring rules of the game. +1. Prizes will be awarded to the winner of the competition. +1. A portion of the funds raised by the event will be invested in the **Public Welfare Treasury**. +1. The funds of the **Public Welfare Treasury** can be donated to public welfare organizations through the proposal of the Public Welfare Council. + +The use of blockchain to realize competition events is a very suitable application scenario. It not only makes the competition fair, open and transparent, but also greatly reduces labor costs and allows the **Public Welfare Treasury** to obtain more funds. At the same time, **DAO** is used to manage the **Public Welfare Treasury**, which ensures the sustainable development of public welfare undertakings. + +### Project Architecture + +![Architecture](https://github.com/aexkobe/hackathon-2022-summer/raw/main/teams/08-polket/assets/toearnfun-architecture.png) + +### More About This Project + +- [Official website](https://www.toearn.fun) +- [App UI Mockups](https://app.mockplus.cn/run/design/21F_BXJYGPY/47SlUMc7lXwKP?cps=collapse&dt=iPhone%2013&ha=1&linkID=O9QYqoyvhVRzS&nav=1) +- [Demo Video](https://drive.google.com/file/d/1hpaKNFYQhYxkj0dNOEaRD81jcSrm66h3/view?usp=sharing) +- [Github Repository](https://github.com/polketio) + + +### Ecosystem Fit + +#### Where and how does your project fit into the ecosystem? + +As we all know, it is more complicated for ordinary users to enter Web3. They need to buy cryptocurrencies and learn to use cryptocurrency wallets. Learn about different ecosystems and find out which Dapps are right for them. + +I try to simplify this entry through the combination of `hardware + Substrate + Mobile App`. Let ordinary people only need to buy a smart jump rope at the retailer, and training everyday, Web3 will give them another income. Gradually, they will learn about the Polkadot ecosystem, and they will slowly discover that Polkadot's parachains can bring them more value. + +#### Who is your target audience? + +Our target audience are fitness enthusiasts and Polkadot ecosystem's users. + +#### What need(s) does your project meet? + +- Use token incentives to promote people's daily training and get healthy body. +- Through physical product sales, new users will be brought to the Polkadot ecosystem. + +#### Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem? + +Similar projects have not yet appeared in the Substrate / Polkadot / Kusama ecosystem. +This table compares our project to similar projects in other ecosystems. + +| Items | STEPN | FitR | ToEarnFun | +|-------------------|-----------------------------------------------------------------------------|---------------|-----------------------------------------------------------------------------------------------------------| +| Physical Product | No | No | Yes | +| Proof of Training | The App calculates the training data, and the central system proves | Same as STEPN | Hardware calculates training data, blockchain proves | +| Incentives | GST has no upper limit and transferable, GMT has pre-mined and transferable | Same as STEPN | FUN has no upper limit and is not transferable, PNT has no pre-mining and the official promise to buyback | +| Ecosystem | Solana/BSC/Ethereum | BSC | Polkadot/Kusama | +| Target Audience | Crypto users | Same as STEPN | Crypto users and fitness users | +| Source of income | NFT Sales, Market Tax | Same as STEPN | VFE Sales, Market Tax, Product Sales | + +## Team :busts_in_silhouette: + +### Team members + +* **Zhiquan Mai**: CEO. He once served as the development leader of cryptocurrency wallet system of [Bitbank](https://www.bitbank.com/). In his spare time, he has developed some open-source iOS projects, such as [Bitcoin Multisig wallet](https://github.com/zhiquan911/chance_btc_wallet) and [CHKLineChart](https://github.com/zhiquan911/CHKLineChart). Now he is responsible for the development of openwallet framework, which supports more than 70+ blockchain protocols. +* **Jianqiang Chen**: System development engineer. Now he is responsible for the development of the openwallet developer platform, which provides APIs to help developers quickly build cryptocurrency wallet applications. +* **Dongxing Liang**: System architect engineer. Now he is responsible for the back-end development of the openwallet.link enterprise-level digital-assets management system, and provides more than 70+ main chain assets and token asset custody services for digital financial companies. +* **Yinghao Fan**: Front-end engineer. He is now responsible for the front-end of openwallet related applications, such as the back-end of enterprise asset management, wallet applications, etc. +* **Shuchao He**: Cryptographic algorithm engineer. He is now responsible for the development of the underlying cryptographic library of openwallet, and supports the implementation of cryptographic algorithms such as ECC, Hash, and transaction verification for mainstream blockchains. + +### Contact + +* **Contact Name:** Zhiquan Mai +* **Contact Email:** zhiquan911@gmail.com +* **Website**: https://toearn.fun + +### Legal Structure + +- **Registered Address:** Zhongshan Meiju Industrial Park, 6th Floor, Building 9. +- **Registered Legal Entity:** Zhongshan Shangyuzhou Technology Co., Ltd. + +### Team's experience + +Our team has developed the [openwallet](https://github.com/blocktree) framework and redefines a wallet system model compatible with multiple blockchains. At the same time, we have build an openwallet developer platform, which integrates 70+ blockchain protocols, which greatly reduces the cost of developers and users. + +Our team also uses the [openwallet developer platform](https://www.openwallet.cn) to provide enterprises with blockchain-related development services, such as: cryptocurrency wallets, enterprise-level cryptocurrency management systems, multi-chain multisig wallet systems. + +### Team Code Repos + +* https://github.com/blocktree +* https://github.com/zhiquan911 +* https://github.com/godaddy-x +* https://github.com/fanyinghao +* https://github.com/Brochao + +## Development Status :open_book: + +- At present, we have completed the [official website release](https://toearn.fun). +- At present, we have completed [App Mockups](https://app.mockplus.cn/run/design/21F_BXJYGPY/47SlUMc7lXwKP?cps=collapse&dt=iPhone%2013&ha=1&linkID=O9QYqoyvhVRzS&nav=1), and some [VFE](https://drive.google.com/drive/folders/1O3yULWEVhGFzzDXwTWQr75SUU1-8oMEg?usp=sharing) and [Smart Jump Rope Design](https://drive.google.com/drive/folders/1NtV9sDeP8ATlT8hk0e22wQX6pDokIV9M?usp=sharing). +- Polket is under development and the [Testnet](https://polkadot.js.org/apps/?rpc=wss://testnet-node.polket.io#/explorer) has been deployed . +- We have found a smart jump rope factory to develop a prototype product and embedded the encryption library we wrote into the product's chip. Each product generates a ECC keypair at the factory and implements the signature algorithm of the training data. + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Total Estimated Duration:** 4 months +- **Full-Time Equivalent (FTE):** 4 FTE +- **Total Costs:** $30,000 USD + +### Milestone 1 - Implement the gameplay of VFE on Polket, and implement App based on Flutter. + +- **Estimated duration:** 2 month +- **FTE:** 4 +- **Costs:** 15,000 USD + +| Number | Deliverable | Specification | +|-------:|----------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 0a. | License | GPL-3.0 | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can (for example) spin up one of our Substrate nodes and send test transactions, which will show how the new functionality works. | +| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 1. | Substrate module: pallet-vfe | This module implements VFE gameplay, such as: `producer_register`, `device_type_create`, `register_device`, `bind_device`, `sport_upload`, `power_recovery` etc. | +| 2. | Substrate module: pallet-unique-id | This module implements self-incrementing ID maintenance for stores in pallet-unique. | +| 3. | Substrate module: pallet-currencies | This module is an implementor of `frame_support::traits::fungibles` compatible with pallet-balances and pallet-assets. | +| 4. | Substrate module: pallet-support | This module provides standard traits definitions for data interaction between different pallets. | +| 5. | Flutter App: Smart Jump Rope supported | The App first supports smart jump rope, such as connecting equipment, generating keys in the equipment, and synchronizing training data. | +| 6. | Flutter App: Integrate polkawallet-sdk | The App will integrate polkawallet-sdk to implement a built-in wallet that supports the polkadot ecosystem. | + +### Milestone 2 - Implement the buyback and VFE Market on Polket, and release Android App(Alpha-test). + +- **Estimated Duration:** 2 month +- **FTE:** 4 +- **Costs:** 15,000 USD + +| Number | Deliverable | Specification | +|-------:|------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 0a. | License | GPL-3.0 | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can (for example) spin up one of our Substrate nodes and send test transactions, which will show how the new functionality works. | +| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 0e. | Article | We will publish an article that explains the features and gameplay of this app. | +| 1. | Substrate module: pallet-buyback | The implementation of this module allows the buybackers to establish an asset buyback pool, set the buyback asset quota and buyback date, and allow participants to invest in asset A, which will be converted into asset B when the buyback date is reached. | +| 2. | Substrate module: pallet-vfe-order | This module implements the order book function of the VFE trading market. | +| 3. | Flutter App: VFE Buyback Pool | The app implements the buyback pool function, allowing users to invest in asset A and get another asset B when the buyback date is reached. | +| 4. | Flutter App: VFE Market | The App implements the VFE trading market, allowing users to freely buy and sell VFE. | +| 5. | Android Alpha-test Released | We will release the first Alpha-test App supporting the android platform. | + + +When the milestones in the grant are completed, we will open source the entire project. +Our projects are open source based on GPL-3.0 license. + +## Future Plans + +1. We plan to apply for some funding from the `Kusama Treasury` before launching the `App beta version` to meet the first batch of equipment production. We will invite internal test users to the community, and distribute the first batch of equipment to them for free testing experience. +2. `Polket` plan to bid on Kusama's parachain slots to gain access to the Kusama ecosystem. + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** + +Substrate website. + + From 2204ce241d35030fe2797eb30a51cf00736cd5eb Mon Sep 17 00:00:00 2001 From: David Hawig Date: Wed, 28 Sep 2022 09:33:53 +0200 Subject: [PATCH 0162/1872] Update accepted_grant_applications.md Add Polket --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index dbe52fe87f7..813adea0c0e 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -545,4 +545,5 @@ | [SuperColony](https://github.com/Supercolony-net) | Typechain Phase 2 | [GitHub](https://github.com/Supercolony-net/typechain-polkadot) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [QSTN](https://qstn.us/) | QSTN | [GitHub](https://github.com/qstnus) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [CESS LAB](https://www.cess.cloud/) | Substats (The framework of lightweight block explorer) | [GitHub](https://github.com/CESSProject) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Polket](https://toearn.fun) | ToEarnFun | [GitHub](https://github.com/polketio/polket-node) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 4609e50a4b62998bdadc224d260954d4d7038ef0 Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Wed, 28 Sep 2022 03:34:26 -0400 Subject: [PATCH 0163/1872] Update accepted_grant_applications.md (#1191) Update scale-codec-comparator M1 --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 813adea0c0e..01ac5d61a2b 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -483,7 +483,7 @@ | [Verida](https://www.verida.io/) | Single Sign-On for Apps | [GitHub](https://github.com/verida) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Kami Ekbatanifard](https://github.com/Nick-1979/) | Polkadot js plus / Nomination pools | [GitHub](https://github.com/Nick-1979/polkadot-Js-Plus-extension/wiki) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Afloat Inc](https://stayafloat.io/#/) | Tax Infrastructure Polkadot Integration | N/A |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [gmajor](https://github.com/gmajor-encrypt) | SCALE Codec Comparator | [GitHub](https://github.com/gmajor-encrypt) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [gmajor](https://github.com/gmajor-encrypt) | SCALE Codec Comparator | [GitHub](https://github.com/gmajor-encrypt) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Rusty Crewmates](http://rustycrewmates.com/) | Substrate Tutorials | [GitHub](https://github.com/rusty-crewmates/substrate-tutorials) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Sequester](https://github.com/SequesterChain) | A Common-Good Carbon Sink on Polkadot | [GitHub](https://github.com/SequesterChain/pallets) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Keysafe Network](https://github.com/keysafe-protocol) | A decentralized protocol for private key custody and crypto asset management | [GitHub](https://github.com/keysafe-protocol) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From bebf916634b770041ba456b4747ba06d14d1de5d Mon Sep 17 00:00:00 2001 From: frisitano <35734660+frisitano@users.noreply.github.com> Date: Wed, 28 Sep 2022 11:37:13 +0400 Subject: [PATCH 0164/1872] binary merkle tree application (#1179) * binary merkle tree application * update application --- applications/binary_merkle_tree.md | 264 +++++++++++++++++++++++++++++ 1 file changed, 264 insertions(+) create mode 100644 applications/binary_merkle_tree.md diff --git a/applications/binary_merkle_tree.md b/applications/binary_merkle_tree.md new file mode 100644 index 00000000000..36e95adc357 --- /dev/null +++ b/applications/binary_merkle_tree.md @@ -0,0 +1,264 @@ +# Binary Merkle Tree + +- **Team Name:** ALPHA LABS FZCO +- **Payment Address:** 0x503b14fCcbAD63A1d6054D07f8B4685dCf5db7c3 (USDT ERC20) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 + + +## Project Overview :page_facing_up: + +### Overview + +This project aims to introduce binary merkle tree's as a first class citizen in substrate. There is a large demand for the usage of binary merkle +tree's, especially in the context on zero-knowledge circuits where substrate's native patricia merkle tree is not well suited. The demand +for the existence of binary merkle tree's can be evidenced by reviewing grant applications, many of which are implementing +their own binary merkle tree on top of substrates native patricia merkle tree. This is an inefficient solution and not production ready. This project +will introduce binary merkle tree's as a [child tree](https://github.com/paritytech/substrate/blob/master/primitives/storage/src/lib.rs#L239-L245) such +that developers can create and interact with the binary merkle tree's via a runtime api. We are interested in delivering binary merkle tree's such +that we can utilise them in the future for zero-knowledge focused substrate projects. + +### Project Details + +This project will contain two primary technical deliverables. The first of which is a binary merkle tree implementation that operates over a +generic [HashDB](https://github.com/paritytech/trie/tree/master/hash-db). The binary merkle tree implementation will include in-memory storage and +a recorder for recording tree accesses such that storage proofs can be created for inclusion in PoV blocks. The second deliverable will be the +integration of the binary merkle tree into substrate as a child tree. All deliverables of this project will be implemented in rust and will be no_std +compatible such that they can be integrated into substrate core. + +#### Binary Merkle Tree Library + +In a similar fashion to the [Trie implementation](https://github.com/paritytech/trie/tree/master/trie-db) the Tree will be generic over the hasher used. +There will be two DB structs, one for read-only access (TreeDB) and one for read / write access (TreeDBMut). The storage field within the TreeDBMut +struct will be responsible for caching nodes in memory and also storing changes to nodes from inserts. The changes will be committed to the db upon execution of +the commit method. The recorder will be responsible for recording access to tree nodes such that a storage proof can be constructed to include in PoV blocks. + +```rust +pub type DBValue = Vec; + +pub struct TreeDB<'a, H: Hasher> { + db: &'a dyn HashDB, + root: &'a H::Out, + depth: usize, + recorder: Recorder +} + +pub trait Tree { + fn root(&self) -> &H::Out; + + fn depth (&self) -> usize; + + fn get_value(&self, index: usize) -> Result, TreeError>; + + fn get_leaf(&self, index: usize) -> Result, TreeError>; + + fn get_proof(&self, index: usize) -> Result>, TreeError>; +} + +pub struct TreeDBMut<'a, H: Hasher> { + db: &'a mut dyn HashDB, + storage: BTreeMap, + uncommitted: Vec, + root: &'a mut H::Out, + depth: usize, + recorder: Recorder +} + +pub trait TreeMut { + fn root(&mut self) -> &H::Out; + + fn depth(&self) -> uszie; + + fn get_value(&self, index: usize) -> Result, TreeError>; + + fn get_leaf(&self, index: usize) -> Result, TreeError>; + + fn get_proof(&self, index: usize) -> Result>, TreeError>; + + fn insert_value(&mut self, index: usize, value: DBValue) -> Result, TreeError>; + + fn commit(&mut self); +} + +pub struct Recorder { + nodes: Vec +} + +pub trait RecorderT { + fn record(&self, access: H::Out); +} +``` + +#### Binary Merkle Tree Substrate Integration + +The following table specifies the files that will need to be modified in substrate to support the integration of the +binary merkle tree as a child tree. As this is an internal additive change to substrate it will not require +modification of downstream repos. This list represents our current understanding however it may not be comprehensive +and is likely to change as we proceed with the integration. + +| File | +|-----| +|primitives/state-machine/src/trie_backend.rs| +|primitives/state-machine/src/trie_backend_essence.rs| + |primitives/state-machine/src/ext.rs| + |primitives/state-machine/src/overlayed_changes| + |primitives/state-machine/src/backend.rs| + |primitives/state-machine/src/basic.rs| + |primitives/state-machine/src/read_only.rs| + |primitives/storage/src/lib.rs| + |primitives/trie/src/storage_proof.rs| + |primitives/trie/src/recorder.rs| + |primitives/trie/src/cache| + |primitives/io/src/lib.rs| + |primitives/externalities/src/lib.rs| + |primitives/runtime/src/lib.rs| + |primitives/tasks/src/async_externalities.rs| + |client/db/src/lib.rs| + |client/db/src/storage_cache.rs| + |client/api/src/backend.rs| + |client/api/src/in_mem.rs| + |client/api/src/proof_provider.rs| + |client/chain-spec/src/chain_spec.rs| + |client/network/sync/src/state.rs| + |client/network/light/src/light_client_requests/handler.rs| + |client/rpc/src/state/state_full.rs| + |client/service/src/chain_ops/export_raw_state.rs| + |client/service/src/client/client.rs| + |frame/state-trie-migration/src/lib.rs| + |frame/support/src/storage/child.rs| + +##### Runtime Interface + +The runtime will be able to access the binary merkle tree child storage via the following runtime interface. + +```rust +#[runtime_interface] +pub trait BinaryMerkleTreeChildStorage { + fn get_leaf(&self, storage_key: &[u8], index: usize) -> Option>; + + fn get_value(&self, storage_key: &[u8], index: usize) -> Option>; + + fn get_proof(&self, storage_key: &[u8], index: usize) -> Option)>>; + + fn set_value(&mut self, storage_key: &[u8], index: usize, value: &[u8]); + + fn clear(&mut self, storage_key: &[u8], index: usize); + + fn storage_kill(&mut self, storage_key: &[u8], _limit: Option); + + fn root(&mut self, storage_key: &[u8]) -> Vec; +} +``` + +### Ecosystem Fit + +This project will introduce a new storage structure to substrate as a child tree. This will enable any project that builds +with substrate to have the ability to work with binary merkle trees. It will be particularly useful for zero-knowledge projects +that require the usage of a binary merkle tree. The target audience for this project is any team that is developing with substrate. +This project will satisfy the demand for access to binary merkle trees in substrate. As it stands there are no similar projects +in the ecosystem however the demand for binary merkle trees is recognised. + +## Team :busts_in_silhouette: + +### Team members + +- Francesco Risitano - Project Lead / Software Engineer +- Kin Chan (AKA: Simon Chan) - Software Engineer + +### Contact + +- **Contact Name:** Francesco Risitano +- **Contact Email:** francesco.risitano95@gmail.com +- **Website:** N/A + +### Legal Structure + +- **Registered Address:** Dubai Silicon Oasis, DDP, Building A2, Dubai, United Arab Emirates +- **Registered Legal Entity:** ALPHA LABS FZCO + +### Team's experience + +#### Francesco Risitano + +Francesco found his passion for complex systems and programming during his particle physics research at CERN where he developed +a machine learning algorithm concerned with particle identification at the ATLAS detector. He then transitioned to industry where he +worked at a telecommunications company applying machine learning models at scale for broadband network assurance and recommendation engines. +Following this he worked at a consultancy where he was the technical lead responsible for architecting and engineering a highly scalable event streaming solution +for government. In this role he was responsible for managing a technical team of 12 members. He gained significant experience across +enterprise architecture, engineering, devops, testing and project management. He then started contributing to open source blockchain projects and found himself +a part-time (evenings / weekends) role building a data oracle. Following this he transitioned full time to blockchain development where he built reef chain, +an EVM compatible substrate based chain. He is also a Mina genesis founding member and participated in Mina's builders program to develop a POC layer 2 rollup based DEX. His +experience at Mina and REEF has fuelled his desire to bring more zero-knowledge technology to the substrate ecosystem and has now left his role at REEF +to focus on achieving this goal. + +#### Kin Chan + +Kin got his start in programming while modelling acoustic absorbers in MATLAB during his MEng dissertation at university. He then went on to work as a fulltime software engineer +at MirrorWeb, a web archiving startup, where he got his first taste and love for building complex distributed systems. He then moved +onto BJSS, an enterprise consultancy where he was placed on a project to build out the core systems for one of the world's largest online betting platforms and run a Golang bootcamp +alongside to train people how to write highly concurrent and effective code. At present, Kin is working as a senior software engineer at Vonage, a cloud communications provider, +where he is developing a brand new, highly scalable, cloud development platform, which is already being used by some high profile clients. As of late, Kin has redirected his focus +towards blockchain and has been developing DeFi arbitrage bots in his spare time. Over his career, Kin has worked on a wide range of novel solutions to complex problems and is always +looking to solve the next big challenge. + +### Team Code Repos + +- https://github.com/frisitano +- https://github.com/kinluek + +### Team LinkedIn Profiles + +- https://www.linkedin.com/in/francescorisitano/ +- https://www.linkedin.com/in/si-chan-66860610a/ + + +## Development Status :open_book: + +The project has not started yet. We have defined the requirements and designed the solution as described above in this note. + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Total Estimated Duration:** 3.5 +- **Full-Time Equivalent (FTE):** 2 +- **Total Costs:** 25,000 USDT + +### Milestone 1 - Binary Merkle Tree Library + +- **Estimated duration:** 1.5 month +- **FTE:** 2 +- **Costs:** 10,000 USD + +| Number | Deliverable | Specification | +| -----: |----------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 0a. | License | Apache 2.0 / GPLv3 / MIT / Unlicense | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can (for example) spin up one of our Substrate nodes and send test transactions, which will show how the new functionality works. | +| 0c. | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 1. | Binary Mekrle Tree Library | We will create a binary merkle tree library that operates over a HashDB backend and is generic over the hasher. It will implement the interfaces as described above in this note. | + + +### Milestone 2 - Integration of binary merkle tree library into substrate + +- **Estimated Duration:** 2 month +- **FTE:** 2 +- **Costs:** 15,000 USD + +| Number | Deliverable | Specification | +| -----: |------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 0a. | License | Apache 2.0 / GPLv3 / MIT / Unlicense | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can (for example) spin up one of our Substrate nodes and send test transactions, which will show how the new functionality works. | +| 0c. | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 1. | Binary Mekrle Tree Substrate Integration | We will integrate the binary merkle tree library into substrate such that it can be used as a child tree. | + + +## Future Plans + +- We will promote the module to substrate developers via discord, telegram and element. +- We are committed to maintaining the binary merkle tree library. +- We will use the binary merkle tree child tree in future zero-knowledge based projects + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** Web3 Foundation Website From a5a352031fa205e42bd6c69c766f80928972c7d0 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Wed, 28 Sep 2022 09:40:39 +0200 Subject: [PATCH 0165/1872] Update accepted_grant_applications.md Binary merkle tree --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 01ac5d61a2b..f2e56819140 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -546,4 +546,5 @@ | [QSTN](https://qstn.us/) | QSTN | [GitHub](https://github.com/qstnus) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [CESS LAB](https://www.cess.cloud/) | Substats (The framework of lightweight block explorer) | [GitHub](https://github.com/CESSProject) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Polket](https://toearn.fun) | ToEarnFun | [GitHub](https://github.com/polketio/polket-node) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| ALPHA LABS | Binary merkle tree | [GitHub](https://github.com/frisitano) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 4f42b509823a6690144243241b271ed819dffa0b Mon Sep 17 00:00:00 2001 From: "E.P" Date: Wed, 28 Sep 2022 09:41:02 +0200 Subject: [PATCH 0166/1872] Milestone Delivery: Escrow pallet Milestone #1 (Update address) (#1190) * Create recipes.md * Update recipes.md * Update application-template.md * Update application-template.md * Add escrow_pallet.md doc * Update escrow_pallet.md * Small changes * Remove unneeded file * Add Benchmarking to doc * Remove leftover texts * Update address * Update addresss --- applications/escrow_pallet.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/escrow_pallet.md b/applications/escrow_pallet.md index fa24594c771..92718906567 100644 --- a/applications/escrow_pallet.md +++ b/applications/escrow_pallet.md @@ -2,7 +2,7 @@ - **Project Name:** Escrow Pallet - **Team Name:** TwinP -- **Payment Address:** TLQQGTvyCzhqCWp3w8pjVaEQU3uYWajRx1 +- **Payment Address:** 0xd042e53e22e9f941ceba02f4adb9d1b32ef43675 - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 ## Project Overview From 6ffd4fe17f0a903b193115515904752af8a99278 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Thu, 29 Sep 2022 16:17:18 +0200 Subject: [PATCH 0167/1872] Update accepted_grant_applications.md Update limechain Go Runtime --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index f2e56819140..34f17069aea 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -523,7 +523,7 @@ | [Open rollup](https://github.com/openrollup-zk) | Open rollup - MVP - Phase 1 | [GitHub](https://github.com/openrollup-zk) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Veridise](https://veridise.com/) | Vanguard | [GitHub](https://github.com/Veridise/Vanguard) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Karolis Ramanauskas](https://krl.is/) | Generic Sybil-Resistant Faucet | [GitHub](https://github.com/karooolis) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [LimeChain](https://limechain.tech/) | Research feasibility for a Go Runtime | [GitHub](https://github.com/LimeChain) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [LimeChain](https://limechain.tech/) | Research feasibility for a Go Runtime | [GitHub](https://github.com/LimeChain) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Jim Yam](https://github.com/JimYam) | daos | [GitHub](https://github.com/daos-org/daos.git) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Green Lemon](https://github.com/GreenLemonProtocol) | Green Lemon Protocol | [GitHub](https://github.com/GreenLemonProtocol) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Stardust Labs Inc.](https://stardust.finance/) | Integrating ISO-8583 | [GitHub](https://github.com/adit313/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 21781ec1df8826601dd9c4a201275c5c3a2d3f42 Mon Sep 17 00:00:00 2001 From: Hyungsuk Kang Date: Fri, 30 Sep 2022 17:49:59 +0900 Subject: [PATCH 0168/1872] New order (#1160) * add new-order.md * update new_order.md * update new-order.md * Update new-order.md * update application * update application * update application * update application * update new-order.md * update new-order.md * remove milestone 2 * remove using technologies for milestone 2 --- applications/new-order.md | 267 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 267 insertions(+) create mode 100644 applications/new-order.md diff --git a/applications/new-order.md b/applications/new-order.md new file mode 100644 index 00000000000..1c4daa2faa2 --- /dev/null +++ b/applications/new-order.md @@ -0,0 +1,267 @@ +# W3F Grant Proposal + +* **Project Name:** New Order - a full onchain orderbook dex with indexers +* **Team Name:** Standard Protocol +* **USDC Payment Address:** 0xd2234E506862991ADA75f930c6D79B4236e3E265 +* **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 + +## Project Overview :page_facing_up: + + + +### Overview + +This orderbook dex substrate frame and indexer logics focuses on bringing true orderbook runtime with feasible indexer in Polkadot ecosystem other than just UI mockup from Fiverr. +This is clearly a frame and indexer using Subquery with reasons, not investment seeking parachain design. + +### Project Details + +* [Standard Protocol Website](https://standard.tech/) + +### Technologies +1. Rust +2. Substrate Runtime + +### Components + +### new-order + +New order is the substrate module that processes orders in a queue model. + +### Indexer + +Indexer is the middleware in blockchain where it aggregates events from the block and make a database with insights. +It is often used to retrieve an account's status upon interaction with a certain dapp. +Subquery is an indexer middleware that we use to integrate with in this grant. + +### Ecosystem Fit + +:link: **Smart Contract Development Tool**
+ + +### Project Uniqueness +* The world's first fully open-source permissionless orderbook dex runtime with queue model. + +## Reactive Queue + +Unlike other layer 2 orderbook dex which uses + +### Target Audience +* End users who are used to order book exchanges + +### Problem Addressed + +* Why Orderbook? + +After developing dex with [Standard](www.github.com/digitalnativeinc/standard-evm) in Polkadot ecosystem, There is a huge blocker on providing liqudity between polkadot ecosystem assets; **XYK pool economically does not make sense to be made from bottom-up**. + 0. Just to explain DEX in this document, It is an automated market maker between asset x and y keeping its equation x * y = k(k as the variable determining the price between asset on each trade). I see some grant editors are new to this field, so I leave this video link [https://www.youtube.com/watch?v=Af3NxB7r-Ws](https://www.youtube.com/watch?v=Af3NxB7r-Ws) to understand the concept. Many people forget that to make an xyk pool it requires a centralized power-play setting up initial price, and this is something that this grant focuses. + 1. XYK pool relies on the fact that price K can be made from each pair liquidity providers. To choose the price, the liquidity provider with more dominant or liquid asset in an ecosystem take the advantage. Let's say there is a pair between USDC and some new parachain project token $NEW or $DOT and $NEW. It is obvious that $DOT and $USDC liquidity provider take advantage of the $NEW token. + 2. $NEW token has two choices; to fight back by buying $DOT or $USDC, but they are fighting with the liquidity provider in the first place. The other is not to list at all, then this may lead to negotiation on finding the right price on initial pair creation. + 3. While parachain projects are finding the "right" price, pair is not made, and an end user can't even trade assets in polkadot ecosystem, so they will quit using this. + +Hence, orderbook dex is not only needed for the "actual" polkadot user to trade the asset in polkadot ecosystem and take ownership of the market across this multichain ecosystem but also building market from bottom-up organically. + +There are other benefits as well: +- Possibility for perpetual trade(e.g. dy/dx) +- Possibility for MEV bot ecosystem (e.g. [flashbot](https://www.flashbots.net/)) +- Familiar UX + +* Why Parachain? + +For adding smart contract tokens and testing xcm tokens. + +* Why Open Source? + +For keeping it real. Doing honest job. Yes Web3.0, No Web2.0. Audit teams require the project to be open-source anyways so we do it. + +* Reference? + +Kujira team from Cosmos ecosystem already built this without bragging or marketing. Instead of bragging about their 10x multichain future in conferences, they kept their mouth shut and built it. + +[Kujira Fin](https://fin.kujira.app/trade/kujira14hj2tavq8fpesdwxxcu44rty3hh90vhujrvcmstl4zr3txmfvw9sl4e867) + +* Concerns? + +1. A transaction may be finalized more or less than 12 seconds. Improving the block finalization time may be needed, but it is safer than layer 2 with bridge. +2. If indexer from operator shuts down, the UI cannot work. + +## Team :busts_in_silhouette: + +### Team members +(Development & Engineers) + +* [Hyungsuk Kang](https://www.linkedin.com/in/hyungsukkang) - Founder & Head of Development + +### Contact + +* **Contact Name:** Hyungsuk Kang +* **Contact Email:** hyungsuk@standard.tech +* **Website:** [https://standard.tech](https://www.standard.tech) + +### Legal Structure + +Digital Native Foundation.
+3 Fraser Street #05-25 Duo Tower,
+Singapore
+ +### Founders' experiences + +* [Hyungsuk Kang](https://www.linkedin.com/in/hyungsukkang) has experience working in blockchain industry over 3 years and is a contributor to UST restitution group. Being enlightened that with people who are saying DAOs and Governance can bring decentralzation were actually the one who tries to rule the whole system, He is now making a new standard in defi securing self-sovereignty of users' finance in web3.0 with enforceable, immutable financial contract that can keep promise without Governance's interference. + +### Team Code Repos + +* Standard Protocol's team Github: https://github.com/digitalnativeinc + +Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine. + +* [Hyungsuk Kang](https://www.github.com/hskang9) - Founder & Head of Development + +### Team LinkedIn Profiles (if available) + +* [Hyungsuk Kang](https://www.linkedin.com/in/hyungsukkang), Founder + +## Development Status :open_book: +I have fiddled with substrate last year. + +[nxcw](https://github.com/digitalnativeinc/standard-substrate) + +## Development Roadmap :nut_and_bolt: + +### Overview + +* **Full-Time Equivalent (FTE):** 1 +* **Total Costs:** $15000 equivalent + +### Milestone 1 — Implement Runtime module for dex order + +* **Estimated duration:** 10 weeks +* **FTE:** 1 +* **Costs:** $15,000 equivalent USDC + +Goal - Develop new-order pallet and documentation for the pallet + +New order pallet consists of: + +###### Primitives +Order +``` +- order_id: Global order identifier for ticketing +- pair_id: Pair where the order is placed in +- owner: the owner of the Order request +- price: Order price for showing info when called individually +- amount: Requested amount for trade +- order_type: BID or ASK +``` + +Pair +``` +- id: Pair id +- human: Human-readable info for the pair(e.g. BTC-USDT) +- from: Trading from +- to: Trading to +``` + +###### Storages +`Bids`(key1: pair_id, key2: price[in 6 decimals], value: order_id[]): A double hash map for Total bids in a price of an asset +`Asks`(key1: pair_id, key2: price[in 6 decimals], value: order_id[]): A double hash map for Total asks in a price of an asset +`Pairs`(key: pair_id, value: Pair): A hashmap for storing pair information. +`Orders`(key: order_id, value: Option): A hashmap for orders. +`Prices`(key1: pair_id, key2: asset_id, value: price in 6 decimal): A double hash map for market price in new order runtime. +`WhiteListed`(key: pair_id, value: bool): A hash map to store whitelisted pairs + +###### Calls +`add_pair`: a sudo function to add a pair in the orderbook +`remove_pair`: a sudo function to remove a pair in the orderbook +`place_bid`: place bid on the orderbook, if existing orders match with ask, dissolve while going through the ask queue. +`place_ask`: place ask on the orderboook, if existing orders match with bid, dissolve while going through the bid queue. +`cancel_order`: cancel an order submitted from the sender + +###### Events +`BidOrderFulfilled`: an event when an order is fullfilled +`AskOrderFulfilled`: an event when an order is fullfilled +`AskOrderMatched`: an event when an order is matched for certain amount +`BidOrderMatched`: an event when an order is matched for certain amount +`NewBidOrder`: an event when a new bid order is requested in the orderbook +`NewAskOrder`: an event when a new ask order is requested in the orderbook +`CanceledOrder`: an event when an order is canceled +`PairWhitelisted`: an event when an asset pair is whitelisted + +I will build this. + +### Documentation + +Gitbook documentation is not enough to describe interacting with the software in current market. Guides are getting more important as more general people have been exposed to crypto. Polkadot has many tech to build something but coordination of them is poorly done. This section specifies which document to write for sufficient approach for newcomers and new devs. The documentation will add 2 categories, 3 subcategories, and at least 6 pages built with docusaurus framework. + +##### Why Docusauraus? + +Docusauraus supports algolia search with customizable UI components with React. Some of the components include [codehike](https://codehike.org/). + +``` +(Home) + - What is New Order? + - Learn More + - Community + Security + FAQ + + + + (Overview) + Protocol Participants + Tokens + + (Governance) + Proposal Types + Whitelist procedure + + +new-order: new-order pallet description + - Primitives + - Storages + - Calls + - Events +``` + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | I will write this in official [documentation](https://github.com/standardweb3/docs) | +| 0c. | Testing Guide | Test code will be provided in the pallet. | +| 0d. | Docker | Docker can be provided for running this in substrate. | +| 1. | Pallet code | the code repo will be open source with name `new-order` | + +### Documentation + +Gitbook documentation is not enough to describe interacting with the software in current market. Guides are getting more important as more general people have been exposed to crypto. Polkadot has many tech to build something but coordination of them is poorly done. This section specifies which document to write for sufficient approach for newcomers and new devs. The documentation will add 1 category, at least 2 pages. + +``` + +newordercli: A CLI to execute orders with new order +neworder.js: Usage guides with query, execution +``` + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | I will write this in official [documentation](https://github.com/standardweb3/docs) | +| 0c. | Testing Guide | Test code will be written in neworder.js | +| 0d. | Docker | Dockerfile is not needed | +| 1. | Library Repo | The code for the library will be open source for PoC. | +| 2. | CLI Repo | The code for CLI interacting with new order will be open source for PoC. | +| 2. | Article & Video | We will write an **article** that explains the work done as part of the grant, as well as release a video demo of executing newordercli | + +## Future Plans + +* Researching BitMex p2p perpetual system, this may be implemented for next step as funding procedure is clarified. +* Turn LPs from pair liquidity provider to future market fund provider +* Integrate with trading view lightweight chart for building UI +* XCM integration in Rococo +* EVM impl for multichain expansion +* Build Governance for onboarding tokens can be further developed +* Make real UI based on the working system with SubQuery or other indexer +* Get funded so that I can feed my devs + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** +I applied before. From a60cd6f148e5d0d357f169bfe3d60240a837d845 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Fri, 30 Sep 2022 11:28:15 +0200 Subject: [PATCH 0169/1872] Update accepted_grant_applications.md Add New Order --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 34f17069aea..cdfea78198f 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -547,4 +547,4 @@ | [CESS LAB](https://www.cess.cloud/) | Substats (The framework of lightweight block explorer) | [GitHub](https://github.com/CESSProject) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Polket](https://toearn.fun) | ToEarnFun | [GitHub](https://github.com/polketio/polket-node) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | ALPHA LABS | Binary merkle tree | [GitHub](https://github.com/frisitano) |
  • [ ]
|
  • [ ]
|
  • [ ]
| - +| [Standard Protocol](https://standard.tech/) | New Order - a full onchain orderbook dex with indexers | [GitHub](https://github.com/standardweb3) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 6071489e7dd9afc41486700eb10d0b07d3480583 Mon Sep 17 00:00:00 2001 From: Xavier Lau Date: Fri, 30 Sep 2022 17:29:57 +0800 Subject: [PATCH 0170/1872] Application: Subalfred (#1158) * Application: Subalfred Signed-off-by: Xavier Lau * Update Payment * More detailed milestone * Update time cost * Typo * Update estimate cost * Typo * Typo * Additional information * Update milestone timetable Signed-off-by: Xavier Lau --- applications/subalfred.md | 160 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 160 insertions(+) create mode 100644 applications/subalfred.md diff --git a/applications/subalfred.md b/applications/subalfred.md new file mode 100644 index 00000000000..edf6bea89e7 --- /dev/null +++ b/applications/subalfred.md @@ -0,0 +1,160 @@ +# Subalfred +- **Team Name:** hack-ink +- **Payment Address:** 0xccd79b2b77e71292924e85de130bfb1c03d94522 (Ethereum) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 + +## Project Overview :page_facing_up: + +### Overview +`subalfred`'s goal is to become an all-in-one Substrate development toolbox. + +It provides a bunch of tools to make the developers feel more comfortable while playing with Substrate. + +### Project Details +Check the [Subalfred Book](https://subalfred.hack.ink). + +### Ecosystem Fit +- Where and how does your project fit into the ecosystem? + - A CLI tool is written in Rust that Substrate developers can use anywhere. +- Who is your target audience (parachain/dapp/wallet/UI developers, designers, your own user base, some dapp's userbase, yourself)? + - I encourage all the Substrate developers to try this tool. + I believe there must be at least one feature that benefits them. +- What need(s) does your project meet? + - Improve the experience for Substrate developers. + - Speed up the debug/development process. +- Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem? + - Some features are unique and some features are similar to the other projects. + - If so, how is your project different? + - [`subalfred key`](https://subalfred.hack.ink/user/cli/key.html) vs [Subscan format transform tool](https://polkadot.subscan.io/tools/format_transform) + - Can be use offline. + - Use official [ss58-registry](https://github.com/paritytech/ss58-registry) as dependency directly. + - Detect the key type automatically. + - Accept `ParaId(u32)` as input. + - Accept `PalletId([u8; 8])` as input. + - [`subalfred state export`](https://subalfred.hack.ink/user/cli/state.html#export) vs [fork-off-substrate](https://github.com/maxsam4/fork-off-substrate) + - Use Rust instead of JS. No variable size limitation, easily export large chain state. + - Use WS/Rust/Async. Faster, max speed up to 20k pairs per second. + - [`subalfred rpc`](https://subalfred.hack.ink/user/cli/rpc.html) vs `curl` + - More concise syntax. + - If not, are there similar projects in related ecosystems? + - No. + +## Team :busts_in_silhouette: + +### Team members +- Xavier Lau + +### Contact +- **Contact Name:** Xavier Lau +- **Contact Email:** xavier@inv.cafe +- **Website:** https://linktr.ee/aurevoirxavier + +### Legal Structure +Personal. (no legal structure entry) + +### Team's experience +[Xavier Lau](https://github.com/AurevoirXavier) + - Six years of experience in Rust. + - Three years of experience in Substrate. + - Darwinia Network core developer, since 2019. + - Actively at [Substrate StackExchange](https://substrate.stackexchange.com/users/251/aurevoirxavier). + +### Team Code Repos +- https://github.com/hack-ink +- https://github.com/hack-ink/array-bytes +- https://github.com/hack-ink/cloudflare-bypasser +- https://github.com/hack-ink/codewars +- https://github.com/hack-ink/unescaper + +Please also provide the GitHub accounts of all team members. +If they contain no activity, references to projects hosted elsewhere or live are also fine. +- https://github.com/AurevoirXavier + +### Team LinkedIn Profiles (if available) +- https://www.linkedin.com/in/xavier-lau-b0655310a + +## Development Status :open_book: +> [GitHub](https://github.com/hack-ink/subalfred), [Subalfred Book](https://subalfred.hack.ink) + +There are three parts: +- [CLI](https://github.com/hack-ink/subalfred/tree/main/src/bin/subalfred) components. +- [Core libraries](https://github.com/hack-ink/subalfred/tree/main/src/subalfred). +- [Substrate minimal libraries](https://github.com/hack-ink/subalfred/tree/main/substrate-minimal), + some Substrate libraries's re-implementations reduce the unnecessary dependencies as much as possible. + +### Overview +- **Total Estimated Duration:** 8 weeks +- **Full-Time Equivalent (FTE):** 1 FTE +- **Total Costs:** 30,000 USD in Ethereum USDC + +### Milestone 1 — Polish the existing features and add more new features +- **Estimated duration:** 5 weeks +- **FTE:** 1 +- **Costs:** 24,000 USD + +| Number | Deliverable | Specification | +| -----: | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | +| 0a. | License | GPLv3 | +| 0b. | Documentation | I'll document every `pub` function and a basic tutorial that explains how a user interact with Subalfred. | +| 0c. | Testing guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, I will describe how to run these tests. | +| 0d. | Docker | I'll provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 1. | Core: check features | I'll finish the this features, which is use for checking Substrate runtime runtime-benchmarks/std/try-runtime features enable status. | +| 2. | Core: use paritytech/ss58-registry | I'll make PR to paritytech/ss58-registry to support my custom logic, and setup the dependabot to update ss58-registry automatically. | +| 3. | Core, CLI: override runtime code | I'll make it able to override the runtime code while fork-off the chain state. | +| 3. | Core, CLI: rpc | I'll finish the this features, user could use this command to send the RPC call to the Substrate node. | +| 4. | CLI: JSON output | I'll make `key` command provides JSON output. | +| 5. | CLI: stable Rust toolchain | I'll rewrite the subcommand parts in procedure macro to remove the unstable Rust features usage. | +| 6. | CLI: `--at` accept block number | I'll make the `--at` arg accept block number input, instead of a block hash only. Any command with `--at` arg will be updated. | +| 7. | Releases | Linux, macOS, Windows prebuilt binaries, and crates.io release. | + +### Milestone 2 — Add more new features +- **Estimated Duration:** 2 week +- **FTE:** 1 +- **Costs:** 4000 USD + +| Number | Deliverable | Specification | +| -----: | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | +| 0a. | License | GPLv3 | +| 0b. | Documentation | I'll document every `pub` function and a basic tutorial that explains how a user interact with Subalfred. | +| 0c. | Testing guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, I will describe how to run these tests. | +| 0d. | Docker | I'll provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 1. | License | GPLv3. | +| 2. | Core, CLI: track-updates | List the companions that you need to do from substrate/cumulus/frontier/parity-bridges-substrate. | +| 3. | Core, CLI: update-subdeps | Update the substrate/cumulus/frontier/parity-bridges-substrate dependencies in one command. | +| 4. | Releases | Release Linux, macOS, Windows prebuilt binaries on GitHub, and crates.io. | + +### Milestone 3 — Provide checks' GitHub Actions +- **Estimated Duration:** 1 week +- **FTE:** 1 +- **Costs:** 2000 USD + +| Number | Deliverable | Specification | +| -----: | -------------------------------------- | ---------------------------------------------------------------------------------------------- | +| 0a. | License | GPLv3 | +| 0b. | Documentation | I'll provide the inline documentation. | +| 0c. | Testing guide | I'll provide a GitHub Actions setup example and describe how to check the result. | +| 1. | GitHub Actions: check runtime features | I'll provide a GitHub Actions, which could check the runtime features status while developing. | +| 2. | GitHub Actions: check runtime storage | I'll provide a GitHub Actions, which could check the runtime storage changes while developing. | +| 3. | GitHub Actions: check runtime version | I'll provide a GitHub Actions, which could check the runtime version changes while developing. | +| 4. | Release | Release on GitHub. | + +## Future Plans +- Keep connected with the community/parity to provide more useful tools. + +## Additional Information :heavy_plus_sign: +**How did you hear about the Grants Program?** Web3 Foundation Website / Medium / Twitter / Element / Announcement by another team / personal recommendation / etc. +From my team, Darwinia Network. + +As I said, `subalfred`'s goal is to become an all-in-one Substrate development toolbox. +I browsed Substrate's issues and was active on Substrate StackExchange, +and discuss with other developers to know what do they need while developing on Substrate. +Currently, I have already implemented some of them and plan to do more. +So, I hope all these features can be a part of this grant. + +According to your suggestions. +I'll document every public functions, and write unit tests for them. +There are around 30+ features. +Please note this is a part of milestone 1. + +I'd love to convert these milestone to issues on the [repository](https://github.com/hack-ink/subalfred). +It will be much easier to track the status. From f0aa2d858e6e0440f46d093351a95c9fe0e391d7 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Fri, 30 Sep 2022 12:08:11 +0200 Subject: [PATCH 0171/1872] Update accepted_grant_applications.md Add Subalfred --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index cdfea78198f..ba672040d94 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -548,3 +548,4 @@ | [Polket](https://toearn.fun) | ToEarnFun | [GitHub](https://github.com/polketio/polket-node) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | ALPHA LABS | Binary merkle tree | [GitHub](https://github.com/frisitano) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Standard Protocol](https://standard.tech/) | New Order - a full onchain orderbook dex with indexers | [GitHub](https://github.com/standardweb3) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [hack-ink](https://github.com/hack-ink) | Subalfred | [GitHub](https://github.com/hack-ink/subalfred) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From d9640bdb1ea2176cfa86d90530a5e44b5276737f Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Sun, 2 Oct 2022 14:25:08 -0400 Subject: [PATCH 0172/1872] Update accepted_grant_applications.md (#1194) --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index ba672040d94..e20e6881226 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -432,7 +432,7 @@ | Team | Project | Link | Terminated | First Delivery | Completed | :--- | :------ | :--- | :--------: | :------------: | :-------: | -| [Chainify](https://github.com/chainify) | Nolik | [GitHub](https://github.com/chainify) |
  • [ ]
|
  • [x]
|
  • [ ]
| +| [Chainify](https://github.com/chainify) | Nolik | [GitHub](https://github.com/chainify) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Pennsylvania State University](https://www.psu.edu/) | Avoiding Rust Deadlocks via Lifetime Visualization | [GitHub](https://songlh.github.io/) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Anagolay](https://anagolay.network/) | Project Idiyanale | [GitHub](https://github.com/anagolay) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Fennel Labs](https://fennellabs.com/) | Fennel Protocol | [GitHub](https://github.com/fennelLabs) |
  • [ ]
|
  • [x]
|
  • [x]
| From b2430e9ab1a8764f17768b1785755748db011548 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Mon, 3 Oct 2022 13:16:54 -0500 Subject: [PATCH 0173/1872] Ammendment: no fuzzing in wasm-opt-for-rust (#1195) --- applications/wasm-opt-for-rust.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/applications/wasm-opt-for-rust.md b/applications/wasm-opt-for-rust.md index e1acc69364a..ecc0924ae4b 100644 --- a/applications/wasm-opt-for-rust.md +++ b/applications/wasm-opt-for-rust.md @@ -101,7 +101,12 @@ We will also deliver the following: - `cargo-contract`, the ink! build tool - One blog post about the tool and its development, at https://brson.github.io +We will not include the following `wasm-opt` capabilities in the library bindings: +- Fuzzing. `wasm-opt` has multiple options related to fuzz testing the output + module. We are aware of no potential clients for this feature. Including these + fuzzing features requires code duplication in Rust, for additional maintenance + burden and questionable benefit. ### Ecosystem Fit From 0f67338f1d01d621ef7ef5f8f3b3322e7cdf9ea7 Mon Sep 17 00:00:00 2001 From: relation <91399393+relationlabs@users.noreply.github.com> Date: Tue, 4 Oct 2022 14:40:44 +0800 Subject: [PATCH 0174/1872] Revert "Terminate Relation Graph (#1128)" (#1184) This reverts commit 83e1d45b2a741f5b628d018776b1658a388645d3. --- applications/Relation-Graph.md | 1 - 1 file changed, 1 deletion(-) diff --git a/applications/Relation-Graph.md b/applications/Relation-Graph.md index b7866f30ccf..79531b2ab1c 100644 --- a/applications/Relation-Graph.md +++ b/applications/Relation-Graph.md @@ -7,7 +7,6 @@ - **Team Name:** Relationlabs - **Payment Address:** 0x9fE784bD844C6c7eB7a570467937e6005eEd1C4C Ethereum (USDT/DAI) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 -- **Status:** [Terminated](https://github.com/w3f/Grants-Program/pull/928#issuecomment-1219245113) ## Project Overview :page_facing_up: From 8af92475fb42f155fa2878c38f5dec42cf3bf9d4 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 4 Oct 2022 10:09:53 +0200 Subject: [PATCH 0175/1872] Update accepted_grant_applications.md Update Citadel.one --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index e20e6881226..844aab2b7fb 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -248,7 +248,7 @@ | [LimeChain](https://github.com/LimeChain) | Subsembly: Framework for building AssemblyScript Runtimes | [GitHub](https://github.com/LimeChain) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Wificoin](https://wificoin.com/) | PESA: On-ramp/off-ramp to crypto/local currencies for Polkadot | |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [WalletConnect](https://walletconnect.org/) | Open protocol for connecting Wallets to Dapps | [GitHub](https://github.com/walletconnect) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Citadel.one](https://citadel.one/) | Non-custodial Proof-of-Stake platform | |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Citadel.one](https://citadel.one/) | Non-custodial Proof-of-Stake platform | |
  • [ ]
|
  • [x]
|
  • [x]
| | [Geometry Labs](https://geometrylabs.io/) | Load Balanced Endpoints Phase 2 | [GitHub](https://github.com/geometry-labs) |
  • [ ]
|
  • [x]
|
  • [x]
| | [MAP labs](https://www.maplabs.io/) | Map Bridge: Connect Polkadot and other PoW chains | [GitHub](https://github.com/Philasande-map/mapbridge) |
  • [x]
|
  • [ ]
|
  • [ ]
| | [RareLink](http://rarelink.network/) | Dynamic non-fungible token (NFT) Protocol | [GitHub](https://github.com/RareLink) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From efa475cab7b360a82c1f9e3576b51785b94d1f10 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Wed, 5 Oct 2022 10:45:41 +0200 Subject: [PATCH 0176/1872] Update accepted_grant_applications.md --- docs/accepted_grant_applications.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 844aab2b7fb..424f7e54450 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -29,6 +29,7 @@ - [:surfing_woman: Wave 13 - First Quarter 2022](#surfing_woman-wave-13---first-quarter-2022) - [:surfing_woman: Wave 14 - Second Quarter 2022](#surfing_woman-wave-14---second-quarter-2022) - [:surfing_woman: Wave 15 - Third Quarter 2022](#surfing_woman-wave-15---third-quarter-2022) + - [:surfing_woman: Wave 16 - Fourth Quarter 2022](#surfing_woman-wave-16---fourth-quarter-2022) # 2019 @@ -549,3 +550,8 @@ | ALPHA LABS | Binary merkle tree | [GitHub](https://github.com/frisitano) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Standard Protocol](https://standard.tech/) | New Order - a full onchain orderbook dex with indexers | [GitHub](https://github.com/standardweb3) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [hack-ink](https://github.com/hack-ink) | Subalfred | [GitHub](https://github.com/hack-ink/subalfred) |
  • [ ]
|
  • [ ]
|
  • [ ]
| + +## :surfing_woman: Wave 16 - Fourth Quarter 2022 + +| Team | Project | Link | Terminated | First Delivery | Completed +| :--- | :------ | :--- | :--------: | :------------: | :-------: | From 53697f7930fb5a85f3bfc50ec79b17dd30ad284e Mon Sep 17 00:00:00 2001 From: bader y Date: Thu, 6 Oct 2022 07:32:11 -0400 Subject: [PATCH 0177/1872] Minor uke-protocol changes (#1202) --- applications/uke-protocol.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/applications/uke-protocol.md b/applications/uke-protocol.md index b8952f80f35..20958cc9382 100644 --- a/applications/uke-protocol.md +++ b/applications/uke-protocol.md @@ -67,7 +67,7 @@ Below are the summarized languages / tech stack **High Level Architecture** -![](https://media.discordapp.net/attachments/922350668264652810/1019014448243019826/Screenshot_2022-09-12_at_6.38.42_PM.png) +![](https://media.discordapp.net/attachments/922350668264652810/1027258529108721704/Screenshot_2022-10-05_at_12.38.31_PM.png) ***As a general overview, each message will be a signed extrinsic, and each user is essentially merely an account on the blockchain.*** @@ -81,11 +81,14 @@ Below are the summarized languages / tech stack Using Substrate allows for the creation of a custom pallet, which will have two primary functions for this PoC: - - Handle message transmission and conversation storage (via `StorageDoubleMap` for now). + - Handle message transmission and conversation storage (via a few key `StorageMaps` for managing active and ongoing conversations). - - Basic identity mapping (`register()` function to allow for a mapping of `Vec` to `AccountId` for easy lookup). + - Basic identity mapping (`register()` function to allow for a mapping of `BoundedVec` to `AccountId` for easy lookup). + +The messages will be stored and read from the Substrate storage via a common `StorageMap` for the time being. Functionality will be included to retrieve the conversation state without having to load all messages as well. + +In order to identity unique conversations, an ID (`convo_id`) is used to retrieval the correct conversation between two particular users. This id is generated by hashing the sender and recipient addresses to create a unique, yet deterministic way to identity conversations in storage. -For now, the messages will be stored and read from the Substrate storage via a `StorageDoubleMap` with the recipient and sender addresses as keys. For identifying each user, a mapping for cryptographic addresses to more human readable names will also be created within the pallet. It essentially it maps unique, human readable ids to otherwise illegible addresses. @@ -276,4 +279,3 @@ I found it while exploring the Polkadot / Substrate ecosystem for development pu - Previous grants you may have applied for. > I have applied once, and the [grant was terminated](https://github.com/w3f/Grant-Milestone-Delivery/pull/548) due to the code being too similar to another repo. This has been recitifed, and I have embarked on creating a completely original pallet, with any engineering inspirations behind it being cited as needed. - From 69f2cd5a839aa7a5a3c10f32e276eea3f0b4dc8c Mon Sep 17 00:00:00 2001 From: Noc2 Date: Thu, 6 Oct 2022 12:50:38 +0100 Subject: [PATCH 0178/1872] formal guarantees rfp --- ..._Guarantees_for_GRANDPA_Finality_Gadget.md | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 rfps/open/Formal_Guarantees_for_GRANDPA_Finality_Gadget.md diff --git a/rfps/open/Formal_Guarantees_for_GRANDPA_Finality_Gadget.md b/rfps/open/Formal_Guarantees_for_GRANDPA_Finality_Gadget.md new file mode 100644 index 00000000000..7bef788f16a --- /dev/null +++ b/rfps/open/Formal_Guarantees_for_GRANDPA_Finality_Gadget.md @@ -0,0 +1,36 @@ +# Formal Guarantees for GRANDPA Finality Gadget - WIP + +* **Status:** Open +* **Proposer:** [Bhargav Bhatt](https://github.com/bhargavbh), [David Hawig](https://github.com/Noc2) + +## Project Description :page_facing_up: + +Consensus layers are the backbones of blockchains. Any vulnerability in the consensus mechanism can have far reaching consequences on the integrity and security of the whole system. Polkadot’s Relay Chain uses GRANDPA (a deterministic finality gadget) to achieve consensus in the network. + +This proposal aims to provide formal guarantees of GRANDPA’s correctness and security by modeling the consensus mechanism and verifying it against formal specifications. We expect this exercise would lead to better implementations, since writing formal specs exposes implicit assumptions. Furthermore, developers can identify invariants to guide implementation, and use counterexamples to produce tests that expose bugs. + +We are open to any reasonable formal methods approach that rigorously proves the correctness of GRANDPA’s claims of validity, finality and liveness. Suggested list of techniques include: +- Model-checking (in TLA+ Apalache, Ironfleet, IVY) +- interactive theorem proving (in Isabelle/HOL, Coq, verdi) +- Any other temporal property verification tool for distributed systems + +We envision the project to prove both safety and liveness properties of GRANDPA which interacts with a Block Production mechanism (like BABE or Sassafras) by assuming an abstract interface. + +## Deliverables + +The structure of the grant and the milestones depends highly on the project itself. It’s therefore up to the applying team to come up with a milestone and delivery structure. + +The deliverables listed below are just an initial draft, assuming the project uses the approach of Modelcheking in TLA+ and can be changed. + +| Number | Deliverable | Specification | +| ------------- | ------------- | ------------- | +| 0a. | License | Apache 2.0 / MIT / Unlicense | +| 0b. | Documentation | A document describing the design decisions in the modeling process, including justification for abstractions and assumptions (e.g. on the network model, latency, behavior of validators, nature of faults) w.r.t to protocol in the Paper and Spec. In-line comments in the TLA+/ PlusCal models that provide a clear mapping to the feature/property. | + 0c. | Testing Guide | Instructions to set up the required environment to run the analysis, preferably a docker image with all the tools pre-installed. | +| 0d. | Article | High-level document summarizing the results of the verification efforts as well as a final presentation for a broader audience that summarizes the key take-aways from the verification. | +| 1 | Proof | Models and specs in TLA+ that adhere to protocol implementations with reasonable abstraction gaps. As a stepping stone, the block production mechanism could be instantiated with BABE. | +| 2 | Proof | Formalize the validity, finality and liveness of GRANDPA as temporal properties in TLA+. | +| 3 | Engagements | Engage with the Web3 research team via regular meetings to refine the models and specs. For eg., clarify any assume/ rely reasoning made in the protocols. + | + + From 3cf700b881d5c929364a93cc1a8896089693c465 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Thu, 6 Oct 2022 13:51:32 +0200 Subject: [PATCH 0179/1872] Rename Formal_Guarantees_for_GRANDPA_Finality_Gadget.md to formal_guarantees_for_grandpa.md --- ...RANDPA_Finality_Gadget.md => formal_guarantees_for_grandpa.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename rfps/open/{Formal_Guarantees_for_GRANDPA_Finality_Gadget.md => formal_guarantees_for_grandpa.md} (100%) diff --git a/rfps/open/Formal_Guarantees_for_GRANDPA_Finality_Gadget.md b/rfps/open/formal_guarantees_for_grandpa.md similarity index 100% rename from rfps/open/Formal_Guarantees_for_GRANDPA_Finality_Gadget.md rename to rfps/open/formal_guarantees_for_grandpa.md From b03ba45c31ec5c42d61b6433ee8e6eaf9ed14dd6 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Thu, 6 Oct 2022 13:51:59 +0200 Subject: [PATCH 0180/1872] Update formal_guarantees_for_grandpa.md --- rfps/open/formal_guarantees_for_grandpa.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/rfps/open/formal_guarantees_for_grandpa.md b/rfps/open/formal_guarantees_for_grandpa.md index 7bef788f16a..540e603485f 100644 --- a/rfps/open/formal_guarantees_for_grandpa.md +++ b/rfps/open/formal_guarantees_for_grandpa.md @@ -30,7 +30,6 @@ The deliverables listed below are just an initial draft, assuming the project us | 0d. | Article | High-level document summarizing the results of the verification efforts as well as a final presentation for a broader audience that summarizes the key take-aways from the verification. | | 1 | Proof | Models and specs in TLA+ that adhere to protocol implementations with reasonable abstraction gaps. As a stepping stone, the block production mechanism could be instantiated with BABE. | | 2 | Proof | Formalize the validity, finality and liveness of GRANDPA as temporal properties in TLA+. | -| 3 | Engagements | Engage with the Web3 research team via regular meetings to refine the models and specs. For eg., clarify any assume/ rely reasoning made in the protocols. - | +| 3 | Engagements | Engage with the Web3 research team via regular meetings to refine the models and specs. For eg., clarify any assume/ rely reasoning made in the protocols.| From 4dfcaf04c37aa0d87fb1221de7a8f6e3ca8f0e51 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Fri, 7 Oct 2022 09:49:15 +0200 Subject: [PATCH 0181/1872] Update accepted_grant_applications.md --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 424f7e54450..36974bfbefb 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -519,7 +519,7 @@ | [B-Datagray](https://www.b-datagray.com/) | Datagen Project | [GitHub](https://github.com/Datagen-Project) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Colorful Notion](https://polkaholic.io/#chains) | Polkaholic.io's Multi-Chain Substrate Block Explorer | [GitHub](https://github.com/colorfulnotion/polkaholic/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Common Orbit LLC](https://brson.github.io) | `wasm-opt` for Rust | [GitHub](https://github.com/brson/wasm-opt-rs) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Blockcoders](https://blockcoders.io/) | Ink Explorer | [GitHub](https://github.com/blockcoders) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Blockcoders](https://blockcoders.io/) | Ink Explorer | [GitHub](https://github.com/blockcoders) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Equilibrium](https://equilibrium.co/) | Polkadot Light Client in C++ | [GitHub](https://github.com/eqlabs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Open rollup](https://github.com/openrollup-zk) | Open rollup - MVP - Phase 1 | [GitHub](https://github.com/openrollup-zk) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Veridise](https://veridise.com/) | Vanguard | [GitHub](https://github.com/Veridise/Vanguard) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 482fbf487df39f393aaac7e16a71c2a4bdbccc36 Mon Sep 17 00:00:00 2001 From: bhargavbh <40268131+bhargavbh@users.noreply.github.com> Date: Fri, 7 Oct 2022 11:45:06 +0200 Subject: [PATCH 0182/1872] tuned deliverables (#1206) * tuned deliverables * addressed david's comment on deliverables --- rfps/open/formal_guarantees_for_grandpa.md | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/rfps/open/formal_guarantees_for_grandpa.md b/rfps/open/formal_guarantees_for_grandpa.md index 540e603485f..9e9d48d16f0 100644 --- a/rfps/open/formal_guarantees_for_grandpa.md +++ b/rfps/open/formal_guarantees_for_grandpa.md @@ -1,11 +1,10 @@ # Formal Guarantees for GRANDPA Finality Gadget - WIP - * **Status:** Open * **Proposer:** [Bhargav Bhatt](https://github.com/bhargavbh), [David Hawig](https://github.com/Noc2) ## Project Description :page_facing_up: -Consensus layers are the backbones of blockchains. Any vulnerability in the consensus mechanism can have far reaching consequences on the integrity and security of the whole system. Polkadot’s Relay Chain uses GRANDPA (a deterministic finality gadget) to achieve consensus in the network. +Consensus layers are the backbones of blockchains. Any vulnerability in the consensus mechanism can have far reaching consequences on the integrity and security of the whole system. Polkadot’s Relay Chain uses [GRANDPA](https://research.web3.foundation/en/latest/polkadot/finality.html) (a deterministic finality gadget) to achieve consensus in the network. This proposal aims to provide formal guarantees of GRANDPA’s correctness and security by modeling the consensus mechanism and verifying it against formal specifications. We expect this exercise would lead to better implementations, since writing formal specs exposes implicit assumptions. Furthermore, developers can identify invariants to guide implementation, and use counterexamples to produce tests that expose bugs. @@ -14,22 +13,21 @@ We are open to any reasonable formal methods approach that rigorously proves the - interactive theorem proving (in Isabelle/HOL, Coq, verdi) - Any other temporal property verification tool for distributed systems -We envision the project to prove both safety and liveness properties of GRANDPA which interacts with a Block Production mechanism (like BABE or Sassafras) by assuming an abstract interface. +We envision the project to prove both safety and liveness properties of GRANDPA which interacts with a Block Production mechanism (like [BABE](https://research.web3.foundation/en/latest/polkadot/block-production/Babe.html) or [Sassafras](https://research.web3.foundation/en/latest/polkadot/block-production/SASSAFRAS.html)) by assuming an abstract interface. ## Deliverables The structure of the grant and the milestones depends highly on the project itself. It’s therefore up to the applying team to come up with a milestone and delivery structure. -The deliverables listed below are just an initial draft, assuming the project uses the approach of Modelcheking in TLA+ and can be changed. +The deliverables listed below are just an initial draft, assuming the project uses the approach of Modelcheking in TLA+ and can be changed. Proof of correctness can be delivered in stages. Verification of safety properties is mandatory and liveness properties is an optional objective. | Number | Deliverable | Specification | | ------------- | ------------- | ------------- | | 0a. | License | Apache 2.0 / MIT / Unlicense | | 0b. | Documentation | A document describing the design decisions in the modeling process, including justification for abstractions and assumptions (e.g. on the network model, latency, behavior of validators, nature of faults) w.r.t to protocol in the Paper and Spec. In-line comments in the TLA+/ PlusCal models that provide a clear mapping to the feature/property. | 0c. | Testing Guide | Instructions to set up the required environment to run the analysis, preferably a docker image with all the tools pre-installed. | -| 0d. | Article | High-level document summarizing the results of the verification efforts as well as a final presentation for a broader audience that summarizes the key take-aways from the verification. | -| 1 | Proof | Models and specs in TLA+ that adhere to protocol implementations with reasonable abstraction gaps. As a stepping stone, the block production mechanism could be instantiated with BABE. | -| 2 | Proof | Formalize the validity, finality and liveness of GRANDPA as temporal properties in TLA+. | -| 3 | Engagements | Engage with the Web3 research team via regular meetings to refine the models and specs. For eg., clarify any assume/ rely reasoning made in the protocols.| - +| 0d. | Article | High-level document summarizing the results of the verification efforts as well as a final presentation for a broader audience that summarizes the key take-aways. | +| 1 | Proof Artifact| Models and specs in TLA+ that adhere to protocol implementations with reasonable abstraction gaps. As a stepping stone, the block production mechanism could be instantiated with BABE. | +| 2 | Proof Artifact| Formalize the validity, finality and liveness of GRANDPA as temporal properties in TLA+. | +| 3 | Engagements | Engage with the Web3 research team via regular meetings to refine the models and specs. For eg., clarify any assume/ rely reasoning made in the protocols. Engage with Web3 team to determine if detected bugs's are spurious.| From dc6d299ec8d30da84deaeaca67d214efd59bab46 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Fri, 7 Oct 2022 11:48:14 +0200 Subject: [PATCH 0183/1872] Update README.md Add formal_guarantees_for_grandpa.md --- rfps/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/rfps/README.md b/rfps/README.md index f708ecd2e9b..98a8775a80e 100644 --- a/rfps/README.md +++ b/rfps/README.md @@ -29,6 +29,7 @@ If you find an open RFP here that you think you can address, feel free to [submi | [candle-auction.md](./implemented/candle-auction.md) | :red_circle: | 02.02.2022 | | [crowdloan_front_end_template.md](./open/crowdloan_front_end_template.md) | :green_circle: | 09.08.2022 | | [epassport-zk-validation.md](./open/epassport-zk-validation.md) | :green_circle: | 29.11.2021 | +| [formal_guarantees_for_grandpa.md](./open/formal_guarantees_for_grandpa.md) | :green_circle: | 07.10.2022 | | [identity-directory.md](./under_development/identity-directory.md) | :yellow_circle: | 30.05.2022 | | [implementation-benchmarking.md](./open/implementation-benchmarking.md) | :green_circle: | 20.07.2021 | | [ink!_smart_contract_block_explorer.md](./under_development/ink!_smart_contract_block_explorer.md) | :yellow_circle: | 05.07.2021 | From daf281c05c6a05a0da144e51650ac81d4a4d79d5 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Fri, 7 Oct 2022 11:49:41 +0200 Subject: [PATCH 0184/1872] Update formal_guarantees_for_grandpa.md --- rfps/open/formal_guarantees_for_grandpa.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rfps/open/formal_guarantees_for_grandpa.md b/rfps/open/formal_guarantees_for_grandpa.md index 9e9d48d16f0..dce19cb08b7 100644 --- a/rfps/open/formal_guarantees_for_grandpa.md +++ b/rfps/open/formal_guarantees_for_grandpa.md @@ -1,4 +1,4 @@ -# Formal Guarantees for GRANDPA Finality Gadget - WIP +# Formal Guarantees for GRANDPA Finality Gadget * **Status:** Open * **Proposer:** [Bhargav Bhatt](https://github.com/bhargavbh), [David Hawig](https://github.com/Noc2) From e9b952b9bc8a679e2a8945f3ec6010a6f5c0f919 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Mon, 10 Oct 2022 15:10:38 +0100 Subject: [PATCH 0185/1872] Update application_accepted.yml (#1208) Update to newest grant parser version --- .github/workflows/application_accepted.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/application_accepted.yml b/.github/workflows/application_accepted.yml index 9c516a45013..8d836abce2e 100644 --- a/.github/workflows/application_accepted.yml +++ b/.github/workflows/application_accepted.yml @@ -47,7 +47,7 @@ jobs: - name: Parse application file if: ${{ !env.ACT }} id: grant_parser - uses: w3f/parse-grant-application-action@v1 + uses: w3f/parse-grant-application-action@v1.2 with: path: "${{ github.workspace }}/${{ needs.get_filename.outputs.filename }}" From 26225bb5783db3dc64768adab7c1705744bfc3a1 Mon Sep 17 00:00:00 2001 From: Hyungsuk Kang Date: Mon, 10 Oct 2022 23:11:45 +0900 Subject: [PATCH 0186/1872] Change github organization id from digitanativeinc to standardweb3 (#1207) * Change digitanativeinc to standardweb3 * Update accepted_grant_applications.md --- docs/accepted_grant_applications.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 36974bfbefb..158c4529bc1 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -314,7 +314,7 @@ | [Ajuna](https://ajuna.io/) | Substrate .NET API | [GitHub](https://github.com/dotmog/SubstrateNetApi) |
  • [ ]
|
  • [x]
|
  • [x]
| | [NewOmega](https://github.com/WiktorStarczewski/newomega.trinity ) | A blockchain game that cannot be shut down | [GitHub](https://github.com/WiktorStarczewski/newomega.trinity ) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Bright Inventions](https://brightinventions.pl/) | Treasury Web application| [GitHub](https://github.com/bright/bright-tresury) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Standard protocol](https://github.com/digitalnativeinc/standard-substrate) | A collateralized algorithmic stablecoin protocol for synthetic assets | [GitHub](https://github.com/digitalnativeinc/standard-substrate) |
  • [ ]
|
  • [x]
|
  • [ ]
| +| [Standard protocol](https://github.com/standardweb3/standard-substrate) | A collateralized algorithmic stablecoin protocol for synthetic assets | [GitHub](https://github.com/standardweb3/standard-substrate) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Skye Kiwi](https://skye.kiwi/) | SkyePass: A decentralized, open source password manager | [GitHub](https://github.com/skyekiwi) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [RidOne Technologies](https://github.com/RidOne-technologies) | Polkadot UI Web + Angular Identicon | [GitHub](https://github.com/RidOne-technologies) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Zeropool](https://zeropool.network/) | Private transactions on Polkadot Phase 2 | [GitHub](https://github.com/zeropoolnetwork) |
  • [ ]
|
  • [ ]
|
  • [ ]
| @@ -515,7 +515,7 @@ | [Polkadot js plus](http://polkadotjs.plus/) | Polkadot js plus / Social Recovery Wallet | [GitHub](https://github.com/Nick-1979/polkadot-Js-Plus-extension/wiki) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Lee](https://github.com/rust-0x0) | Hex Space Social Graph | [GitHub](https://github.com/rust-0x0) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Liberland LLC](https://liberland.org/en/) | Liberland Pallets | [GitHub](https://github.com/liberland/liberland_substrate) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Standard Protocol](https://standard.tech/) | Signac - a monorepo plugin for developing multiple Parity ink! smart contracts | [GitHub](https://github.com/digitalnativeinc) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Standard Protocol](https://standard.tech/) | Signac - a monorepo plugin for developing multiple Parity ink! smart contracts | [GitHub](https://github.com/standardweb3/signac) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [B-Datagray](https://www.b-datagray.com/) | Datagen Project | [GitHub](https://github.com/Datagen-Project) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Colorful Notion](https://polkaholic.io/#chains) | Polkaholic.io's Multi-Chain Substrate Block Explorer | [GitHub](https://github.com/colorfulnotion/polkaholic/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Common Orbit LLC](https://brson.github.io) | `wasm-opt` for Rust | [GitHub](https://github.com/brson/wasm-opt-rs) |
  • [ ]
|
  • [x]
|
  • [ ]
| From 7fa29ea1f6163b5279f00ff9100d771f731a2c2d Mon Sep 17 00:00:00 2001 From: arctic-ash <91743348+arctic-ash@users.noreply.github.com> Date: Tue, 11 Oct 2022 14:44:33 +0300 Subject: [PATCH 0187/1872] DotPulse application (#1186) * Create DotPulse.md * Update DotPulse.md * Update DotPulse.md * Fix contributors' GitHub links * Revert "Fix contributors' GitHub links" This reverts commit 2ab1bb70008504812a8bec7bab8e22884d74e819. * Revert "Revert "Fix contributors' GitHub links"" This reverts commit ff86eda240224029ca1deb67a94611447bc3fe91. * Add 0e article --- applications/DotPulse.md | 166 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 166 insertions(+) create mode 100644 applications/DotPulse.md diff --git a/applications/DotPulse.md b/applications/DotPulse.md new file mode 100644 index 00000000000..8e88c06fd9f --- /dev/null +++ b/applications/DotPulse.md @@ -0,0 +1,166 @@ +# W3F Open Grant Proposal + +- **Project Name:** DotPulse +- **Team Name:** CrossChain Labs +- **Payment Address:** 0xC289B81a8e5f8F8d691b4Cf1DBc16A7107B630e3 (USDC) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 3 + +## Project Overview :page_facing_up: + +### Overview + +Polkadot has increasingly grown the open source developer ecosystem. But there is currently no way to get an activity overview and easily track the development among different Polkadot organisations on Github, understand what is their status, track the contributions made by developers and get an idea on how the repositories evolve. Is really hard to understand how the Polkadot ecosystem is progressing since the data is scattered all over GitHub, with contributors, commits, issues, repositories and PRs data. + +The solution that CrossChain Labs presents is going to address the problems described above and will offer clarity on the open source Polkadot’s developer ecosystem. This will be done by scraping the data related to Polkadot’s organisations on GitHub and exposing it in a nicely designed dashboard that allows tracking the number of commits, repositories, contributors, PRs, the top contributors of the month, the evolution of commits and active contributors for each month over the last year and monitoring the recent commits that are being done in the various Polkadot organisations. + +### Project Details + +Deliverables: +- GitHub Scraper that will collect all the required data from GitHub +- DotPulse APIs that will serve to get the data from the scraper and interact with the DotPulse dashboard +- DotPulse Dashboard that will include: + - the statistics top section with the overall number of commits, repositories, contributors and PRs + - contributors of the month + - commits graph with info regarding the last 12 months + - issues graph that shows the number of open and closed issues together with their total + - graph of active contributors for each month over the last year + - the recent commits section that shows the activity of the ecosystem over the last 30 days, with clickable links to open a commit, its repository or the developer's profile on GitHub + +Dashboard Overview + +DotPulse + +### Ecosystem Fit + +The DotPulse project will enable all the interested parties to track the development among different Polkadot organisations on Github, to follow the number of commits, repositories, contributors, PRs, the top contributors of the month, the evolution of commits and active contributors for each month over the last year and monitor the recent commits that are being done in the various Polkadot organisations. + +There are many benefits of getting the DotPulse project up and running: + - it offers a clear overview on the open source development that is being done across the various Polkadot organizations, by having all the required data aggregated in one place + - acknowledges the contributors of the month + - displays the active contributors for each month over the last year + - shows the evolution of the number of commits made on GitHub by developers throughout the entire Polkadot ecosystem + - outlines the recent commits + +## Team :busts_in_silhouette: + +### Team members + + - Andreea - Team Leader + - Cristina - Full Stack Developer (JavaScript, React) + - Catalin - Full Stack Developer (JavaScript, React) + - Florin - UI/UX Designer (Sketch, Figma) + +### Contact + +- **Contact Name:** Andreea Stefan +- **Contact Email:** andreea.stefan@crosschainlabs.tech +- **Website:** https://www.crosschainlabs.tech/ + +### Legal Structure + +- **Registered Address:** Oaspetilor Boulevard, 15, Bucharest, Romania, #013865 +- **Registered Legal Entity:** CrossChain Labs SRL + +### Team's experience + +We’re CrossChain Labs, a team of of designer and software developers with hands-on experience on blockchain technology and development of decentralised applications, with previous experience as ConsenSys employees. Some of the latest dev-grants were for projects from Filecoin (https://filmarket.io/) and NEAR protocol (NEAR registrar, Audit Registry, near.link, Developer Dashboard) with tech stack: IPFS, Arweave, rust, react, go and javascript. +We're creative, experienced, responsible, organised and do our best to make high quality work and bring ideas to life. + +### Team Code Repos + +- https://github.com/CrossChainLabs +- https://github.com/CrossChainLabs/near-registrar +- https://github.com/CrossChainLabs/audit-registry +- https://github.com/CrossChainLabs/near-dns +- https://github.com/CrossChainLabs/near-api-go +- https://github.com/CrossChainLabs/coredns-near +- https://github.com/CrossChainLabs/near-link +- https://github.com/CrossChainLabs/filmarket-contract + +Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine. + +- https://github.com/yellow-cube +- https://github.com/arctic-ash +- https://github.com/aliasccl + +### Team LinkedIn Profiles (if available) + +- https://www.linkedin.com/in/andreea-stefan-66740b20/ +- https://www.linkedin.com/in/cristina-varteniuc-6b3121224/ +- https://www.linkedin.com/in/catalin-vlad-48b828229/ +- https://ro.linkedin.com/in/florin-gradinaru-73891bb + +## Development Status :open_book: + +Since Polkadot has increasingly grown the open source developer ecosystem, there is a need to get an activity overview and easily track the development among different Polkadot organisations on Github, understand what is their status, track the contributions made by developers and get an idea on how the repositories evolve. Is really hard to understand how the Polkadot ecosystem is progressing since the data is scattered all over GitHub, with contributors, commits, issues, repositories and PRs data. + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Total Estimated Duration:** 8 weeks +- **Full-Time Equivalent (FTE):** 3 FTE, 1 PTE +- **Total Costs:** 42,000 USD + +### Milestone 1 + +- **Estimated duration:** 4 weeks +- **FTE:** 3.5 +- **Costs:** 20,500 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | Apache 2.0 / MIT | +| 0b. | Documentation | We will provide both documentation of the code and a basic video tutorial that explains how a user can easily use DotPulse app | +| 0c. | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Docker | We will provide a Dockerfile that can be used to test all the functionality delivered with this milestone. | +| 1. | Implement Github scraper functionality | Periodically update the list of repositories that are being part of the Polkadot organizations on GitHub | +| 2. | Implement Github scraper functionality | Calculate the total number of commits, repositories, contributors and PRs from the entire Polkadot ecosystem | +| 3. | Implement Github scraper functionality | Get the contributors of the month based on the number of commits | +| 4. | Implement Github scraper functionality | Calculate the total number of commits across all the repositories for each month over the last year | +| 5. | Implement Github scraper functionality | Collect the total number of issues that are being opened or closed at the moment | +| 6. | Implement Github scraper functionality | Calculate the number of active contributors for each month over the last year | +| 7. | Implement Github scraper functionality | Collect the list of recent commits across all the Polkadot's Github repositories from the last 30 days | +| 8. | Finalize the UX | With all its design elements +| 9. | Implement the DotPulse APIs required by frontend | Statistics API that returns the overall number of commits, repositories, contributors, PRs | +| 10. | Implement the DotPulse APIs required by frontend | Contributors API that returns the list of contributors of the month based on the number of commits over the last month | +| 11. | Implement the DotPulse APIs required by frontend | Issues APIs that return the total number of issues, the number of closed and open issues | +| 12. | Implement the DotPulse APIs required by frontend | Commits API that returns the total number of commits per month + +### Milestone 2 + +- **Estimated duration:** 4 weeks +- **FTE:** 3.5 +- **Costs:** 21,500 USD, +- NOTE: The M2 calculation includes the cloud infrastructure cost estimated at $1,000 + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | Apache 2.0 / MIT | +| 0b. | Documentation | We will provide both documentation of the code and a basic video tutorial that explains how a user can easily use DotPulse app | +| 0c. | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Docker | We will provide a Dockerfile that can be used to test all the functionality delivered with this milestone. | +| 0e. | Article | We will publish an article that explains what was achieved as part of the grant and how users can benefit the most from DotPulse functionalities. | +| 1. | Implement the DotPulse APIs required by frontend | Active contributors API that returns the number of active developers for each month over the last year | +| 2. | Implement the DotPulse APIs required by frontend | Recent commits API that returns the list of recent commits across all Polkadot repositories over the last 30 days | +| 3. | Build the DotPulse dashboard | Display the statistics top section with the overall number of commits, repositories, contributors and PRs | +| 4. | Build the DotPulse dashboard | Show the contributors of the month | +| 5. | Build the DotPulse dashboard | Commits graph with info regarding the last 12 months | +| 6. | Build the DotPulse dashboard | Issues graph that shows the number of open and closed issues together with their total | +| 7. | Build the DotPulse dashboard | Active contributors graph | +| 8. | Build the DotPulse dashboard | The recent commits section that shows the activity of the ecosystem over the last 30 days, with clickable links to open a commit, its repository or the developer's profile on GitHub | +| 9. | Prepare the final adjustments | Create the production infrastructure on Google Cloud | +| 10. | Prepare the final adjustments | Deploy dotpulse.io webapp | +| 11. | Prepare the final adjustments | Run the final tests | +| 12. | Prepare the final adjustments | Public release + +## Future Plans + +To drive adoption of the DotPulse platform, CrossChain Labs will: +- create a YouTube video tutorial showcasing the DotPulse functionalities and usage +- distribute it via Polkadot Discord channels +- add Google Analytics to track users engagement in order to adapt and improve accordingly + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** Web3 Foundation Website / Friends & Colleagues From b397b370e4b0569f4bf7943985dc3a577735f485 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 11 Oct 2022 13:46:09 +0200 Subject: [PATCH 0188/1872] Update accepted_grant_applications.md Add DotPulse --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 158c4529bc1..64b1d864c55 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -555,3 +555,4 @@ | Team | Project | Link | Terminated | First Delivery | Completed | :--- | :------ | :--- | :--------: | :------------: | :-------: | +| [CrossChain Labs](https://github.com/CrossChainLabs) | DotPulse | [GitHub](https://github.com/CrossChainLabs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From e0b805b94810b5ad337f38dcdebdd04d778f6068 Mon Sep 17 00:00:00 2001 From: Jett Hays Date: Tue, 11 Oct 2022 08:22:45 -0400 Subject: [PATCH 0189/1872] DistributedKeyManagement.md (#1200) * Create DistributedKeyManagement.md * Update DistributedKeyManagement.md --- docs/DistributedKeyManagement.md | 156 +++++++++++++++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100644 docs/DistributedKeyManagement.md diff --git a/docs/DistributedKeyManagement.md b/docs/DistributedKeyManagement.md new file mode 100644 index 00000000000..dbbb9128c8d --- /dev/null +++ b/docs/DistributedKeyManagement.md @@ -0,0 +1,156 @@ +# Distributed Key Management + + +- **Team Name:** Jett Hays (Individual) +- **Payment Address:** 0x33644e4D6bb589854fbb906276147Afd7de86E09 (ERC-20 USDC) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 + + +## Project Overview :page_facing_up: + + +### Overview + + +This project will explore the security and applications of using secret sharing to distribute wallet ownership. + +Public key cryptography has enabled encrypted communication and global computing protocols like Polkadot. +But managing keys is hard. Existing noncustodial key management solutions require memorizing long mnemonic phrases, using network specific smart contracts, +or purchasing complicated hardware wallets. These solutions are insufficient for the majority of users who are looking for a simple way to manage private keys. +This grant will support research on a distributed key management system and an open source reference implementation. +If successful, this project will help make Polkadot hot wallets more secure and simplify online ownership. +With the proposed system, wallets could implement 2fa and authenticate with their existing Google or Apple account. + +I believe wallets are the connection point between users and the decentralized web. Making this connection point accessible and secure is incredibly exciting and drives my interest in developing this project. + +### Project Details + +This is a research project focused on distributed key management. The basic idea involves sharing a secret– in this case, a BIP32 seed phrase– between a client and remote servers. When the private key is needed, the shares are reassembled on the client and used within a standard key manager. The local key manager can then be used to publish transactions, encrypt data, validate identity, etc. I have already implemented a version of this idea within the open source Kryptik wallet. However, more research is required to answer essential security questions (discussed in the project timeline) and provide a common reference implementation. A skeleton of the distributed key management system, as implemented by the Kryptik wallet, is described below. + +##### Client Seedloop + +Wallets are derived from a single parent key. This parent key is used as a seed to generate a child key for each blockchain network, in accordance with the BIP 32 specification for hierarchical deterministic wallets. Child keys may produce an array of addresses and have custom methods depending on the network type. This cluster of keyrings is stored on a single seed loop object that contains the parent key. The seedloop can be encrypted with a standard password by the user at any point in time. + +##### Local Storage + +When a wallet is created, the wallet object is serialized, encrypted, and stored in the browser’s local storage. The random encryption secret is then split with shamir secret sharing into two shares. One share is held locally and one share is sent to the database. When a new user session begins, the service retrieves the database share and combines it locally into the original encryption secret. The wallet can then be decrypted, deserialized, and made available for use. This arrangement results in a two-of-two security scheme, where an attacker must compromise both systems to obtain a user’s private seed. + +##### Authentication +Kryptik uses a decentralized authentication provider to generate a user identifier which is passed to the user through a ‘magic’ link sent via email. The ID is then exchanged with the database for an access token and the user session begins. + +##### Conclusion +This system has worked well during public testing. However, improvements must be made to generalize beyond a 2 of 2 system– this has potential implications for social recovery– and research must be conducted to understand the security implications of distributed key management as described above. This project will accomplish both of these goals in addition to providing a common reference implementation. + + +### Ecosystem Fit + +Secure and usable key management is an open issue. This project will improve the security of hot wallets– through encryption, 2fa, and distributed secret sharing– and provide users with a simple key management flow: just authenticate like you would for any other app! + +The initial research will be used to improve the distributed key management implementation currently used by the Kryptik wallet. However, the research, code, and documentation are designed for the broader developer community to use in their own app that supports Polkadat or Kusama. + +## Team :busts_in_silhouette: + +### Team members + +Leader: Jett Hays +Advisor: Nicolas Christin + +### Contact + +- **Contact Name:** Jett Hays +- **Contact Email:** jehays@andrew.cmu.edu +- **Website:** [jetthays.com](https://jetthays.com/) + +### Legal Structure + +Individual / Sole Proprietor + +### Team's experience + +Jett Hays is the President of the Carnegie Mellon blockchain club where he helps members build and understand the decentralized future. Previous projects have included a open source key management package[https://github.com/KryptikApp/kryptik-seedloop] and a (multichain web wallet)[https://www.kryptik.app/]. Both projects have received support from Carnegie Mellon and multiple blockchain foundations. + + +### Team Code Repos + +- https://github.com/KryptikApp +- https://github.com/KryptikApp/kryptikwebapp +- https://github.com/KryptikApp/kryptik-seedloop + +- https://github.com/jettblu + +### Team LinkedIn Profiles (if available) + +- https://www.linkedin.com/in/jett-hays-491b541b7/ + +## Development Status :open_book: + +The idea of a distributed key manager came to me during a class at Carnegie Mellon on shamir secret sharing. After coming up with a rough interface, I applied for a small undergraduate research grant from CMU, with Professor Nicolas Christin agreeing to be my advisor. +This research led me to create the open source Kryptik wallet, whcih I have been working on for the past year. A short demo of the wallet can be found via [this link](https://vimeo.com/745609041). This wallet uses a simple version of the distributed key management system I described above. + +As part of this project, I also released a seedloop manager as an open source NPM package, which can be found [here](https://github.com/KryptikApp/kryptik-seedloop). This package allows developers to easily generate wallets and sign transactions across multiple blockchains. + +## Development Roadmap :nut_and_bolt: + + +### Overview + +- **Total Estimated Duration:** 3 months +- **Full-Time Equivalent (FTE):** .4 FTE +- **Total Costs:** $8,000 + +### Milestone 1 - Research Paper + +- **Estimated duration:** 10 weeks +- **FTE:** 0.4 FTE +- **Costs:** 5,000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide regular blog updates that document our discoveries on decentralized key management as we develop the paper. | +| 0c. | Testing and Testing Guide | Since this milestone is focused on creating and publishing a research paper, there is no need for a testing guide. | +| 0d. | Docker | This milestone does not involve explicit software, so no dockerfiles are needed for testing. | +| 0e. | Article | We will publish an article that summarizes the key findings of our distributed key management research for developers (who may not be interested in the nitty gritty technical details or security models). | +| 1. | Formal Investigation | The research period will be spent investigating the following questions about the kryptik key management system. What is the threat model? How can keys be synced across devices? How can the system include more than two shareholders? What is the ideal number of shareholders? Is there any application to social recovery? By the end of this period, I will have organized a sequence of proofs and thoughts that can be shaped into a paper. Each question and associated discovery will be documented via regular blog posts.| +| 2. | Research Paper | This paper will include an in depth analysis of the research questions discussed above. Professor Nicolas Cristin of Carnegie Mellon will help advise the paper– he served as an advisor for my initial research grant from CMU. The paper will be released as an open source document on Github. We expect this open source key management knowledge to provide a strong foundation for future Polkadot/Kusama/Substrate wallet designers.| + + + +### Milestone 2 — Reference Implementation + +- **Estimated Duration:** 1 month +- **FTE:** .4 +- **Costs:** 3,000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide extensive inline documentation that describes the purpose of functions and parameters. This will help create a 'trail of knowledge' that developers can follow through the key management system.| +| 0c. | Testing and Testing Guide | We will include a step by step guide that shows the distributed key management system works as intended. Unit tests will be included for critical functions like share generation/ recombination. Unit tests will be executed using vitest. | +| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 0e. | Article | We will publish an **article** that provides a step by step explanation of the distributed key management system and how each function is implemented in code. This will be published as a blog post. | +| 1. | Vault Module | The vault module will provide a standard interface for storing a BIP 39 seed and multiple blockchain accounts on the client.| +| 2. | Encryption Module | The encryption module will allow seed vaults to be locked/unlocked via a user provided password. The module will also use a randomly generated encryption key to create ciphertext for the BIP39 seedphrase when persisting vault storage on the client.| +| 3. | Share Module | The share module will generate shamir shares for a given piece of data (in this case the encryption secret). This module will also allow shares to be recombined (according to the k of n secret sharing scheme) to reconstruct the original piece of data. | +| 4. | Sync Module | This module will allow seed vaults to be synced across devices.| +| 5. | Web Deployment | And finally, we will wrap these modules in a nice UI and deploy the interface to a website (likely using NextJs + Vercel). This website will allow developers to create a vault, sync their devices, and sign sample transactions. This will be accomplished via open source React components that developers can reuse in their own application. The deployed app will have Polkadot/Kusama/Substrate specific examples (address generation, signatures, etc) that will benefit future developers.| + + + +## Future Plans + +After the grant is completed, I will continue improving the open source Kryptik wallet, which builds upon the distributed key management system described above. Work on the wallet interface– which has been sponsored by other grants– will necessarily include revisiting the key management system and making improvements (such as adding the ability to sync key shares between devices). Beyond that, the research and published paper are a timeless body of knowledge that will continually benefit production implementations and new research on key management. + + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** I first heard about the grants program at EthDenver 2022. I then learned more about the program via the Web3 Foundation Website. + +The NEAR foundation awarded a $45,000 grant to develop the Kryptik wallet interface. This work wrapped the key management system with software that supports multi chain swaps, collectibles, payments, etc. I also received $20,000 from the Solana Foundation to provide open source documentation and Solana specific examples. Both of these grants are directed towards the Kryptik wallet interface, not the key management system which was devised separately. + +Finally, I received $500 from Carnegie Mellon to build the key manager and host the wallet interface. + +**How does this project benefit the Polkadot/Kusama/Substrate ecosystem? +Asymmetric key management is an open issue that affects every blockchain ecosystem. An improved key management system will help improve wallet design which, in turn, will help improve the user experience of the Polkadot/Kusama/Substrate ecosystem. The research proposed above will provide foundational knowledge and software that can be integrated into existing Polkadot related wallets and in emerging wallets that have yet to be designed. In summary, successful execution of the grant will result in a simple and more secure way to interact with the Polkadot/Kusama/Substrate ecosystem. This will benefit users, who will have an improved wallet experience, and developers who can build upon a novel approach to key management. + + From 374856a391df4cfa23b8fa4862b94f6efbcbb32a Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 11 Oct 2022 14:30:27 +0200 Subject: [PATCH 0190/1872] Update accepted_grant_applications.md Add Distributed Key Management --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 64b1d864c55..99899b771ee 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -556,3 +556,4 @@ | Team | Project | Link | Terminated | First Delivery | Completed | :--- | :------ | :--- | :--------: | :------------: | :-------: | | [CrossChain Labs](https://github.com/CrossChainLabs) | DotPulse | [GitHub](https://github.com/CrossChainLabs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Jett Hays](https://github.com/jettblu) | Distributed Key Management | [GitHub](https://github.com/KryptikApp) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 4a50b443f7ae01cafa15f3266e068ffd911a096d Mon Sep 17 00:00:00 2001 From: Fanghao Yang Date: Tue, 11 Oct 2022 08:32:00 -0400 Subject: [PATCH 0191/1872] TREX - Timed Release Encryption Xing-chains (#1165) * Init grant proposal and finish overview section. Add project application details * Revised the application with new PoS consensus and solutions. * Update grant applications to address reviewer's comments. --- applications/TREX_Network.md | 260 +++++++++++++++++++++++++++++++++++ 1 file changed, 260 insertions(+) create mode 100644 applications/TREX_Network.md diff --git a/applications/TREX_Network.md b/applications/TREX_Network.md new file mode 100644 index 00000000000..4dd82771c3b --- /dev/null +++ b/applications/TREX_Network.md @@ -0,0 +1,260 @@ +# W3F Grant Proposal + +- **Project Name:** TREX - Timed Release Encryption Xing chains +- **Team Name:** [NexToken Technology](https://github.com/NexTokenTech) +- **Payment Address:** 0x10286c9d17a1aF1D73E19762A5132d604a076585 (USDT) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 + +## Project Overview :page_facing_up: + +TREX is a project to develop a protocol and network to support permissionless timed-release encryption in Web3. It is a decentralized network that consists of validators, archivers, off-chain workers in a trusted execution environment (TEE), and other essential substrate nodes. This project is developed based on the Substrate framework as a parachain of the Polkadot ecosystem. We aim at institutional and business clients who need blockchain technology to enhance their data security and build [decentralized reputations](https://newsletter.thedefiant.io/p/-decentralized-reputation-is-about-a8b) on Web3. + +### Overview + +TREX is the world’s first blockchain platform that enables decentralized timed-release encryption (dTRE) to unlock information (as serialized and structured data) and actions (as serialized procedures to be called in distributed remote nodes) for future events. The data and procedures were encrypted and distributed in a decentralized blockchain network. The data or procedure would be only revealed or executed after specific counts of clock ticks. +Based on a monetary incentive mechanism, all nodes in the TREX network will collaborate and automatically adjust to ensure +the accurate release of data and procedures as a consensus-based system. + +The dTRE technology is enabled by combining the latest confidential computing hardware and blockchain technology. +The data is encrypted with a symmetric encryption scheme and sent to random trusted off-chain workers for release. No third party has any early access to the encrypted contents. +The attacker must defeat security hardware to access encrypted data with unknown values. Therefore, we can build a decentralized reputation on the Polkadot-based blockchain ecosystem and security hardware backed by semiconductor giants (e. g. Intel, AMD, and ARM). The dTRE technology provides content creators with a critical tool to monetize their reputation. + +The emerging Web3 technology and Polkadot ecosystems could enable enormous cross-chain applications which need time-sensitive and time-critical encryption of data and procedures, +including DAO governance, DeFi applications, decentralized prediction market, and strategy market. The data and procedures must be confidential in many scenarios until release time. TREX and its blockchain application programming interface (API) could confidently empower the TRE applications on Web 3. With a blockchain-backed reputation system, it could terminate cheap talks and scams on today’s social networks and create new marketplaces for trading time-sensitive confidential data and procedures. + +The TREX project roots a new family of Web3 applications in the Polkadot ecosystem and is being actively developed with the Substrate framework. +It aims to support interoperation between parachains in the Polkadot ecosystem and enables a group of new applications with dTRE technology. +The TREX project was initialized to support an idea that needs immutable open records but is hidden until future events. +Applications like elections and blind bidding can be made on Web3 without dependency on centralized services. Our team believes that TRE will support a new type of Web3 application which accelerates the adoption of Web3. + +### Project Details + +Our targeted clients are strategy markets and AI trading bot markets that need to build up their decentralized reputations (e. g. [tipranks.com](https://www.tipranks.com)). The early encrypted data as a part of the on-chain extrinsic data is immutable; the released early data can help a creator to establish its Web3 reputation. In addition, the delayed release mechanism can effectively monetize the client's Web3 reputation by selling the early access privilege to subscribers. + +- Core functionality in TREX network + +The TREX network is derived from confidential computing technology that creates a trusted execution environment (TEE) inside an off-chain worker so that a key to access the confidential data can be temporarily held inside the off-chain worker's enclave and released in a pre-determined future. +Besides the regular validator nodes, as in any other substrate-based blockchain network, there is a special kind of "keyholder" node that host off-chain workers in TEEs. + +![TREX arch](https://sat02pap001files.storage.live.com/y4mCxh3v92-Q3SeR5Le00nfK2p3UqwRvTLNymJrm1VPHO6pyaC3h4g6IjJ3WeSznwK4llcxYDwVjwTuNSYcG31wx7gbuFPcVA8QZL2nACTkJ4SylngdwUusZKr95ThUv7jCwUaqIIXcCKgYKsmoIRrL-sb3Db3sq-hwkTX-CRxhluIuCYcSh0mMzHtpsLG-AySK?width=947&height=685&cropmode=none) + +As shown in the above figure, a client machine can encrypt its data with a symmetric key and send the data to the current block as a part of extrinsic. The client machine must shield the key in use and send the shielded key to the off-chain workers inside the TEE to unlock the encrypted data in the future. The client needs to get remote attestation before trusting the off-chain worker to protect the key from third-party accesses. The client can use a decentralized attestation service, or it may use some cloud-based remote attestation services (e. g. [Azure Confidential Computing Service](https://azure.microsoft.com/en-us/solutions/confidential-compute/)). + +Inside the protected enclave, a separated and encrypted region for code and data, the key for releasing the on-chain data is inserted into a priority queue based on its release time. And the off-chain worker has no access to the shielded data in use. Once the release time is approaching its nearest block, the off-chain worker would release the key from the TEE and expose it to the public. Once the key is released, the block index engine can discover the early encrypted data and decrypt it so it can be accessed publicly. + +- Enhanced security in timed-release encryption + +The scheduled release is only constructed from the time-lapse inside the enclave without using any unsecured system clock since malicious workers may manipulate the system time to retrieve keys before the schedule. Once the enclave starts, it will acquire current time from the trusted time service with [Intel SGX SDK](https://github.com/intel/linux-sgx/blob/1115c195cd60d5ab2b80c12d07e21663e5aa8030/sdk/tae_service/tae_service.cpp). Furthermore, the latest Xeon scalable processors that support 2nd-gen SGX may use "RDTSC" instruction to calculate relative time within the enclave. A malicious worker may suspend the execution for an arbitrary duration or "rewind" the release process, but it only delays or duplicate the release of encrypted data. An off-chain worker gains nothing from doing that (See TREX tokenomics for more details). As a result, the off-chain worker cannot manipulate the release schedule of keys with an attested executable. + +Since there could be security loopholes in Intel SGX or any other similar system, the client cannot rely on a single worker to protect their data from early release. Therefore, key splitting is an effective method for distributing a key to multiple off-chain workers. Furthermore, if a malfunctioned worker may lose a part of a key, the client can send multiple copies of a piece to different workers to reduce the chance of missing parts. Eventually, all parts of a key will be released to the blockchain. Then a block index engine may reconstruct the original key from a collection of pieces and use the key to unlock early data. + +- TREX tokenomics + +The TREX network comprises different entities, including third-party developers, validators, archivers, and users. A simple example of core functionality in the TREX network. + +![Workflow](https://sat02pap001files.storage.live.com/y4m-6fn2EHbIEctqPi4P_8PI0jc8B0HaImf_-065KvTi7GH_A9LUzkFnD5gfszLtS9GQujRDwQanrz_WihcMZvj8s6AhATo0xDIY_hQlDJbUdVNgT_qMJaE-N1k5RC5vEBXStgqTOypL9ql-FbjjDXSiDtNBqBeimm_7CBMsqqPHegLLgnu9mH_uCHHGEPhh6aR?width=662&height=586&cropmode=none) + +In this image, creators provide timed-release encrypted data or procedures and send them to the blockchain; and to be released in a future event. For example, an analyst can encrypt its suggested actions toward future events and send them to the TREX network. We call them creators, who create strategies and predictions based on their analysis or other AI algorithms. The creator could be a person or an AI bot. It does not matter since all of his mentions about future events could be recorded on our blockchain, thus, becoming immutable. The encrypted data would be decrypted and released in the future after the event occurs (e. g. Market closed and revealed the final price of an asset). Since the on-chain data is immutable, the creators cannot delete their wrong suggestions or predictions. All of their previous data would generate a reputation for themselves. + +Third-party on-chain data services, which disassemble the block data into extrinsic and analyze encrypted forecasts or strategies, could develop ranks or recommendations based on specific metrics (e. g., return of investment). Furthermore, the end users may get early access to a creator's data by paying them a fee. Thus, end users can use the predictions and investment strategies created by the creators for their interests. Those third-party services essentially are archiver nodes hosting a block index engine to decrypt on-chain data and put it into a PostgreSQL database. In addition, they may customize their business logic to their specific service and provide API interfaces to end users and their front-end applications. + +![Tokenomics](https://sat02pap001files.storage.live.com/y4mMGg63WzuNDLdTQE20uTLa-6RoCiYlXyidKsJPUw1SqlBkleu7wmYZimXTtZMRitQEmCvOmQEscQoDV1bp6jJ4bM-85nDw4UiEupKd5Ckoay0aNeMTwUAGO5xhe5mLI5CbQW9RwbCYQW6su6uYvfwjgIiGZ6f1IxpjFyQKGnMmTaUdWFwJ5X8_bSO_JXwvEQC?width=764&height=606&cropmode=none) + +Since the TREX software is fully open source and free to use, the users only pay fees to use the infrastructure. For example, the tokens on the TREX network could be used as insertion fees for writing dTRE data on the blockchain. The data fee is comprised of a base fee and a data fee per byte. Since there is an upper limit on block size, the data fee is dynamically adjusted based on network usage. New tokens would be created by validators on the TREX network and exchanged to end users and creators. The creators buy tokens from validators and use them to post their dTRE data. The keyholders can also earn tokens from the creators by providing off-chain workers to hold their encryption keys. + +When the creator tries to put dTRE data on the blockchain, it shall contain an instant payment for the validator and a conditional fee for the off-chain worker. The creator randomly chooses one or a few off-chain workers after remote attestation and sends the shielded key to them so that the data can be decrypted after a period. The keyholders may only receive the fee after successfully releasing the key in time. The off-chain worker can only receive the payment after the key is released. + +Here are some discussions on tokenomics. + +1. Can the client-side hide incorrect data from being revealed? + +For example, if the creator, as the client, wants to publish their data after a specific time, it will put the encrypted data on-chain and seed its encryption key to the off-chain worker. Since the client cannot control the TOCW, the data will be released anyway.  + +2. What if the TOCW fails? + +If the TOCW fails in case of system failure, the key in such an off-chain worker may be lost. For better safety, the client may send his encryption key to more than one TOCW if the data is highly valuable. If the client finds the key is not there after the schedule, the client may send the key to the TOCW again to make up. + +3. Can the TOCW helps the creator cheat? + +The off-chain worker may block the key to unlock some incorrect information from release. After the pre-determined release time, if the key does not show up on-chain. The keyholder may receive a penalty.  +To enhance the network security, we may use a safelist (voted by all nodes) for keyholders to put a key on the chain. If a keyholder fails to release a key frequently, it may lose its privilege. +On the other side, if a client has too much dead TRE data, of which the key is lost forever, the archiver, as a block data index service, may label this client's account as a potential cheater. Because it can always send a duplicate key to unlock the previous data after the TOCW failure. If the creator doesn’t want to do that, it implies that they want to hide some information damaging their reputation. + + +- An overview of the technology stack to be used + +Our project is exclusively developed with Polkadot substrate ecosystems. + + 1. Our TREX node software uses the latest Substrate framework. + 2. Our TREX block index engine customizes from the Substrate Archive. It releases timed-release encrypted data and archives dTRE data into a PostgreSQL database. + 3. For applications on the TREX network, we provide solutions, including an [API library](https://github.com/NexTokenTech/trex-subxt), to our business partners, who may use it to insert dTRE data on the TREX network and retrieve data with the TREX blockchain index engine. + 4. The DevOps tool uses [Terraform](https://www.terraform.io) to automate the deployment of the TREX infrastructure with other backend services on cloud computing platforms so that our targeted clients can easily integrate the dTRE technology with their existing services. + +- Documentation of core components, protocols, architecture, etc. to be deployed + +Since our previous whitepaper uses PoW consensus, we are working on our new whitepaper and documentation. + +- PoC/MVP or other relevant prior work or research on the topic + +We developed an early PoW-based demo and a set of software to exhibit the basic idea of timed-release encryption with blockchain. The demonstration has nothing to do with the actual TREX test-net or main-net but provides a demo of the concept for early users and investors. +It includes the following software: + + 1. A demo blockchain node ([GitHub Repo](https://github.com/yangfh2004/Time-Release-Blockchain)); + 2. A demo block index engine ([GitHub Repo](https://github.com/NexTokenTech/time-release-watcher-demo)); + 3. A WASM library for the demo of dTRE technology ([GitHub Repo](https://github.com/NexTokenTech/trex-app-wasm)); + 4. A demo app to use the dTRE technology as a Chrome extension ([GitHub Repo](https://github.com/NexTokenTech/trex-demo-wallet-ext)); + +The demo mentioned above is deployed on AWS and may be accessed with a [web link](http://www.timecaps.net). It is worth noting that Our final release will use a different type of technology based on hardware encryption. + +In the current stage of TREX development, we are working on the following software with the Rust programming language to deliver public test-net and main-net: + + 1. TREX node software that supports fundamental blockchain functionalities, consensus, and keyholding; + 2. The customized TREX archive software scans the blockchain and unlocks encrypted data, and releases it according to its preset clock ([GitHub repo](https://github.com/NexTokenTech/trex-archive)); + 3. The TREX API library to submit dTRE data as a form of Substrate extrinsic to TREX nodes ([GitHub repo](https://github.com/NexTokenTech/trex-subxt)); + 4. The infra-as-code (IaC) TerraForm script to deploy the TREX test-net and backend services ([GitHub repo](https://github.com/NexTokenTech/trex-test-net)); + +Since we are working on a new version of TREX node software using confidential computing technology, we need to rewrite our consensus code and design the off-chain worker code for keyholding. The first version of the demonstration of dTRE will be built as a side-chain in an existing decentralized network since it has tested its implementation using off-chain workers within the TEE. However, we will have to develop some specific pallets to support our tokenomics. Thus, our network cannot be a side chain in its final formation. Unlike other networks using confidential computing technology, we are not supporting general computing in TEEs but focus on dTRE technology built on top of confidential computing hardware. + +- What your project is _not_ or will _not_ provide or implement + +We are not working on a universal public chain like ETH or Polkadot that serves as layer-0 infra. Our parachain only focuses on providing a specific decentralized infra service - the decentralized timed-release encryption for cross-chain applications. + +We are not building a smart contract platform but provide APIs to any cross-chain smart contracts if using dTRE technology. + +We are not going to build a web or mobile application for end-users (e. g. decentralized strategy markets), but we are working with our business partners by providing them dTRE infra services and integration toolchains. Moreover, we are trying to attract more third-party developers to our network and the Polkadot ecosystem to develop various dApps based on the dTRE technology and Polkadot cross-chain technology. + +We are not providing infrastructure for general confidential computing but only focus on dTRE technology with confidential computing hardware. + +### Ecosystem Fit + +- Where and how does your project fit into the ecosystem? + +Our final goal is to create a new frontier of dAPPs with dTRE technology in the Web3 domain. The Polkadot ecosystem provides very comprehensive and advanced support for cross-chain interoperability. With Polkadot relay chains, bridges and parachains, arbitrary data could be encrypted with our dTRE technology and transferred across various blockchains, and triggered future events on any other blockchains. The Polkadot multi-chain network allows us to explore the full potential of our dTRE technology since it may be integrated with the whole web3 network and create a large number of new dApps. + +- Who is your target audience (parachain/dapp/wallet/UI developers, designers, your own user base, some dapp's userbase, yourself)? + +Our target audience is whoever needs to send a temporarily confidential message in the future. It could have a list of applications/businesses including but not limited to + + 1. Decentralized strategy market (to replace the centralized service like [tipranks.com](https://www.tipranks.com) ) + 2. Decentralized prediction market (to replace the centralized service like [predictit.org](https://www.predictit.org) ) + 3. Universal key escrow (encrypted arbitrary crypto key to hold the escrow fund and release in the future) + 4. Decentralized voting system (encrypted ballot and reveal it in the future) + 5. Decentralized blind bidding (encrypted all bids and reveal in the deadline to find the final bid winner) + +Any creators and developers with the above applications could be our target audience. For example, they could be parachains and dApps that provide decentralized trading platforms, strategy markets, prediction markets and so on. + +- What need(s) does your project meet? + +Essentially, the world needs [decentralized reputations](https://newsletter.thedefiant.io/p/-decentralized-reputation-is-about-a8b) to open a new Web3 frontier. Our dTRE technology helps dApp dev and owners build up their decentralized reputations and creates marketplaces for temporarily confidential data. Therefore, the early access privilege to the dTRE data can be traded so that the reputed content creator can sell their strategies or predictions. Additionally, the dTRE technology can support a range of new Web3 applications that need features for timed data release. + +- Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem? + +No, according to our best knowledge, we are creating all new decentralized applications in the Web3 domain. We don't see similar projects in blockchains providing decentralized timed-release encryption (dTRE) services. +We believe that the dTRE technology will radically change many existing centralized applications since it builds up a trustless and permissionless mechanism to send a message to the future and create markets for early access or subscription. + +The [Integritee Network](https://integritee.network) pioneers confidential computing in Web3 as a project in the Substrate / Polkadot / Kusama ecosystem. It provides remote attestation services for us to build a fully decentralized tech stack. Although the TREX network uses the same type of confidential computing technology as theirs, the TREX network anchors on a different kind of service, working with another category of clients. We will eventually grow into two different types of projects in the same ecosystem. + +## Team :busts_in_silhouette: + +### Team members + +- Leo Yu (executive, finance and product) +- Fanghao Yang (research, engineering, and technology development) +- Oscar Wang (operation and human resource) +- Xingqiu Yuan (chief scientist) +- Jake Jian (consultant, strategy and data science) +- Dan Yin (senior software engineer) + +### Contact + +- **Contact Name:** Fanghao Yang +- **Contact Email:** team@trex.ink +- **Website:** www.trex.ink + +### Legal Structure + +- **Registered Address:** 165 ARRETON RD, PRINCETON, NEW JERSEY 08540 +- **Registered Legal Entity:** NexToken Technology LLC + +### Team's experience + +Leo Yu: Serial entrepreneur of crypto technology startup companies with several successful entrepreneurial projects and good investment returns. Excellency at integrating international resources and having an outstanding strategic development vision. Proficiency in communication with global clients and team coordination skills. [Resume](https://1drv.ms/b/s!AmAQnrV8ivm-hqx4tSxtL5LBTynnCA?e=NiON2k) + +Fanghao Yang: former researcher & software engineer in IBM Research, US DOE national lab at Princeton University, worked with a few startup companies leading a team of developers. See the [LinkedIn page below](#team-linkedin-profiles). + +Oscar Wang: Serial entrepreneur with more than ten years of business management and marketing experience covering markets from technology to manufacturing. More than five years of experience as a general manager of large-scale enterprises, with excellent skills in solving complex problems, business planning, team management, and interpersonal skills, strong learning ability in new fields, and firm team-oriented. [Resume](https://1drv.ms/b/s!AmAQnrV8ivm-hqxz2lU8gDhlMasAmA?e=KqTwvi) + +Xingqiu Yuan: chief research scientist in US DOE national labs for distributed computing and large-scale HPC software design. See the [LinkedIn page below](#team-linkedin-profiles). + +Jake Jian: former Morgan Stanley analyst and Accenture consultant team lead. Directors and senior management of many prestige IT companies. See the [LinkedIn page below](#team-linkedin-profiles). + +Dan Yin: 10+ years of experience in the development of fintech services and software [Resume](https://1drv.ms/b/s!AmAQnrV8ivm-hqx3VjTtmlBvMlYZ4g). + +### Team Code Repos + +- https://github.com/NexTokenTech +- https://github.com/NexTokenTech/TREX +- https://github.com/NexTokenTech/trex-archive +- https://github.com/NexTokenTech/trex-subxt +- https://github.com/NexTokenTech/trex-test-net +- https://github.com/NexTokenTech/elgamal_trex + +Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine. + +- https://github.com/yangfh2004 +- https://github.com/xyuan +- https://github.com/kaisuki + +### Team LinkedIn Profiles + +- https://www.linkedin.com/in/fanghaoyang/ +- https://www.linkedin.com/in/xingqiu-yuan-68b62b38/ +- https://www.linkedin.com/in/jakejian/ + +## Development Status :open_book: + +- TREX core node code ([GitHub repo](https://github.com/NexTokenTech/TREX)) + +The early version of dTRE technology uses PoW consensus, which is no longer suitable for today's climate change and energy crisis. We are actively working on the new node software leveraging confidential computing hardware to achieve the same or even better results. + +- TREX block index engine ([GitHub repo](https://github.com/NexTokenTech/trex-archive)) + +It is in progress to be integrated with our business partners to support the deployment of the dTRE technology in existing platforms with the rabbitMQ message broker. + +- TREX API library ([GitHub repo](https://github.com/NexTokenTech/trex-subxt)) + +Tested and successfully submitted dTRE data to the TREX blockchain node. + +## Development Roadmap :nut_and_bolt: + +In the current stage, our first milestone is to deliver an early demonstration using confidential computing hardware for decentralized timed-release encryption. We will develop our first demo as a side-chain in a decentralized network that supports off-chain workers in TEEs. We request a level-1 grant for the early demonstration and will work on the next level in the following application. We have accumulated solid experience in development with the Substrate framework, so we believe that we can implement our network at a fast pace. + +At the next level, our second milestone is integrating the TOCW with our network under our particular consensus and mechanism. We will also implement key splitting as a third milestone to enhance the security and reliability of our system at the next level. +Finally, our fourth milestone is the implementation of XCMP for cross-chain applications. + + +### Milestone 1 — Implement TREX network as a side-chain + +- **Estimated duration:** 1 month +- **FTE:** 2 +- **Costs:** 10,000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | MIT License +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a content creator can generate tradable content and a user can gain early access to this content with a fee. | +| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 0e. | Article | We will publish an online blog that explains how this module works as described in the following figure. +| 1. | TREX off-chain worker | A TREX off-chain worker in TEE so that client can safely send encrypted data to the network and send the shielded key to the off-chain worker. The off-chain worker is remotely attested by a decentralized network so that the worker node cannot manipulate the release of the encrypted data. +| 2. | TREX block index engine | A TREX block index engine to unlock the early encrypted on-chain data based on recently released keys from TEE off-chain workers and archive the released data into a PostgreSQL database for efficient data access. + +## Future Plans +In the short term, our team is working on landing the first dTRE infrastructure on the Web3 frontier and promoting the technology in the Polkadot/Substrate ecosystem. +- As long as more funding and resource are allocated, the latest confidential computing technology (e. g. [Intel TDX](https://www.intel.com/content/www/us/en/developer/articles/technical/intel-trust-domain-extensions.html) ) will be supported and integrated into the TREX node. As an active open-source project, TREX will follow up on trends and development in confidential computing hardware and integrate solutions from different chip makers to support various hardware. Since only the off-chain workers use the TEE, many different versions of off-chain workers may co-exist on our network as long as it fits our remote attestation policy. +- In the long run, we focus on expanding the cross-chain applications and interoperability with the Polkadot ecosystem. We are working on many software tools, deployable containers, and API libraries for dApp developers using dTRE technology in their applications. While more and more users and dApp devs join the TREX network, we will design the sharding solution to reduce the data insertion fee on the layer-1 network so that dTRE applications can be more affordable. + + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** Web3 Foundation Website and Twitter. From 9e3678d048d10f77128a0d4aea8644c6a17dc586 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 11 Oct 2022 14:39:07 +0200 Subject: [PATCH 0192/1872] Update accepted_grant_applications.md TREX --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 99899b771ee..dada7a0464e 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -557,3 +557,4 @@ | :--- | :------ | :--- | :--------: | :------------: | :-------: | | [CrossChain Labs](https://github.com/CrossChainLabs) | DotPulse | [GitHub](https://github.com/CrossChainLabs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Jett Hays](https://github.com/jettblu) | Distributed Key Management | [GitHub](https://github.com/KryptikApp) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [NexToken Technology](https://github.com/NexTokenTech) | TREX - Timed Release Encryption Xing chains | [GitHub](https://github.com/NexTokenTech/TREX) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From d468ef3499be1a62f5e2ccb4ff50418c46589556 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 11 Oct 2022 17:19:41 +0200 Subject: [PATCH 0193/1872] Update accepted_grant_applications.md Update Perun App Channels --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index dada7a0464e..0c54f37bca8 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -473,7 +473,7 @@ | [TDSoftware](https://www.tdsoftware.de/) | SubIdentity | [GitHub](https://github.com/TDSoftware) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [ChainSafe Systems](https://chainsafe.io/) | SubstrateSnap Maintenance Proposal | [GitHub](https://github.com/ChainSafe/metamask-snap-polkadot) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [HugoByte](https://hugobyte.com/) | Project Aurras - MVP - Phase 2 | [GitHub](https://github.com/HugoByte) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Perun Network](https://perun.network/) | Perun App Channels | [GitHub](https://github.com/perun-network/) |
  • [ ]
|
  • [x]
|
  • [ ]
| +| [Perun Network](https://perun.network/) | Perun App Channels | [GitHub](https://github.com/perun-network/) |
  • [ ]
|
  • [x]
|
  • [x]
| | [ChainSafe Systems](https://chainsafe.io/) | Privacy enhancement for Polkadot-js extension | [GitHub](https://github.com/ChainSafe) |
  • [ ]
|
  • [x]
|
  • [x]
| | [BQP](https://qbitcoin.tech/) | Quantum Lock for QBITCOIN | [GitHub](https://github.com/bqpquantum/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Simply VC](https://simply-vc.com.mt/) | PANIC Monitoring and Alerting For Blockchains | [GitHub](https://github.com/SimplyVC/panic) |
  • [ ]
|
  • [x]
|
  • [x]
| From ed70fc22e7d5dd15bb148692dcfa01be0dfbdb73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Wed, 12 Oct 2022 12:42:50 +0100 Subject: [PATCH 0194/1872] Rename docs/DistributedKeyManagement.md to applications/DistributedKeyManagement.md (#1210) --- {docs => applications}/DistributedKeyManagement.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {docs => applications}/DistributedKeyManagement.md (100%) diff --git a/docs/DistributedKeyManagement.md b/applications/DistributedKeyManagement.md similarity index 100% rename from docs/DistributedKeyManagement.md rename to applications/DistributedKeyManagement.md From 38db6199d1843d1309fe26dfcfa19926693cc568 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9?= Date: Wed, 12 Oct 2022 08:33:06 -0400 Subject: [PATCH 0195/1872] Cross-Consensus Messaging Software Development Kit (#1199) * Cross-Consensus Messaging Software Development Kit * add research document * CLI tool --- applications/xcm-sdk.md | 127 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 applications/xcm-sdk.md diff --git a/applications/xcm-sdk.md b/applications/xcm-sdk.md new file mode 100644 index 00000000000..1afa7e92dc9 --- /dev/null +++ b/applications/xcm-sdk.md @@ -0,0 +1,127 @@ +# W3F Grant Proposal + +- **Project Name:** [Cross-Consensus Messaging Software Development Kit](https://github.com/w3f/Grants-Program/blob/master/rfps/open/xcm-tool.md) +- **Team Name:** Blockcoders +- **Payment Address:** Ethereum (USDT/USDC/DAI) 0x0B7144E7960Ac666A6AD6B38Fe65C2fe96E65994 +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 + + +## Project Overview :page_facing_up: + +XCM SDK is a tool that provides an interface to send XCM messages for Substrate based blockchains. This library is written in Typescript so it can be imported in a whole new set of applications or dApps that use Javascript/Typescript engines such as Node. + +The idea of this project is to have fast way to send XCM messages between the relay chain and the parachains without having to use Rust-written tools or other platforms/applications. + +This project is focused on the Polkadot ecosystem but it can be used in any other Substrate-based blockchain that uses the XCM pallet. + +Blockcoders is a team that is always contributing to blockchain projects to help the growth of the ecosystem. + +### Ecosystem Fit + +Help us locate your project in the Polkadot/Substrate/Kusama landscape and what problems it tries to solve by answering each of these questions: + +- Where and how does your project fit into the ecosystem? + - It provides a solution for all those who are interested in sending xcm messages from a project in typescript. It is a key tool to integrate this messaging format in applications. +- Who is your target audience (parachain/dapp/wallet/UI developers, designers, your own user base, some dapp's userbase, yourself)? + - Mainly developers who are interested in creating applications/tools that need to send this type of messages since this sdk facilitates the integration of xcm messaging. +- What need(s) does your project meet? + - This sdk provides a fast and easy way to send xcm messages. Being written in typescript allows more developers to access this type of messaging without the need to use the polkadot.js browser or libraries that are written in Rust. +- Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem? + - There are other tools for sending xcm messages but none like the one proposed here. The rest of the tools are Rust libraries, applications like polkadot.js.org among others. This SDK is focused on being able to access these features from projects written in Javascript/Typescript. + +## Team :busts_in_silhouette: + +### Team members + +- Jose Ramirez +- Fernando Sirni +- Ruben Gutierrez + +### Contact + +- **Contact Name:** Jose Ramirez +- **Contact Email:** jose@blockcoders.io +- **Website:** http://blockcoders.io/ + +### Legal Structure + +- **Registered Address:** Bouchard 705, Buenos Aires Argentina +- **Registered Legal Entity:** Blockcoders + +### Team's experience + +Our team has been contributing with different projects in blockchain for a few years, building APIs, SDKs and developer tools. Our goal is to continue to drive the crypto space forward by investing intellectual capital into projects, participating actively to help shape the ecosystems we believe in. + +### Team Code Repos + +- https://github.com/blockcoders +- https://github.com/blockcoders/ink-substrate-explorer-api +- https://github.com/blockcoders/nestjs-ethers +- https://github.com/blockcoders/harmony-marketplace-sdk +- https://github.com/blockcoders/near-rpc-providers +- https://github.com/athenafarm/athena-vault-contracts +- https://github.com/athenafarm/athena-sdk + +Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine. + +- https://github.com/0xslipk +- https://github.com/fersirni +- https://github.com/RubenGutierrezC + +### Team LinkedIn Profiles (if available) + +- https://www.linkedin.com/in/jarcodallo/ +- https://www.linkedin.com/in/fernando-sirni-1931ba122/ +- https://www.linkedin.com/in/rubengutierrezc/ + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Total Estimated Duration:** 3 month +- **Full-Time Equivalent (FTE):** 2 +- **Total Costs:** 30000 USD + +### Milestone 1 - Support for XCM messages + +- **Estimated duration:** 2 month +- **FTE:** 2 +- **Costs:** 20,000 USD + +In this milestone the focus is on creating a new sdk to send xcm messages between the relay chain and parachains. The main idea is to create an interface that can handle all the xcm messages that are available in the polkadot.js library. The sdk will be written in typescript and will be able to be used in any project that is written in javascript or typescript. + +| Number | Deliverable | Specification | +| ------------- | ------------- | ------------- | +| 0a. | License | MIT | +| 0b. | Documentation | We will provide both **english** and **spanish** versions of the documentation. This will cover step by step how to configure the environment and send xcm messages. | +| 0c. | Testing Guide | Unit test and end to end tests will cover the core functions to ensure everything works as expected. The documentation will have an example on how to run these tests. | +| 1. | Create Messages Types | Definition of all messages types that can be sent via xcm supported by Polkadot API. We are gonna support all the types listed on out [research document](https://github.com/blockcoders/xcm-grant-research). | +| 2. | Send XCM messages | Creation of an interface to send XCM messages using the types defined in (1) and the Polkadot API | +| 3. | Testing | Achieve a testing coverage of the functionalities above 90% | + + +### Milestone 2 - Add support for other xcm messages + +- **Estimated Duration:** 1 month +- **FTE:** 2 +- **Costs:** 10,000 USD + +This milestone is entirely about adding support for pending xcm messages not covered on milestone 1. Using generics and typescript interfaces we will be able to add support for new messages without having to change the code. + +| Number | Deliverable | Specification | +| ------------- | ------------- | ------------- | +| 0a. | License | MIT | +| 0b. | Documentation | We will provide both **english** and **spanish** versions of the documentation. This will cover step by step how to send all kind of xcm messages. | +| 0c. | Testing Guide | Unit test and end to end tests will cover the core functions to ensure everything works as expected. The documentation will have an example on how to run these tests. | +| 0d. | Article | We will post an article on Twitter and Reddit for both english and spanish speakers communities. +| 1. | CLI tool | Build an interactive command line tool to generate and send XCM message. | +| 2. | Add support for new messages | Add support to send XCM messages using a format that it's not defined on the Polkadot API. Using generics the send function allows the body to be defined by the user. | +| 3. | Testing | Achieve a testing coverage of the functionalities above 90% | + +## Future Plans + +We plan to share our expertise creating workshops online, handling all relevant forums and social networks. + +## License + +Apache license version 2.0 From f9f1ee621def752c4f545119446f58c31bf14369 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Wed, 12 Oct 2022 14:59:09 +0200 Subject: [PATCH 0196/1872] Update accepted_grant_applications.md Add Cross-Consensus Messaging --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 0c54f37bca8..015c94bfa74 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -558,3 +558,4 @@ | [CrossChain Labs](https://github.com/CrossChainLabs) | DotPulse | [GitHub](https://github.com/CrossChainLabs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Jett Hays](https://github.com/jettblu) | Distributed Key Management | [GitHub](https://github.com/KryptikApp) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [NexToken Technology](https://github.com/NexTokenTech) | TREX - Timed Release Encryption Xing chains | [GitHub](https://github.com/NexTokenTech/TREX) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Blockcoders](http://blockcoders.io/) | Cross-Consensus Messaging Software Development Kit | [GitHub](https://github.com/blockcoders) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 850999fce5a6dde86399f3abb33278fd9b4d1707 Mon Sep 17 00:00:00 2001 From: Aaron Chen Date: Wed, 12 Oct 2022 22:00:52 +0800 Subject: [PATCH 0197/1872] add polkadot snap grant application (#1166) * add polkdadot snap grant application * update the application * update the application * update the grant application * update the application to match the template format --- applications/PolkadotSnap.md | 158 +++++++++++++++++++++++++++++++++++ 1 file changed, 158 insertions(+) create mode 100644 applications/PolkadotSnap.md diff --git a/applications/PolkadotSnap.md b/applications/PolkadotSnap.md new file mode 100644 index 00000000000..e58ec8faa4c --- /dev/null +++ b/applications/PolkadotSnap.md @@ -0,0 +1,158 @@ +# Polkadot Snap Made by Keystone Wallet Team + +* **Team Name:** Keystone Wallet Team +* **Proposer:** @aaronisme +* **Payment Address:** 3KL2HNETiLbLVbnGfpGZ6ZkyyaWUL6bfpt(BTC) +* **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 + +## Project Overview :page_facing_up: + +Keystone (Previously Cobo Vault) is the official partner of MetaMask and Solflare wallet, and we are also the ONLY hardware wallet compatible with MetaMask mobile (demo video). +Apart from our hardware wallet business unit, another major unit of ours is MetaMask Snaps Development. We are the first verified Snap developer of MetaMask building BitcoinSnap. +Keystone is dedicated to developing a so-called “Polkadot Snap” to help your team open up one of the biggest WEB3.O entrances - MetaMask, where users could continue exploring the Polkadot ecosystem with their familiar MetaMask Wallet. +As always, we appreciate Polkadot's vision and try to scale with the team, by building the win-win Polkadot Snap, we believe it benefits both of us in a long term perspective. + + +### Project Details + +Polkadot Snap is a “Snap Application” running on MetaMask. Polkadot Snap will act in two ways for users. Firstly it will be the wallet adapter for Dapp developers. With it, the Dapp can interact with MetaMask for Polkadot. Secondly, The Polkadot Snap will be the wallet for Polkadot. It will provide functionality like transferring assets, staking tokens, etc. + +We will use React, Mobx, and Typescript for building this application. Considering Polkadot Snap is not completed yet, we put some samples of our BTCSnap for your reference. +- Alpha version of BTCSnap:https://btc.justsnap.io/ +- Demo: https://www.youtube.com/watch?v=9B-nnnaFq0o +- BTCSnap Repo: https://github.com/KeystoneHQ/btcsnap + + +### Ecosystem Fit + +Help us locate your project in the Polkadot/Substrate/Kusama landscape and what problems it tries to solve by answering each of these questions: + +- Where and how does your project fit into the ecosystem? + - First Polkadot Snap: Keystone aims to be the first Polkadot Snap developer and build the first open-source Polkadot Snap for the Polkadot ecosystem. +- User acquisition: As promised, BitcoinSnap will be officially recommended by MetaMask and we will drive traffic to Polkadot Snap through our BitcoinSnap so tens of millions of MetaMask users will get easier access to the Polkadot ecosystem. +- Lower the threshold: No more other wallets are needed so less friction for users when they start exploring Polkadot. + +- Who is your target audience (parachain/dapp/wallet/UI developers, designers, your own user base, some dapp's userbase, yourself)? +- Our target audience will be 1) all the MetaMask users who want to explore the Polkadot ecosystem in a more efficient way. 2) all the Polkadot users who get used to the MetaMask wallet. 3) all the projects on Polkadot chain want to get users from MetaMask + +- What need(s) does your project meet? +- Polkadot Snap will meet the needs: 1) Sign in one place for different blockchain transactions. 2) Lower barriers to enter the Polkadot ecosystem. 3) Users acquisition needs from different projects no matter whether they are deployed on Polkadot, Ethereum or other EVM chains. + + +- Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem? +- No. + + +## Team :busts_in_silhouette: + +### Team members + +- Name of team leader: Lixin Liu, CEO +- Names of team members: +Aaron Chen, CTO +Bobby Wang, Head of BD +Truda Hamzik, Head of Communications +Jimmy cheung, Head of Design +Shaun Guo, Project manager +Bill Lee, Product manager + +### Contact + +- **Contact Name:** Bobby Wang +- **Contact Email:** bobby@keyst.one +- **Website:** N/A + +### Legal Structure + +- **Registered Address:** 19H MAXGRAND PLAZA, NO.3 TAI YAU STREET, SAN PO KONG, KOWLOON, HONGKONG. +- **Registered Legal Entity:** Yanssie HK Limited + +### Team's experience + + +Keystone (previously Cobo Vault), the official partners of MetaMask and Solflare wallet, and we are also the ONLY hardware wallet compatible with MetaMask mobile (demo video). +We have our mature flagship product which is Keystone hardware wallet. +Apart from that, another major business unit is MetaMask Snaps development. We are the first verified Snap developer of MetaMask building BitcoinSnap (https://www.youtube.com/watch?v=oxkmissJbiM). This BitcoinSnap will be recommended by MetaMask when Snaps officially launch in a few months. +Keystone is also the co-author of BIP-129 and EIP-4527, +Keystone (previously as Cobo Vault) has applied for a grant, the project name was Cobo Vault, and the legal entity was Shanghai Nanqian Technology Co., Ltd. + + + +### Team Code Repos +https://github.com/KeystoneHQ/btcsnap +https://github.com/KeystoneHQ/Keystone-cold-app + +Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine. + +https://github.com/orgs/KeystoneHQ/people/aaronisme +https://github.com/orgs/KeystoneHQ/people/zhaomengru2015 +https://github.com/orgs/KeystoneHQ/people/LiYanLance +https://github.com/orgs/KeystoneHQ/people/soralit + +### Team LinkedIn Profiles (if available) + +N/A + +## Development Roadmap :nut_and_bolt: + +- **Total Estimated Duration:** 3 months +- **Full-Time Equivalent (FTE):** 4 FTE +- **Total Costs:** 30k USD + +### Milestone 1: + +- **Total Estimated Duration:** 1 months +- **Full-Time Equivalent (FTE):** 2 FTE +- **Total Costs:** 10k USD + +In Milestone one, we will develope the wallet adaptor based on MetaMask Snap. We will create the wallet adaptor for Polkadot. The are at least these things should be covered: +Building the snap application +Provider and js sdk which wrap the snap application which provide injected object for the Dapp developer. +Writing the documentation for the Dapp developer. + +After this milestone, we will open-source all the implementation code and examples. +Bascily, every dapp can use this wallet adapter to interact with MetaMask + +To hit this milestone, one month full-time work is needed for our secure element firmware engineer (Sora - Frontend Engineer ), 0.5 month full-time work is needed for our QA engineer (Xia MengYun - QA Engineer). +Grants are 10k USD. + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a dapp developer can use this library to use the MetaMask flask as the wallet for the user. | +| 0c. | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Demo | We will publish an demo to show how to use this library for the dapp developers | +| 0e. | Article | We will publish an article that explains how to use this wallet adaptor and MetaMask Flask to interact with Polkadot dapps. | +| 1. | js sdk | Building the snap application Provider and js sdk which wraps the snap application and provides an injected object for the Dapp developer. Writing the documentation for the Dapp developer. | + +### Milestone 2: + +- **Total Estimated Duration:** 2 months +- **Full-Time Equivalent (FTE):** 4 FTE +- **Total Costs:** 20k USD + +In milestone two, we will develop the Polkadot Wallet. It will also use our snap and provide functionality like transferring assets like DOT/KSM. Staking etc. + +Here is the feature list for this Polkadot Wallet. +1. Users can use this wallet to manage their assets like DOT/KSM. +2. Users can use this wallet to track their transaction history. +3. Users can use this wallet to manage their NFTs. +4. Users can use this wallet to contribute the Crowdloans +5. Users can use this wallet to stake their DOT/KSMs. +6. This wallet will support both Polkadot and kusama chains. + +The Polkadot wallet we will build which will rely on Polkadot snap to interact with MetaMask. First We will design the new user interface to provide an good experience for the users. Second, we will build this wallet application. It will be our long-term supported product. +To hit this milestone, two month full-time work is needed for all our dev/pm on the software side (Aaron Chen - CTO of Keystone, Zhang XiaoChun - Product Manager, Tian li - Software Engineer), 0.5 month full-time work is needed for our QA engineer & UI/UX designer (Xia MengYun- QA Engineer, Zhang XiaoChun - UX Designer). +Grants are 20k USD. + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide both inline documentation of the code and a basic tutorial that explains how a user can manage their assets with this wallet application. | +| 0c. | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Application | We will publish the wallet application that can be used to test all the functionality delivered with this milestone. | +| 0e. | Article | We will publish an article that explains how to use this application for the whole Polkadot community. | + +## Future Plans + +Once MetaMask merged its Snap function to the normal version, BTCSnap (developed by Keystone) will be promoted as one of top 3 Snaps on its main page where our snaps would get a huge exposure. In a short term, we plan to develop a series of snaps for different chains and make a “Snaps Bundle” upon our Bitcoin Snap where users could easily switch to different snaps for different chains in one place. In the long term, we’ll continue to build various snaps, not only for transactions, but also Defi, NFT, Game etc for different chains to enrich the Keystone Snaps ecosystem and obviously Polkadot will be one of our top priority. From 5cf5c1ece6c54bd97c00cad580559a6684580e9d Mon Sep 17 00:00:00 2001 From: David Hawig Date: Wed, 12 Oct 2022 16:50:45 +0200 Subject: [PATCH 0198/1872] Update accepted_grant_applications.md --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 015c94bfa74..b52b2194602 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -559,3 +559,4 @@ | [Jett Hays](https://github.com/jettblu) | Distributed Key Management | [GitHub](https://github.com/KryptikApp) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [NexToken Technology](https://github.com/NexTokenTech) | TREX - Timed Release Encryption Xing chains | [GitHub](https://github.com/NexTokenTech/TREX) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Blockcoders](http://blockcoders.io/) | Cross-Consensus Messaging Software Development Kit | [GitHub](https://github.com/blockcoders) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Keystone Wallet](https://keyst.one/) | Polkadot Snap | [GitHub](https://github.com/KeystoneHQ) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From b4142b2beadadcaf00ba4cc40d0a5ff12819a7a7 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Thu, 13 Oct 2022 14:10:33 +0200 Subject: [PATCH 0199/1872] Update README.md Add Keegan and Diogo to the committee --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index c6ee2b350b9..04a2b389470 100644 --- a/README.md +++ b/README.md @@ -85,8 +85,10 @@ In cases where a niche expert opinion is desirable, one of the committee members - [Aeron Buchanan](https://github.com/aeronbuchanan) - [Gautam Dhameja](https://github.com/gautamdhameja) - [David Hawig](https://github.com/Noc2) +- [Diogo Mendonça](https://github.com/dsm-w3f) - [Sebastian Müller](https://github.com/semuelle) - [Bill Laboon](https://github.com/laboon) +- [Keegan Quigley](https://github.com/keeganquigley) - [Raul Romanutti](https://github.com/rrtti) - [Aleixo Sánchez](https://github.com/alxs) - [Seraya Takahashi](https://github.com/takahser) From 109bca22f3ed9403e834fbd7f3cc6ead12ebd447 Mon Sep 17 00:00:00 2001 From: "E.P" Date: Thu, 13 Oct 2022 14:13:55 +0200 Subject: [PATCH 0200/1872] Milestone #2 and #3 minor changes (#1214) --- applications/escrow_pallet.md | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/applications/escrow_pallet.md b/applications/escrow_pallet.md index 92718906567..dd58bf21c9b 100644 --- a/applications/escrow_pallet.md +++ b/applications/escrow_pallet.md @@ -123,10 +123,9 @@ We would like to add this pallet to the Subtrate recipes repo. | 0a. | License | Apache 2.0 | | 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can send funds to the contributor/receiver. | | 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | -| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | -| 0e. | Article | We will publish an **article** that explains how an Escrow contract can be created and how can it be used. -| 0f. | Benchmarking | Benchmarking will be provided for send_funds. -| 1. | Substrate module: send_funds | We will create a Substrate module that will send funds to to the contributor/receiver | +| 0d. | Article | We will publish an **article** that explains how an Escrow contract can be created and how can it be used. +| 0e. | Benchmarking | Benchmarking will be provided for send_funds. +| 0f. | Substrate module: send_funds | We will create a Substrate module that will send funds to to the contributor/receiver | ### Milestone 3 — Implement Withdraw funds functionality @@ -140,10 +139,9 @@ We would like to add this pallet to the Subtrate recipes repo. | 0a. | License | Apache 2.0 | | 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how the funds holders withdraw. | | 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | -| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | -| 0e. | Article | We will publish an **article** that explains how an Escrow contract can be created and how can it be used. -| 0f. | Benchmarking | Benchmarking will be provided for withdraw_funds. -| 1. | Substrate module: withdraw_funds | We will create a Substrate module that will withdraw the funds if nothing was delivered. | +| 0d. | Article | We will publish an **article** that explains how an Escrow contract can be created and how can it be used. +| 0e. | Benchmarking | Benchmarking will be provided for withdraw_funds. +| 0f. | Substrate module: withdraw_funds | We will create a Substrate module that will withdraw the funds if nothing was delivered. | ## Future Plans From 84f7432569cb54e5da75a6c0ace4195ab03d0c32 Mon Sep 17 00:00:00 2001 From: Diogo <112647953+dsm-w3f@users.noreply.github.com> Date: Thu, 13 Oct 2022 13:44:09 -0300 Subject: [PATCH 0201/1872] Update accepted_grant_applications.md (#1215) --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index b52b2194602..7c243057f2d 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -523,7 +523,7 @@ | [Equilibrium](https://equilibrium.co/) | Polkadot Light Client in C++ | [GitHub](https://github.com/eqlabs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Open rollup](https://github.com/openrollup-zk) | Open rollup - MVP - Phase 1 | [GitHub](https://github.com/openrollup-zk) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Veridise](https://veridise.com/) | Vanguard | [GitHub](https://github.com/Veridise/Vanguard) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Karolis Ramanauskas](https://krl.is/) | Generic Sybil-Resistant Faucet | [GitHub](https://github.com/karooolis) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Karolis Ramanauskas](https://krl.is/) | Generic Sybil-Resistant Faucet | [GitHub](https://github.com/karooolis) |
  • [ ]
|
  • [x]
|
  • [x]
| | [LimeChain](https://limechain.tech/) | Research feasibility for a Go Runtime | [GitHub](https://github.com/LimeChain) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Jim Yam](https://github.com/JimYam) | daos | [GitHub](https://github.com/daos-org/daos.git) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Green Lemon](https://github.com/GreenLemonProtocol) | Green Lemon Protocol | [GitHub](https://github.com/GreenLemonProtocol) |
  • [ ]
|
  • [x]
|
  • [ ]
| From ed35e017b6da337bcc3f123d8c2cf5bc64da4960 Mon Sep 17 00:00:00 2001 From: "Citadel.one" <50121615+citadeldao@users.noreply.github.com> Date: Fri, 14 Oct 2022 23:54:29 +0600 Subject: [PATCH 0202/1872] Update citadel.md (#1216) --- applications/citadel.md | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/applications/citadel.md b/applications/citadel.md index ea93b48ee59..f64243416dc 100644 --- a/applications/citadel.md +++ b/applications/citadel.md @@ -2,7 +2,7 @@ - **Project** : Citadel.one integration of Polkadot - Proposer (GitHub account): citadeldao -- Payment Address: 1A1vqwiis7HWsvXHutsTj956SgrjRSNj5Y +- Payment Address: 0x0834bBD1c425C4610e4b1Dc1145636c9E3B64dE0 (USDC ERC20) ## **Project Overview**📄 @@ -97,12 +97,11 @@ Furthermore, we integrated the fiat gateway and instant cryptocurrency exchange - Gregory Shabalov - co-founder, CTO - Pavel Khivintsev - Lead Backend Developer - Petr Lapin - Lead Frontend Developer -- Alexander Nikishkin - Frontend Developer -- Alexandr Kozhemyakin - QA Engineer +- Iurii Dorofeev - Lead Mobile Developer - Nikita Pashkov - DevOps Engineer - Yeskendir Sarinov - Backend Developer -- Aleksey Gavrilyuk - QA Engineer -- Andrey Dershevich - Mobile Developer +- Grigori Sargsyan - Frontend Developer +- Sofia Peremotina - QA Engineer **Other team members** @@ -143,12 +142,11 @@ From our side, we are ready to make the part associated specifically with Polkad - Gregory Shabalov - [https://www.linkedin.com/in/shabalov/](https://www.linkedin.com/in/shabalov/) - Pavel Khivintsev - [https://www.linkedin.com/in/pavel-khivintsev-89667072/](https://www.linkedin.com/in/pavel-khivintsev-89667072/) - Petr Lapin - https://github.com/lapinlapin -- Andrey Dershevich - https://github.com/Dersh -- Alexander Nikishkin - https://www.linkedin.com/in/aleksandr-nikishkin-1a0500197/ -- Alexandr Kozhemyakin - [https://www.linkedin.com/in/alexandr-kozhemyakin-qa/](https://www.linkedin.com/in/alexandr-kozhemyakin-qa/) +- Iurii Dorofeev - http://www.linkedin.com/in/otopba - Nikita Pashkov - [https://github.com/Krewedk0](https://github.com/Krewedk0) -- Yeskendir Sarinov - [https://www.linkedin.com/in/yeskendir-sarinov-1b08771ab](https://www.linkedin.com/in/yeskendir-sarinov-1b08771ab) -- Aleksey Gavrilyuk - https://www.linkedin.com/in/aleksey-gavrilyuk-40595782/ +- Yeskendir Sarinov - https://github.com/sarinov +- Sofia Peremotina - [https://www.linkedin.com/in/sofia-peremotina-a021901ab/](https://www.linkedin.com/in/sofia-peremotina-a021901ab/) +- Dmitry Sidorov - [http://linkedin.com/in/sidorov-dmitry](http://linkedin.com/in/sidorov-dmitry) - Dmitrii Shehovtsov - [https://www.linkedin.com/in/dmitrii-shekhovtsov-bba673189/](https://www.linkedin.com/in/dmitrii-shekhovtsov-bba673189/) - Rina Spasenkova - [https://www.linkedin.com/in/neshtedle/](https://www.linkedin.com/in/neshtedle/) - Vlad Gorlov - [https://www.linkedin.com/in/vladgorlov/](https://www.linkedin.com/in/vladgorlov/) From e770e8c05101a7cc463490a219109333568bbc65 Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Fri, 14 Oct 2022 14:25:11 -0400 Subject: [PATCH 0203/1872] Update accepted_grant_applications.md (#1218) --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 7c243057f2d..c2a9219d1d7 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -528,7 +528,7 @@ | [Jim Yam](https://github.com/JimYam) | daos | [GitHub](https://github.com/daos-org/daos.git) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Green Lemon](https://github.com/GreenLemonProtocol) | Green Lemon Protocol | [GitHub](https://github.com/GreenLemonProtocol) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Stardust Labs Inc.](https://stardust.finance/) | Integrating ISO-8583 | [GitHub](https://github.com/adit313/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [TwinP](https://www.linkedin.com/in/elioprifti/) | Escrow Pallet | [GitHub](https://github.com/herou) |
  • [ ]
|
  • [x]
|
  • [ ]
| +| [TwinP](https://www.linkedin.com/in/elioprifti/) | Escrow Pallet | [GitHub](https://github.com/herou) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Meta Defender Team](https://github.com/Meta-Defender/) | Meta Defender | [GitHub](https://github.com/Meta-Defender/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [ParaSpell](https://github.com/dudo50/ParaSpell) | ParaSpell | [GitHub](https://github.com/dudo50/ParaSpell) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Primis Labs](https://github.com/Primis-Labs) | Primis | [GitHub](https://github.com/Primis-Labs/client) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From cc90d7ceca33d43684edd1b1c78ffec44b47fd5f Mon Sep 17 00:00:00 2001 From: Diogo <112647953+dsm-w3f@users.noreply.github.com> Date: Sat, 15 Oct 2022 11:16:59 -0300 Subject: [PATCH 0204/1872] Update accepted_grant_applications.md (#1217) --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index c2a9219d1d7..a1add2a3cc5 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -537,7 +537,7 @@ | [JURIMETRIC TECNOLOGIA LTDA](https://www.jurimetric.com.br/) | Polkadart | [GitHub](https://github.com/rankanizer/polkadart) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Skye Kiwi](https://skye.kiwi/) | Choko Wallet | [GitHub](https://github.com/skyekiwi) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Popular Coding](https://www.popularcoding.com/) | Ventur | [GitHub](https://github.com/popular_coding) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Asylum](https://asylum.space/) | Asylum follow-up 1 | [GitHub](https://gitlab.com/asylum-space/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Asylum](https://asylum.space/) | Asylum follow-up 1 | [GitHub](https://gitlab.com/asylum-space/) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Cyril Carlier](https://github.com/CrommVardek) | Maki| [GitHub](https://github.com/CrommVardek) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [TopMonks](https://www.topmonks.com/) | Calamar| [GitHub](https://github.com/topmonks/calamar) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Bela Supernova](https://bsn.si/) | Rubeus Keeper| [GitHub](https://github.com/bsn-si) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 19487c8fbd55f560106b164c0385d6850b222b71 Mon Sep 17 00:00:00 2001 From: omahs <73983677+omahs@users.noreply.github.com> Date: Sat, 15 Oct 2022 16:28:18 +0200 Subject: [PATCH 0205/1872] Fix: typos (#1219) Fix: typos --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 04a2b389470..26842adcd47 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ Generally, your project will have better chances to be accepted if: - It presents a **well-researched** or tested concept, for which ideally you are able to show some prior work. - You can demonstrate that the project will be **maintained** after completion of the grant, be it through an obvious commitment to the technology from your side, additional funding sources or an existing business model. -- Your team has **proven experience** with the relevant languages and technologies and/or a strong technical background. You will be asked to provide the GitHub profiles of your team members as part of your application, which we will examine these for past activity and code quality. Naturally, you can also link to projects on other platforms. +- Your team has **proven experience** with the relevant languages and technologies and/or a strong technical background. You will be asked to provide the GitHub profiles of your team members as part of your application, which we will examine for past activity and code quality. Naturally, you can also link to projects on other platforms. - Your application is **rich in technical details** and well-defined. - You can clearly present how your project stands out among competitors or implements technology that doesn't exist in the ecosystem yet. @@ -143,7 +143,7 @@ The W3F Grants Program offers different grant levels to help you best depending ## :pencil: Process -> **:loudspeaker:** The process below is independent of the [level](#level_slider-levels). Payment is made in Bitcoin, USDT (on Kusama or Ethereum), USDC/DAI (Ethereuem) or aUSD (Acala). If you want to apply in **private** and/or you need to be paid out in **fiat**, you can apply [:arrow_right: here](https://docs.google.com/forms/d/e/1FAIpQLSfMfjiRmDQDRk-4OhNASM6BAKii7rz_B1jWtbCPkUh6N7M2ww/viewform). Note that this is generally a slower process and imposes stricter requirements on applicants. +> **:loudspeaker:** The process below is independent of the [level](#level_slider-levels). Payment is made in Bitcoin, USDT (on Kusama or Ethereum), USDC/DAI (Ethereum) or aUSD (Acala). If you want to apply in **private** and/or you need to be paid out in **fiat**, you can apply [:arrow_right: here](https://docs.google.com/forms/d/e/1FAIpQLSfMfjiRmDQDRk-4OhNASM6BAKii7rz_B1jWtbCPkUh6N7M2ww/viewform). Note that this is generally a slower process and imposes stricter requirements on applicants. ### 1. Application From 31a06a3672d56daace6df62f8adc812becf6efc5 Mon Sep 17 00:00:00 2001 From: Bolat Khojayev Date: Sun, 16 Oct 2022 15:59:05 -0700 Subject: [PATCH 0206/1872] leetcoin application (#1182) --- applications/leetcoin.md | 189 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 189 insertions(+) create mode 100644 applications/leetcoin.md diff --git a/applications/leetcoin.md b/applications/leetcoin.md new file mode 100644 index 00000000000..3a96a4e832f --- /dev/null +++ b/applications/leetcoin.md @@ -0,0 +1,189 @@ +# LeetCoin + +- **Team Name:** LeetCoin +- **Payment Address:** 0x03e95B0657846cD3dCF500791506947272eE12c8 ETH +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 + + +## Project Overview :page_facing_up: + +### Overview + +LeetCoin is the LeetCode for Web3, centered on leveling up dev’s skills. We are creating a platform to help enhance technical skills in a gamified and fun way, expand Web3 technical literacy through highly visual smart contract analysis and create an online judge system for Ink!, Solidity and Vyper to evaluate smart contract solutions against predefined test suites. Web3 is relatively new and most companies do not have established technical interviewing guidelines. Also, technical exploits, both front-end and at the smart contract level, have become a widespread problem harming the ecosystem. To succeed we will take an incremental approach starting with creating problem sets with concepts and challenges that can help developers follow a standardized way to up their level no matter what it is, from beginner to expert across key areas. Problems will be of three primary types: +1. open-ended (write a function that utilizes the x data oracle and returns properly formatted Big Number), +2. comprehension based (given this smart contract, spot the problem leading to a reentrancy guard attack), and +3. knowledge based (which of the following can improve this snippet of code?). + These problem sets will become community-driven through incentivizing creation of new problems. + +The project will be driven by the community and offer interactive, gamified resources for developers to get to their next stage, hiring companies to source superior candidates and better learning resources. Every problem solved as well as created by a community member will be tied to incentives to encourage continuous learning and sustainability. We will partner with Web3 projects, infrastructure builders and tooling experts to co-create problem sets of key skills they believe future hires should have. + +### Project Details + +#### Features + +We are working on 3 important core functionalities: +- Many new Web3 devs lack knowledge in core areas such as Ink!, Security & Auditing, Solc Versioning Knowledge, OppenZepplin, Testing (Apeworx & Brownie), and Exploits (Frontend & Smart Contract). Our platform will host and curate the sets of gamified practice problems that cover core knowledge in the above areas. Each challenge runs against a suite of test cases. New problems will be added regularly and designed by a mix of the LeetCoin team, community members, and Web3 industry partners. +- Hiring core teams is difficult and always a bit risky, especially when many developers prefer to remain anonymous and lack GitHub coding activity, verifiable resumes, or LinkedIn pages. LeetCoin offers core teams a fun way to discover and vet potential builders by testing the only thing that matters: evaluating technical skills in an objective, fair and data-driven approach. We plan to raise the hiring standards across the entire ecosystem and make hiring better for everyone. +- LeetCoin’s online judge engine can compile and run smart contracts code written in Ink!, Solidity and Vyper. The engine records the execution metadata like statistics and saves the execution output to a permanent storage that can be evaluated against the predefined test suite. + +#### Online Judge System +An important part of the LeetCoin platform is the online judge system. The online judge is an engine that can run the candidates’ code solutions against a specified testing suite, evaluate the performance and report the test results back. Currently, there are no online judge solutions that can evaluate the smart contracts against predefined testing suites. We are creating one with the initial support for Ink!, Solidity and Vyper. + +#### Architecture +The platform consists of 3 main components +1. Frontend application - the UI React application that displays all the available problems, problem pages, code editor, user profile, login/signup page, and admin dashboard. The frontend application interacts with the backend application using REST API to request available coding problems, submit problem submissions, retrieve submission results, retrieve user information, etc. +2. Backend application - the core NodeJS application that is responsible for the business logic. The application has a database that stores the list of available coding problems, users, coding submissions and etc. The main purpose is to serve the data from the database via REST API. +3. Online judge engine - the core engine component of the backend app that executes the coding solutions in an isolated environment. The engine supports Ink!, Solidity and Vyper smart contract languages. It compiles the smart contract code, runs it and saves the output to a text file to a dedicated storage. The engine also reads the submission outputs from the storage and compares it against the expected output and reports back the failed and succeeded test cases along with the execution metadata (e.g statistics) and reports them back to the backend application. + ![](https://imgur.com/fDx7QFR.png) + +#### Technology Stack +The frontend application is written in React and hosted on AWS Amplify platform. The backend application utilizes express server framework which is built on top of NodeJS. It is really easy to design REST API using express and the API specification will be written in Swagger. TypeScript is used on the backend. The online judge is packaged as a portable module that can be easily incorporated in the other projects. The judge is written in TypeScript. The submission output database will be initially hosted on S3 as a bucket. + +#### Mockups: +![](https://i.imgur.com/seKd2sa.png) +![](https://imgur.com/W0mNmDc.png) +### Ecosystem Fit + +LeetCoin is an applied, community-driven education-focused public good aimed at building the future builders of Ethereum. It is important because it offers a streamlined way to level up across 3 domains: practice problems, visual and simplified smart contract analysis and hiring. + +We want to provide new devs a gamified way to learn and enhance skills regardless of their background, a way that already fits their mental schemas if they are transferring over from Web2 and familiar with popular platforms like HackerRank and LeetCode. These platforms unfortunately focus on Web2 algorithmic challenges and do not offer Web3-focused problem sets. Not only will a gamified way allow beasier Web3 adoption by developers, it allows practical experience across key areas that ethereum developers only learn over time in a haphazard way by exploring github repos and spending countless hours individually analyzing and testing code. Given that many projects by new devs in the ecosystem are forks of existing smart contracts that are often not fully understood, new devs risk releasing code that leads to exploits and harms the reputation of the ecosystem, presenting a barrier to future potential devs from entering. Problem sets will cover key areas from security and coding to cryptographic primitives and allow builders to create their own personalized learning paths. Better builders lead to a stronger Ethereum foundation and superior talent. Problem sets manifest the Web3 ethos by being open-source and inviting the collaboration of community, domain experts and leading protocols. Community involvement is key given the fast-moving evolution of the ecosystem. + +By allowing hiring teams a means of curating their own problem sets from our open-source database or developing their own, it allows them to pre-screen and vet new hires leading to a higher standard. We aim for Leetcoin to be adopted across the ecosystem similar to how similar platforms have improved hiring processes in Web2. By vetting devs before inviting them to the initial interview to join a core team, the caliber of builders will improve resulting in less technical exploits and superior builders in the ecosystem. + +#### Relevance to Polkadot and Substrate +We anticipate more adoption of Ink! as a smart contract language and teach more developers how to write smart contracts better and more secure. In addition, we anticipate more developers to express interest and switch to Web3 development and help Web3 companies to raise their hiring standards. + + +## Team :busts_in_silhouette: + +### Team members + +- Ali Serag +- Alberto Cevallos +- Bolat Khojayev + + +### Contact + +- **Contact Name:** Bolat Khojayev +- **Contact Email:** team@leetcoin.co +- **Website:** + +### Legal Structure + +Legally incorporated in Canada. + +- **Registered Address:** 1188 WEST GEORGIA STREET VANCOUVER, BC, V6E 4A2, CANADA +- **Registered Legal Entity:** BOSS SOFTWARE CONSULTING LTD. + +### Team's experience + +#### Ali Serag - Lead Smart Contracts Developer +Ali is a serial builder passionate about technology and community. Ali Co-Founded Fostrum, a startup backed by Techstars and Barclays Bank and launched various award-winning open-source initiatives such as covidimpact.ca (Call for Code, Code the Curve). Ali has worked on various DeFi projects over the past several years, both anon and publicly. Having acted as president of the largest tech early-talent community in Canada, Ali is passionate about education and community. Ali advises Vancouver City Council candidates on blockchain and tech-centered policies and is a close advisor to Coding in Color, an international educational initiative supported by the government of Canada focused on teaching refugee youth coding skills. + +#### Bolat Khojayev - Lead Full-stack Developer +Bolat was a senior Amazon full-stack developer and architect who turned to Web3. He worked with various early-stage start-ups such as Connectly.ai and Carmodity to develop their first MVPs, define coding best practices, hire competent developers and establish a high performing engineering culture. Bolat has been interviewing prospective engineers for over 5 years (at Amazon, Connectly and Karat) and has launched various mentorship initiatives, including Qazaq Codes, a curriculum teaching Russian speaking devs core coding competencies. + +#### Alberto Cevallos - Contributor +Alberto is the founder of GreenOak.xyz and heads its Builder Program which provides mentorship and support for projects contributing to the Web3 ecosystem. He is a seasoned Web3 builder and investor, having been co-founder of BadgerDAO and acting as an early core team member of Travala. + +### Team Code Repos + +- https://github.com/greenoakxyz +- https://github.com/greenoakxyz/leetcoin +- https://github.com/greenoakxyz/leetcoin-app + +Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine. + +- https://github.com/Aliserag +- https://github.com/NoirKomBatman +- https://github.com/albertocevallos + +### Team LinkedIn Profiles (if available) + +- https://www.linkedin.com/in/ali-serag-0135a47a/ +- https://www.linkedin.com/in/bkhojayev/ +- https://www.linkedin.com/in/albertocevallos/ + +## Development Status :open_book: + +We have created a landing page https://leetcoin.co and some initial backend skeleton structure https://github.com/greenoakxyz/leetcoin-app. There is no prototype yet and we are currently developing it. + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Total Estimated Duration:** 20 Weeks +- **Full-Time Equivalent (FTE):** 3 FTE +- **Total Costs:** 29,999 DAI + +### Milestone 1 — Implement Ink! Problem Builder, Solution and Compiler + +- **Estimated duration:** 8 weeks +- **FTE:** 3 +- **Costs:** 12,000 DAI + +This milestone will allow for the creation and use of Ink! coding problems. + +| Number | Deliverable | Specification | +| -----: |------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide the documentation for the repository code as well as a tutorial for publishing/designing a user-generated coding problem and test suites. | +| 0c. | Testing Guide | Best practices for developing test suites to run code against and a FAQ. | +| 0d. | Article | Announcement blog post explaining how LeetCoin can be used for upgrading web3 developer skills, improve security and help with properly vetting dev core-team candidates to minimize technical risks. | +| 1. | Design Document | Description of architecture and interface | +| 2. | User Authentication | Create a wallet based authentication system for problem builders as well as users with Web3 Onboard | +| 3. | Import/Export Data | Create tools to import and export problem data using multer, csv-express, fast-csv | +| 4. | Online Judge | Online judge that compiles Ink! contract code and runs it against test suites comparing the actual output with the expected ones based on the different test cases | +| 5. | Frontend problems list | A simple table that displays all available problems on the platform | +| 6. | Frontend code editor | Code editor for the problems | +| 7. | First Ink! Problem Set | Develop first 10 Ink! problems working with core teams of popular DeFi protocols | +| 8. | Database | Database to store all problem datasets (IPFS or MongoDB) | +| 9. | API | Create an API with express, express router, mongoose and CORS | +| 10. | Frontend user profile | User profile page where they can edit their information and see their progress | +| 11. | Logging | Server logging with morgan and winston | + +### Milestone 2 — Educational Modules and Extension + +- **Estimated Duration:** 6 weeks +- **FTE:** 3 +- **Costs:** 10,000 DAI + +This milestone will extend the problem compiler and problem sets as well as introduce new functionality related to different learning paths and in-depth analysis of hugely popular smart contracts. + +| Number | Deliverable | Specification | +| -----: | ----------- |-----------------------------------------------------------------------------------------------------------------------------------------------------------| +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide the documentation for the repository code as well as a tutorial for publishing/designing a user-generated coding problem and test suites. | +| 0c. | Testing Guide | Best practices for developing problem sets, how to test them and a FAQ. | +| 0d. | Article | Announcement blog post explaining the new educational modules on the platform. | +| 1. | Set Creator | Implement problem set curation and creation | +| 2. | Problem Favouriting | Allow users to favourite specific problems to easily reference later | +| 3. | Expand Online Judge | Allow for problems written in Ink!, Rust and Go by extending compiler | +| 4. | Diversify Sets | Diversify problem sets to include security, testing etc. | +| 5. | Educational Modules (Learner) | A dashboard where learners can explore different popular smart contracts to delve deeply into | +| 6. | Educational Modules (Educator) | A builder where educators can add rich text and video media for courses | +| 7. | Badges | Award badges to specific users and educators that have hit specific achievements | + +### Milestone 3 — Hiring Module + +- **Estimated Duration:** 6 weeks +- **FTE:** 3 +- **Costs:** 7,999 DAI + +This milestone will introduce functionality to allow hiring core teams to generate links of predefined problems to share with prospective applicants as well as receive feedback on the applicant’s performance. + +| Number | Deliverable | Specification | +| -----: | ----------- |-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide the documentation for the repository code as well as a tutorial for publishing/designing a user-generated coding problem and test suites. | +| 0c. | Testing Guide | Best practices for developing test suites to run code against and a FAQ. | +| 0d. | Article | Announcement blog post explaining LeetCoin's hiring tools to help vet the candidates. | +| 1. | Employer Problem Sets |
  • Allow employers to search through database of existing problems and add them to problem set
  • Implement problem set timer
  • Implement employer problem set one-time-use link generator
  • Allow employers to optionally specify ethereum address to solve problem
  • Allow employers to create custom problems to mix and match
| +| 2. | Applicant Authentication | Applicants must connect with their Polkadot wallet in order to start and view timed employer problem set | +| 3. | Mailing Notifier | Mailing system that notifies specified email upon completion of problem set with applicant’s answers | + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** Web3 Foundation Website + From 96584da0597bbb648675a2f1e8210b074887ff27 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 17 Oct 2022 08:49:50 +0200 Subject: [PATCH 0207/1872] Update accepted_grant_applications.md Add LeetCoin --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index a1add2a3cc5..0da4494c102 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -560,3 +560,4 @@ | [NexToken Technology](https://github.com/NexTokenTech) | TREX - Timed Release Encryption Xing chains | [GitHub](https://github.com/NexTokenTech/TREX) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Blockcoders](http://blockcoders.io/) | Cross-Consensus Messaging Software Development Kit | [GitHub](https://github.com/blockcoders) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Keystone Wallet](https://keyst.one/) | Polkadot Snap | [GitHub](https://github.com/KeystoneHQ) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [LeetCoin](https://www.leetcoin.co/) | LeetCoin | [GitHub](https://github.com/nashhq/leetcoin) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 51d6131d8f4b1943f9309a5568c2f8163b384cdd Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 17 Oct 2022 11:27:42 +0200 Subject: [PATCH 0208/1872] Update accepted_grant_applications.md Update SubstrateSnap --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 0da4494c102..0359ff7b41f 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -471,7 +471,7 @@ | Team | Project | Link | Terminated | First Delivery | Completed | :--- | :------ | :--- | :--------: | :------------: | :-------: | | [TDSoftware](https://www.tdsoftware.de/) | SubIdentity | [GitHub](https://github.com/TDSoftware) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [ChainSafe Systems](https://chainsafe.io/) | SubstrateSnap Maintenance Proposal | [GitHub](https://github.com/ChainSafe/metamask-snap-polkadot) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [ChainSafe Systems](https://chainsafe.io/) | SubstrateSnap Maintenance Proposal | [GitHub](https://github.com/ChainSafe/metamask-snap-polkadot) |
  • [ ]
|
  • [x]
|
  • [x]
| | [HugoByte](https://hugobyte.com/) | Project Aurras - MVP - Phase 2 | [GitHub](https://github.com/HugoByte) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Perun Network](https://perun.network/) | Perun App Channels | [GitHub](https://github.com/perun-network/) |
  • [ ]
|
  • [x]
|
  • [x]
| | [ChainSafe Systems](https://chainsafe.io/) | Privacy enhancement for Polkadot-js extension | [GitHub](https://github.com/ChainSafe) |
  • [ ]
|
  • [x]
|
  • [x]
| From 81302127c5632bb74d28e5769145da48b8adfb38 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 17 Oct 2022 14:07:42 +0200 Subject: [PATCH 0209/1872] Update accepted_grant_applications.md Update ISO-8583 --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 0359ff7b41f..e820fbf8716 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -527,7 +527,7 @@ | [LimeChain](https://limechain.tech/) | Research feasibility for a Go Runtime | [GitHub](https://github.com/LimeChain) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Jim Yam](https://github.com/JimYam) | daos | [GitHub](https://github.com/daos-org/daos.git) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Green Lemon](https://github.com/GreenLemonProtocol) | Green Lemon Protocol | [GitHub](https://github.com/GreenLemonProtocol) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Stardust Labs Inc.](https://stardust.finance/) | Integrating ISO-8583 | [GitHub](https://github.com/adit313/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Stardust Labs Inc.](https://stardust.finance/) | Integrating ISO-8583 | [GitHub](https://github.com/adit313/) |
  • [ ]
|
  • [x]
|
  • [x]
| | [TwinP](https://www.linkedin.com/in/elioprifti/) | Escrow Pallet | [GitHub](https://github.com/herou) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Meta Defender Team](https://github.com/Meta-Defender/) | Meta Defender | [GitHub](https://github.com/Meta-Defender/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [ParaSpell](https://github.com/dudo50/ParaSpell) | ParaSpell | [GitHub](https://github.com/dudo50/ParaSpell) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 3b018d9f74be29e614cb82c39e39f3fd78630184 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 18 Oct 2022 14:51:27 +0200 Subject: [PATCH 0210/1872] Update README.md Add Interlay, order alphabetically --- README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 26842adcd47..ebd528da54d 100644 --- a/README.md +++ b/README.md @@ -284,16 +284,17 @@ The best way to find out about upcoming hackathons is by following Polkadot on t Below is a list of other grant programs in the Polkadot/Substrate ecosystem: +- [Acala Grants Program](https://acala.network/ecosystem-program) +- [Astar / Shiden Network Builders Program](https://github.com/PlasmNetwork/Builders-Program) +- [Crust Grants Program](https://github.com/crustio/Crust-Grants-Program) - [Darwinia Grants Program](https://github.com/darwinia-network/collaboration/blob/master/grant/README.md#grant-program) -- [Moonbeam Grants Program](https://moonbeam.foundation/grants/) - [Edgeware Grants and Bounties](https://gov.edgewa.re/discussion/1132-edgeware-proposal-process-and-template) -- [Crust Grants Program](https://github.com/crustio/Crust-Grants-Program) +- [Interlay Labs Grants Program](https://github.com/interlay/Grants-Program) - [HydraDX Grants and Bounties](https://docs.hydradx.io/new_deal/) -- [Astar / Shiden Network Builders Program](https://github.com/PlasmNetwork/Builders-Program) +- [Moonbeam Grants Program](https://moonbeam.foundation/grants/) +- [OAK’s Developer Grants](https://oak.tech/community/grants/) - [Picasso / Composable Grants Program](https://grants.composable.finance) - [SubQuery Grants Programme](https://subquery.network/grants) -- [Acala Grants Program](https://acala.network/ecosystem-program) -- [OAK’s Developer Grants](https://oak.tech/community/grants/) ## :information_source: License From b10516a1ba1b9321505bc2b55680be3db318a283 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 18 Oct 2022 14:52:31 +0200 Subject: [PATCH 0211/1872] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ebd528da54d..548c6843d01 100644 --- a/README.md +++ b/README.md @@ -289,8 +289,8 @@ Below is a list of other grant programs in the Polkadot/Substrate ecosystem: - [Crust Grants Program](https://github.com/crustio/Crust-Grants-Program) - [Darwinia Grants Program](https://github.com/darwinia-network/collaboration/blob/master/grant/README.md#grant-program) - [Edgeware Grants and Bounties](https://gov.edgewa.re/discussion/1132-edgeware-proposal-process-and-template) -- [Interlay Labs Grants Program](https://github.com/interlay/Grants-Program) - [HydraDX Grants and Bounties](https://docs.hydradx.io/new_deal/) +- [Interlay Labs Grants Program](https://github.com/interlay/Grants-Program) - [Moonbeam Grants Program](https://moonbeam.foundation/grants/) - [OAK’s Developer Grants](https://oak.tech/community/grants/) - [Picasso / Composable Grants Program](https://grants.composable.finance) From e0f9525a23cd61047ddbb6cd32617f17aa955185 Mon Sep 17 00:00:00 2001 From: Diogo <112647953+dsm-w3f@users.noreply.github.com> Date: Tue, 18 Oct 2022 10:20:34 -0300 Subject: [PATCH 0212/1872] Update accepted_grant_applications.md (#1222) --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index e820fbf8716..79682efafed 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -470,7 +470,7 @@ | Team | Project | Link | Terminated | First Delivery | Completed | :--- | :------ | :--- | :--------: | :------------: | :-------: | -| [TDSoftware](https://www.tdsoftware.de/) | SubIdentity | [GitHub](https://github.com/TDSoftware) |
  • [ ]
|
  • [x]
|
  • [ ]
| +| [TDSoftware](https://www.tdsoftware.de/) | SubIdentity | [GitHub](https://github.com/TDSoftware) |
  • [ ]
|
  • [x]
|
  • [x]
| | [ChainSafe Systems](https://chainsafe.io/) | SubstrateSnap Maintenance Proposal | [GitHub](https://github.com/ChainSafe/metamask-snap-polkadot) |
  • [ ]
|
  • [x]
|
  • [x]
| | [HugoByte](https://hugobyte.com/) | Project Aurras - MVP - Phase 2 | [GitHub](https://github.com/HugoByte) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Perun Network](https://perun.network/) | Perun App Channels | [GitHub](https://github.com/perun-network/) |
  • [ ]
|
  • [x]
|
  • [x]
| From e7f2140179223d06a3d4428b2715cb807a871975 Mon Sep 17 00:00:00 2001 From: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> Date: Wed, 19 Oct 2022 14:21:53 +0200 Subject: [PATCH 0213/1872] Update accepted_grant_applications.md --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 79682efafed..9175ff48aee 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -463,7 +463,7 @@ | [Hashed Systems](https://hashed.io) | Native Bitcoin Vaults (NBV) | [GitHub](https://github.com/hashed-io) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Setheum](https://setheum.xyz/) | Setheum HighEnd LaunchPad Crowdsales Module | [GitHub](https://github.com/Setheum-Labs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [SaaS3 Lab](https://www.saas3.io) | SaaS3 | [GitHub](https://github.com/SaaS3Lab) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [NUTS Finance](https://nuts.finance) | DOT-pegged derivative built on top of the stable asset protocol | [GitHub](https://github.com/nutsfinance/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [NUTS Finance](https://nuts.finance) | DOT-pegged derivative built on top of the stable asset protocol | [GitHub](https://github.com/nutsfinance/) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Strategy Object](https://strategyobject.com/) | Substrate Client for Java | [GitHub](https://github.com/strategyobject/substrate-client-java) |
  • [ ]
|
  • [x]
|
  • [ ]
| ## :surfing_woman: Wave 14 - Second Quarter 2022 From 553efd59635aaa23e2a3fb1b15b0a30fde8cead1 Mon Sep 17 00:00:00 2001 From: Hoon Kim Date: Wed, 19 Oct 2022 15:02:43 +0200 Subject: [PATCH 0214/1872] Changing scope for hardware wallet support for ECDSA accounts (#1225) * remove milestone * changed cost * fix payment address * add network name Co-authored-by: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> Co-authored-by: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> --- applications/polkadotjs-hardware.md | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/applications/polkadotjs-hardware.md b/applications/polkadotjs-hardware.md index 80f3a90c5d1..18e16701e9f 100644 --- a/applications/polkadotjs-hardware.md +++ b/applications/polkadotjs-hardware.md @@ -2,7 +2,7 @@ * **Project:** Hardware ECDSA for Polkadot JS * **Proposer:** @akru -* **Payment Address:** 1DJTSPajRFCjdfn5UgPXGRo6Di8EE1Dzox +* **Payment Address:** DJQ4xK5QC95TJmgoZ8RV8HgvgNFE3JFzzQcuwZ5daYq7YMw (Kusama) ## Project Description :page_facing_up: @@ -27,27 +27,13 @@ Plasm Network(https://plasmnet.io) is a scaling Dapps platform on Substrate. Pla * **Total Estimated Duration:** 6 weeks * **Full-time equivalent (FTE):** 0.6 -* **Total Costs:** 0.7 BTC +* **Total Costs:** 10,000 USDT ### Milestone 1 * **Estimated Duration:** 3 weeks * **Full-time equivalent (FTE):** 0.6 -* **Costs:** 0.35 BTC - -Trezor API support for Polkadot JS Apps. - -| Number | Deliverable | Specification | -| ------------- | ------------- | ------------- | -| 1. | Trezor API ECDSA signer | Introducing Trezor API based signed for Polkadot JS. Required API methods already exposed by standard Trezor API: [getPublicKey](https://wiki.trezor.io/Developers_guide:Trezor_Connect_API_Methods#getPublicKey), [signMessage](https://wiki.trezor.io/Developers_guide:Trezor_Connect_API_Methods#signMessage). | -| 2. | Improve documentation | Add Trezor hardware wallet paragraph into Polkadot-js documentation. | -| 3. | Demo video | Provide demo video of Polkadot Apps sign transaction with Trezor wallet. | - -### Milestone 2 - -* **Estimated Duration:** 3 weeks -* **Full-time equivalent (FTE):** 0.6 -* **Costs:** 0.35 BTC +* **Costs:** 10,000 USDT Ledger API support for Polkadot JS Apps. From 17edf31b2d789aeb1b0e86eab050bebdc2712788 Mon Sep 17 00:00:00 2001 From: Dominik | Supercolony <43150707+coreggon11@users.noreply.github.com> Date: Wed, 19 Oct 2022 15:54:33 +0200 Subject: [PATCH 0215/1872] Follow up grant for Sol2Ink (#1164) * Create sol2ink-follow-up.md * Update sol2ink-follow-up.md * Update sol2ink-follow-up.md * Update sol2ink-follow-up.md * Update applications/sol2ink-follow-up.md Co-authored-by: S E R A Y A * Update sol2ink-follow-up.md * Update sol2ink-follow-up.md Co-authored-by: Toma | SUPERCOLONY Co-authored-by: S E R A Y A --- applications/sol2ink-follow-up.md | 252 ++++++++++++++++++++++++++++++ 1 file changed, 252 insertions(+) create mode 100644 applications/sol2ink-follow-up.md diff --git a/applications/sol2ink-follow-up.md b/applications/sol2ink-follow-up.md new file mode 100644 index 00000000000..529aae13e75 --- /dev/null +++ b/applications/sol2ink-follow-up.md @@ -0,0 +1,252 @@ +# W3F Grant Proposal + +- **Project Name:** Sol2Ink +- **Team Name:** [727.ventures](https://github.com/727-Ventures) +- **Payment Address:** ERC 20 ADDRESS (USDT): +0xE21fA452De95466367Ee6F002BDa654D8Be6c337 +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 3 + +## Project Overview :page_facing_up: + +This is a follow-up application for our [first milestone](https://github.com/w3f/Grants-Program/blob/master/applications/sol2ink.md) + +### Overview + +The goal of this project is to ease the way to Polkadot (Ink!) ecosystem +for the current Solidity smart contract developers and dapps written +in Solidity. Since the ecosystem is relatively new, it may be +discouraging and time-consuming for developers and teams to rewrite +whole existing code bases of their smart contract applications into a +different language (Rust, Ink!). + +This project aims to accelerate this process by transpiling existing +Solidity code into Rust and ink! code, while considering existing +standards of these languages and ecosystems. Some of the points which +are the most time-consuming while doing such transformation are for +example rewriting the headers of functions (position of type and name +identifiers), different behavior of common data types, as well as +usage of different primitive types, and many more. If a developer +decides to use Sol2Ink, it is still needed for them to check the +generated code and correct some issues which may not be handled well +by the program, but the first step of transforming the code base is +completed and already has saved the developer a lot of time. A simple +prototype that was already tested by our developers, which handles +only interfaces for now (since it is very simple to transform those), +can already decrease the time of rewriting some extensive interfaces +into Rust and Ink! from one hour to ten minutes, after correcting +small issues, which the prototype did not consider yet. + +### Project Details + +Sol2Ink will take the code of an existing smart contract (or existing +smart contract application) and transpile the code from Solidity into +Rust. Since it is a smart contract application, it will also use Ink! +implementations to make it a deployable smart contract application. +While doing this, the developer will have an option to use existing +standards and PSPs, one example may be optional usage of OpenBrush +standards (e.g. if there is a call to the ERC-20 interface inside +the contract being transformed, the program will use the PSP-22 +interface from OpenBrush to do the same call). The next step (where +Rust applications differ from Solidity applications) is to use the +correct file structure in the transformed application, and Sol2Ink +will handle this as well. + +This way, we can divide the details of Sol2Ink into a roadmap: + +- Implement Sol2Ink cli tool for simple contract parsing + +The user will give Sol2Ink the +code they want to transform into Ink! and Rust, Sol2Ink will +transpile this code and output the Rust/Ink! code in a new file. + +- Create documentation and a website with guides on how to use Sol2Ink + +Users will better understand +the processes behind the code transpilation and will be more aware of +possible issues which may emerge while using Sol2Ink. + +- Sol2Ink upgrade focused on the ability to parse complex smart contract applications + +The user will be able to give Sol2Ink their whole Solidity project, Sol2Ink will transpile the code and output the Rust/Ink! code in files with a comprehensive file structure. At this stage, Sol2Ink should be able to handle generalization or multiple file dapps in a single step + +- Integration of parsing dependencies and PSP usage option + +One problem may emerge with +generalization, which exists in Solidity but does not exist in Rust. +We can solve this with traits, and this milestone will be focused on +a more efficient way of handling such cases. + +- Sol2Ink web application interface + +More user-friendly way of using Sol2Ink, with a better user experience and without the need of downloading additional tools. + +- Maintenance and integration of new ecosystem standards and updates + +The ecosystem is growing each day, each day new standards and tools emerge. Our product aims to give the best results, and we need to keep up with the ecosystem to fulfill this goal. + +### Ecosystem Fit + +- Where and how does your project fit into the ecosystem? + +As there are many products already existing within the Solidity +ecosystem, which aim to live in the Polkadot/Ink! ecosystem as well, +we think that a lot of processes linked with such transformation are +repetitive and time-consuming and can be done faster with such +transpiler as Sol2Ink aims to be. Therefore we think, that such a +transpiler may speed up the development process for teams +transforming Solidity code bases into Rust and Ink!, and also ease +the way into this ecosystem for new Ink! developers who want to +transform their existing Solidity solutions. + +- Who is your target audience (parachain/dapp/wallet/UI developers, designers, your own user base, some dapp's userbase, yourself)? + +Solidity developers looking to transform applications into Rust and Ink!. + +- What need(s) does your project meet? + +Our project is a tool that will fasten the development process of +transforming existing Solidity projects into Rust and Ink!. + +- Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem? + +We know about [Solang](https://github.com/hyperledger-labs/solang), which is a similar project to Sol2Ink, but +Solang is used for the transition between Solidity and WASM, while Sol2Ink will be a transpiler to readable and editable source code, we are +not aware of such projects in the Dotsama ecosystem. +We are also aware of [Sol2Ligo](https://github.com/madfish-solutions/sol2ligo), which is a transpiler from Solidity to Ligo, which should help with migration to Tezos. + +## Team :busts_in_silhouette: + +### Team members + +- **Markian Ivanichok** (СEO of 727.ventures) +- **Toma Sadova** (Product Owner | 727.ventures) +- **Nameless Endless** (Blockchain Developer | 727.ventures) +- **Dominik Krížo** (Blockchain Developer | 727.ventures) +- **Green Baneling** (Blockchain Core Rust Engineer | 727.ventures) + + +### Contact + +* **Contact Name:** Toma Sadova +* **Contact Email:** toma@727.ventures +* **Website:** [727.ventures](727.ventures) + +### Legal Structure + +* **Registered Address:** The registered office shall be in Coastal Building, Wickham’s +Cay II, P. O. Box 2221, Road Town, Tortola, VG1110, British Virgin Islands. +* **Registered Legal Entity:** Seven2seven Ventures Ltd + +### Team's experience + +**Markian Ivanichok** +CEO of 727.ventures, Blockchain entrepreneur, Software Engineer. Started my engineering career back when I was 15. Since then, I developed and got a lot of experience in engineering and leadership. Gained entrepreneur experience by founding a couple of startups. Inspired, co-founded and invested in Sector F, one of the top consulting companies in Ukraine that helps entrepreneurs to move faster. + +**Toma Sadova** +Product Owner +Toma is a Product Owner of OpenBrush, Head of Education and the main organizer of the [the biggest WASM conference](https://wasm-conference.com/). Toma started her career when she was 14. Since then, Toma has gained a lot of experience in IT technologies, management, leadership and crypto. She switched 4 career paths and figured out that blockchain/crypto is her calling! + +**Nameless Endless** +Blockchain Developer +Became interested in programming at the age of 16. At this time, he tried web development and created a website. Then decided to go to University to study system programming and object-oriented programming. Most often, he used C and C++ languages. Nameless likes innovations of web3 technologies and believes in the potential of Rust language and WASM standard for smart contracts. + +**Dominik Krížo** +Blockchain Developer +Started programming own games at age of 15 as a hobby, then went to University studying informatics and object oriented programming, becoming an Android developer in 2018. In 2017 he started his crypto venture by investing in BTC and Ethereum and getting more knowledge regarding smart contracts and DeFi protocols during DeFi summer 2020. As a programmer, he wanted to know more behind the scenes of smart contracts, so he started to develop his own smart contract applications for Ethereum and then becoming a Rust and Ink! developer in , since he believes that WASM with its benefits over EVM is the future of smart contract applications. As a part of his Android developer career, Dominik was working on porting of applications from C++ to Android/Java, for which he also worked on a tool to ease this process, describing the process of transformation of code base from one language to another in his bachelor's thesis. + +**Green Baneling** +Blockchain Core Developer +Primary programming languages are: C++, Go, Rust + +Finished the faculty of applied mathematics(Master degree). Participated in programming competitions during education. Has worked as a programmer for around 6 years. + +Was a freelancer the first year, creating an application for IOS(Swift), creating modules for the desktop application on C++. After that, spent 2 years in a company which created software for TV devices(C++/ Haxe). After which, for 3 years, worked on different blockchain projects(C++/Go/Rust/Solidity/Js). + +### Team Code Repos + +* https://github.com/727-Ventures + +Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine. + +* https://github.com/o-tsaruk +* https://github.com/coreggon11 +* https://github.com/xgreenx + +### Team LinkedIn Profiles + +* https://www.linkedin.com/in/mivanichok/ +* https://www.linkedin.com/in/toma-sadova/ +* https://www.linkedin.com/in/dominik-krizo/ + +## Development Status :open_book: + +[The project](https://github.com/Supercolony-net/sol2ink) is already in release `1.0.0`. + +## Development Roadmap :nut_and_bolt: + +### Overview + +**We have decided to describe a full roadmap of an Sol2Ink here, with estimates. However, the funding we request at this stage is for milestone 2.** + +* **Total Estimated Duration:** 10 weeks +* **Full-Time Equivalent (FTE):** 2-2.5 +* **Total Costs:** 60,000 USD + + +### Previous work + +### Milestone 1 — Implement Sol2Ink cli tool for simple contract parsing + +- **Estimated duration:** 8 weeks +- **FTE:** 1.5 +- **Costs:** 36,000 USD +- **Delivery status:** [Delivered](https://github.com/w3f/Grant-Milestone-Delivery/blob/master/deliveries/sol2ink-delivery.md) + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | MIT | +| 0b. | Documentation | We will provide a documentation for the user on how to use our tool for simplification of their process of transformation of Solidity code to Rust and Ink! code, along with inline documentation of code so the developers can better understand the processes in the backend | +| 1. | Sol2Ink CLI | A CLI application which will take a Solidity file as the input and produce a transformed Rust file with Rust and ink! code as the output | +| 2. | Integrate OpenBrush | Since OpenBrush is a tool to ease and fasten the smart contracts development in ink!, we will add this library to the smart contracts generated by Sol2Ink | +| 3. | Website with guides | We will provide a website where we will compare a transformation of Solidity code into Rust and ink! code, along with issues which may occur (for example handling of Assembly blocks etc.). | + + +### Current work - Scope of this Grant + + +### Milestone 2 — Upgrade focused on complex Smart contract applications parsing + +- **Estimated duration:** 10 weeks +- **FTE:** 2-2.5 +- **Costs:** 60,000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | MIT | +| 0b. | Documentation | We will enhance both the inline documentation as well as the website with guides to reflect new features implemented in this milestone | +| 0c. | Testing and Testing guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. Documentation will describe how to run these tests. | +| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 1. | Website with guides | We will enhance the existing guides to reflect new features implemented in this milestone; The website with guides is something like an enhanced documentation, the inline documentation just describes the functions of the program, the guides go deeper into how it works, and it also contains a tutorial for usage of Sol2Ink | +| 2. | Split contract into traits | Currently all logic and storage is in one contract file. This upgrade will generate traits for each contract that the contract is using, splitting logic and storage into separate traits. This will also nicely handle inheritance of Solidity smart contracts | +| 3. | Sol2Ink transpiler update | We will update the transpiler to deal with code which it currently does not support or parses incorrectly | +| 3a. | Functions with value | Support calls with value transferring | +| 3b. | Chained selectors | Fix parsing of chained selectors | +| 3c. | Updating structs inside of a mapping | Fix how Sol2Ink rewrites fields of a structure inside a mapping | +| 3d. | Modifiers | Fix some occassions where parsing of a modifier causes the output code to be uncompilable (for example if there is a function call as a modifier argument | +| 3e. | Fix bugs | Fix many small bugs which can occur, after this a more complex contracts (e.g. Uniswap) can be fully covered with Sol2Ink | +| 4. | Library parsing | We will implement the parser for Solidity libraries; currently Sol2Ink only looks for definition of a contract or an interface, since libraries must be handled in a different way, meaning that there is no problem in parsing of Solidity code of a library, but the output code of a Solidity library must be handled in a different way, which is the goal of this deliverable | +| 5. | Handling dependencies and generalization | This will be implemented via traits | +| 6. | Multi-file project parsing | This will be implemented via traits | + +## Future Plans + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0. | Article | We will publish an article which explains the advantages of using Sol2Ink | +| 1. | Handle Solidity specific cases | Delegate calls, assembly code, try/catch blocks etc. | +| 2. | Sol2Ink web application | Web app for an even easier work with Sol2Ink | +| 3. | Maintenance | Keeping up with new ecosystem standards, fixing issues from community | + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** personal recommendation From 332529bc1a0afa2136555fb7c15ec65feb72d792 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Wed, 19 Oct 2022 15:58:15 +0200 Subject: [PATCH 0216/1872] Update accepted_grant_applications.md Sol2Ink Phase 2 --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 9175ff48aee..5d944ad109a 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -561,3 +561,4 @@ | [Blockcoders](http://blockcoders.io/) | Cross-Consensus Messaging Software Development Kit | [GitHub](https://github.com/blockcoders) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Keystone Wallet](https://keyst.one/) | Polkadot Snap | [GitHub](https://github.com/KeystoneHQ) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [LeetCoin](https://www.leetcoin.co/) | LeetCoin | [GitHub](https://github.com/nashhq/leetcoin) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [727.ventures](https://github.com/727-Ventures) | Sol2Ink Phase 2 | [GitHub](https://github.com/727-Ventures) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From ccb647f5042e76100a276f5c38c04d062e02b8f0 Mon Sep 17 00:00:00 2001 From: Diogo <112647953+dsm-w3f@users.noreply.github.com> Date: Wed, 19 Oct 2022 15:29:44 -0300 Subject: [PATCH 0217/1872] Update accepted_grant_applications.md (#1226) --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 5d944ad109a..3a186c2c622 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -488,7 +488,7 @@ | [Rusty Crewmates](http://rustycrewmates.com/) | Substrate Tutorials | [GitHub](https://github.com/rusty-crewmates/substrate-tutorials) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Sequester](https://github.com/SequesterChain) | A Common-Good Carbon Sink on Polkadot | [GitHub](https://github.com/SequesterChain/pallets) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Keysafe Network](https://github.com/keysafe-protocol) | A decentralized protocol for private key custody and crypto asset management | [GitHub](https://github.com/keysafe-protocol) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Fennel Labs](https://fennellabs.com/) | Whiteflag on Fennel Protocol | [GitHub](https://github.com/fennelLabs) |
  • [ ]
|
  • [x]
|
  • [ ]
| +| [Fennel Labs](https://fennellabs.com/) | Whiteflag on Fennel Protocol | [GitHub](https://github.com/fennelLabs) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Relationlabs](https://relationlabs.ai/#/home) | Relation Graph | [GitHub](https://github.com/relationlabs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Decentration](https://kabocha.network) | Supersig | [GitHub](https://github.com/kabocha-network) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Web3 Labs Ltd](https://www.web3labs.com/epirus-explorer) | Epirus Substrate Explorer | [GitHub](https://github.com/web3labs) |
  • [ ]
|
  • [x]
|
  • [x]
| From 0a3d2a06048b296eb632929e5b089d4a15cdc36d Mon Sep 17 00:00:00 2001 From: David Hawig Date: Thu, 20 Oct 2022 17:00:06 +0200 Subject: [PATCH 0218/1872] Update accepted_grant_applications.md Update Primis --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 3a186c2c622..e0e469ae90a 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -531,7 +531,7 @@ | [TwinP](https://www.linkedin.com/in/elioprifti/) | Escrow Pallet | [GitHub](https://github.com/herou) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Meta Defender Team](https://github.com/Meta-Defender/) | Meta Defender | [GitHub](https://github.com/Meta-Defender/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [ParaSpell](https://github.com/dudo50/ParaSpell) | ParaSpell | [GitHub](https://github.com/dudo50/ParaSpell) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Primis Labs](https://github.com/Primis-Labs) | Primis | [GitHub](https://github.com/Primis-Labs/client) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Primis Labs](https://github.com/Primis-Labs) | Primis | [GitHub](https://github.com/Primis-Labs/client) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Uke](https://github.com/Uke-Messaging) | Uke Messaging - PoC - Phase 1 | [GitHub](https://github.com/Uke-Messaging) |
  • [x]
|
  • [ ]
|
  • [ ]
| | [Redstone Network](https://github.com/difttt) | Redstone Network | [GitHub](https://github.com/difttt) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [JURIMETRIC TECNOLOGIA LTDA](https://www.jurimetric.com.br/) | Polkadart | [GitHub](https://github.com/rankanizer/polkadart) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 6c6cb6ecc51d6e0503821e56999759ae7770fc29 Mon Sep 17 00:00:00 2001 From: S E R A Y A Date: Fri, 21 Oct 2022 13:07:09 +0200 Subject: [PATCH 0219/1872] Update accepted_grant_applications.md Accept Supersig M1 --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index e0e469ae90a..2e5cb864e2d 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -490,7 +490,7 @@ | [Keysafe Network](https://github.com/keysafe-protocol) | A decentralized protocol for private key custody and crypto asset management | [GitHub](https://github.com/keysafe-protocol) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Fennel Labs](https://fennellabs.com/) | Whiteflag on Fennel Protocol | [GitHub](https://github.com/fennelLabs) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Relationlabs](https://relationlabs.ai/#/home) | Relation Graph | [GitHub](https://github.com/relationlabs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Decentration](https://kabocha.network) | Supersig | [GitHub](https://github.com/kabocha-network) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Decentration](https://kabocha.network) | Supersig | [GitHub](https://github.com/kabocha-network) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Web3 Labs Ltd](https://www.web3labs.com/epirus-explorer) | Epirus Substrate Explorer | [GitHub](https://github.com/web3labs) |
  • [ ]
|
  • [x]
|
  • [x]
| | [SuperColony](https://github.com/Supercolony-net) | Sol2Ink | [GitHub](https://github.com/Supercolony-net) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [SuperColony](https://github.com/Supercolony-net) | OpenBrush Phase 3 | [GitHub](https://github.com/Supercolony-net) |
  • [ ]
|
  • [x]
|
  • [ ]
| From fc726c69c336a56f4d65ab18a4115765777d095e Mon Sep 17 00:00:00 2001 From: Diogo <112647953+dsm-w3f@users.noreply.github.com> Date: Fri, 21 Oct 2022 16:15:51 -0300 Subject: [PATCH 0220/1872] Update accepted_grant_applications.md (#1229) --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 2e5cb864e2d..3995e1777b6 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -479,7 +479,7 @@ | [Simply VC](https://simply-vc.com.mt/) | PANIC Monitoring and Alerting For Blockchains | [GitHub](https://github.com/SimplyVC/panic) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Artree LLC](https://artree.co.jp/) | Zero Network | [GitHub](https://github.com/zero-network) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [sigma prime](https://sigmaprime.io/) | Differential Fuzzer | [GitHub](https://github.com/sigp) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [t3rn](https://www.t3rn.io/) | XBI - xcm-based high-level standard and interface (ABI) for smart contracts | [GitHub](https://github.com/t3rn/t3rn) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [t3rn](https://www.t3rn.io/) | XBI - xcm-based high-level standard and interface (ABI) for smart contracts | [GitHub](https://github.com/t3rn/t3rn) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Dante Network](https://www.dantechain.com/) | Dante Network | [GitHub](https://github.com/dantenetwork) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Verida](https://www.verida.io/) | Single Sign-On for Apps | [GitHub](https://github.com/verida) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Kami Ekbatanifard](https://github.com/Nick-1979/) | Polkadot js plus / Nomination pools | [GitHub](https://github.com/Nick-1979/polkadot-Js-Plus-extension/wiki) |
  • [ ]
|
  • [x]
|
  • [x]
| From a8352cfa205ce77f5fe51f1b5e42fb533ca76d8b Mon Sep 17 00:00:00 2001 From: philpotisk <55081379+philpotisk@users.noreply.github.com> Date: Sun, 23 Oct 2022 15:32:39 +0200 Subject: [PATCH 0221/1872] NFT infrastructure | by walt.id (#1209) * NFT infrastructure | by walt.id * NFT infrastructure | by walt.id * NFT infrastructure | by walt.id --- applications/walt-id_nft-infra.md | 238 ++++++++++++++++++++++++++++++ 1 file changed, 238 insertions(+) create mode 100644 applications/walt-id_nft-infra.md diff --git a/applications/walt-id_nft-infra.md b/applications/walt-id_nft-infra.md new file mode 100644 index 00000000000..912803a9b2e --- /dev/null +++ b/applications/walt-id_nft-infra.md @@ -0,0 +1,238 @@ + +Any implementation that is EVM compatible (e.g. Moonriver or RMRK with EVM bridge). Furthermore we will look into NFT specific solutions like Uniques FRAME pallet & Efinity. + + +# NFT infrastructure | by walt.id + +- **Project Name:** NFT infrastructure | by walt.id +- **Team Name:** walt.id +- **Payment Address:** 0xa4c6c2013810661a6750443aEF86cFeAc983e07f (USDC) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 + +## Project Overview :page_facing_up: + +### Overview + +**Tagline:** NFT infrastructure for Polkadot + +**Goal:** Offer the easiest and fastest way for developers to use NFTs on Polkadot via holistic open source (Apache 2) infrastructure and dev tooling. + +**Project idea:** This project will make NFTs on Polkadot available to developers and businesses across industries and around the globe. We will do so by building an open source NFT layer for Polkadot (and its Parachains). Technically speaking, we will extend our existing NFT infrastructure with an “integration” for the Polkadot ecosystem. + +**Benefits for Polkadot:** +1. Dev Tooling: Developers will get new and powerful open source dev tools which will enable them to build new types of d/apps and services using NFTs on Polkadot. (This will be useful for d/apps from DeFi to marketplaces.) +2. Traction: All our users/customers (public and private sector) will automatically be able to utilize the Polkadot ecosystem. In other words, we will funnel developers and business clients to the Polkadot ecosystem by making it accessible via our open source NFT infrastructure. +3. Bridges to the “old world”: The project includes a component that enables backwards compatibility with today’s (web2) enterprise infrastructure like identity and access management tools (C/IAM; e.g. KeyCloak). +4. Fueling adoption (Marketing): Walt.id is a top tier VC-backed startup that plans on fast growth (7-digits round, closure in Q4 2022/Q1 2023). Polkadot will strongly benefit from our marketing activities by participating at ecosystem events as well as our commercial enterprise activities. + Our motivation: We are building an identity and NFT abstraction layer for enterprises. Consequently, we are adding support for more and more blockchains / web3 ecosystems and Polkadot is one of the most relevant web3 ecosystems. + +### Project Details + +**Tech Stack:** We will be using the following tech stack: +* Walt.id solutions + * Wallet Kit (incl. progessive web app, auth/exchange protocols like “Sign in with Ethereum” or “Self-Issued OpenID Connect”, …) + * NFT Kit (incl. OPA integration) + * IDP Kit (incl. OpenID Connect integration) +* 3rd party solutions + * Polkadot / Parachains (L0/L1) + * Polcaholic as blockchain explorer and indexer https://docs.polkaholic.io/#introduction + * Open Policy Agent (OPA) https://www.openpolicyagent.org/ + +More information about our solutions (incl. Architecture, APIs, data models) can be found in our docs https://docs.walt.id/ or on GitHub https://github.com/walt-id. + +**Mock Ups/Designs:** Please find some mock ups from our Cloud Platform here: https://drive.google.com/drive/folders/1zHGYcpRvjmWo9QXy9W24np80M10nugeH (Note: While the project will be open source under the Apache 2 license, we’re currently building a managed service/SaaS that will re-use our open source libs to further facilitate use by developers.) + +**Architecture:** Please find a first high-level architecture of the planned project: https://drive.google.com/file/d/1-PYK6DbuTAOPx6covHkk224rvf7bJChV/view + +**Relevant prior work:** Our identity, NFT and wallet infrastructure solutions are already used by thousands of developers, governments, DAOs and enterprises across industries. Moreover, we already built / are building a number of similar projects for other web3 ecosystems like Etheruem, Polygon, IOTA, OCEAN, EBSI, Gaia-X, Velocity Network as well and other major web3 ecosystems which we cannot yet name. + +**Scope:** The project will be focused on building three infrastructure products, which will extend our current open source libraries: + * Wallet Kit: Implementation of a wallet infrastructure that enables developers to extend their apps with the ability to view, manage and utilize NFTs. + * NFT Kit: Implementation of an NFT infrastructure that enables the verification of NFTs (e.g. ownership, meta data) and against customizable verification policies. Our NFT solution will support the ERC721 ink-based implementation and the two pallet-based implementations (Uniques and RMRK). + * IDP Kit: Implementation of an “IDP” (Identity Provider) that enables NFT-based authentication and access management for web2 apps. + +The following limitations follow from this scope: + * The project is focused on enabling NFT “utility” use cases (i.e. verification of NFT ownership and metadata) in a verticale agnostic way (as described above). However, in the future we foresee projects around minting of NFTs. + * The deliverables are open source libraries, which are built for developers. We will not ship elaborate user interfaces or applications for consumers. + + +### Ecosystem Fit + +**Users**: Developers + +**Needs**: NFTs are becoming a core technology to enable digital ownership of assets. At the end of the day, we believe that every asset will be tokenized and NFTs are a way of doing this. As a result, we see a growing need for solutions that make it easy for developers and businesses to build products with NFTs - in particular we see a need to realize the utility functions of NFTs such as in the context of access management. Recent projects by global brands like Starbucks (“Odyssey”) reveal that the market is hungry for new applications of NFT that go beyond the simple tokenization of things. + +**Value**: We create value for +* Developers +* Businesses +* Parachains / ecosystems based on Polkadot +* Polkadot + +**Similar Projects**: There are no comparable projects according to our contact person at the web3 foundation. However, there is a number of organizations who are building Parachains and solutions in the NFT space like unique, RMRK, KodaDot, Enjin. + +**USP**: Enterprise-grade, open source NFT infrastructure layer for developers building on Polkadot. + +## Team :busts_in_silhouette: + +### Team members + +* Dominik Beron (Founder/CEO) - Business Lead +* Phil Potisk (Founder/CTO) - Tech Lead +* Severin Stampler +* Kevin Burgmann +* Walid Khemiri +* Mike Plotean +* Tamino Baumann +* Fatima Beron +* Raphael Baumann + +### Contact + +* Dominik Beron (business): dominik@walt.id +* Phil Potisk (tech): phil@walt.id +* Website: https://walt.id + +### Legal Structure + +- **Registered Address:** Liechtensteinstraße 111/115, 1090 Vienna, Austria +- **Registered Legal Entity:** walt.id GmbH + +### Team's experience + +Dominik Beron (CEO) +* Serial entrepreneur and founder of walt.id +* Law degree (Mag/JD) and executive education (from University of Pennsylvania and Oxford) +* Advises EU Commission, governments, multinationals and top-tier consulting firms on web3, identity and tokenization +* Co-author of Europe’s new digital identity and wallet standards (EBSI, ESSIF) +* Former advisor to the UN, Austrian Parliament + +Phil Potisk (CTO) +* Serial entrepreneur and founder of walt.id +* Software engineering and business economics degree (MSc). +* +15y of work experience in software engineering +* Built and led diverse tech teams +* Built large-scale software-solutions for inter/national clients (Verisign, Telekom Austria, Infineon, Siemens, etc.) +* Background in security, biometric passports and the corresponding inspection systems + +Severin Stampler (Chief Architect) +* Software engineering and business economics degree (MSc). +* +15y of work experience in software engineering +* Built and led diverse tech teams +* Built large-scale distributed systems in the field of AI/ML (e.g. NLP), big data, data processing, analysis, and retrieval + +Raphael Baumann (Business Development) +* Serial entrepreneur +* Business administration graduate at WU Vienna & ESADE Barcelona +* +7y of building tech startups in the travel, sustainability, and web3 sector +* Specialised on Go2Market, Fundraising, Company Strategy +* Speaks English, Spanish, German + +Fatima Beron (People & Ops) +* Business and economics degree +* Former Founder / COO (Impact Venture) +* Ex-Deloitte (Consultant) +* Forbes 30 under 30 (by Forbes US) + +Walid Khemiri (Engineer) +* Software engineering degree (BSc) +* +5y of experience in engineering +* 2y of experience in web3/NFT space + +Mike Plotean (Engineer) +* Software engineering degree (MSc) +* +8y of experience in engineering +* Full-stack engineer with background in AR/VR + +Kevin Burgmann (Engineer) +* 1st employee at walt.id +* +5y of experience in engineering +* 2y of experience in identity/SSI + +Tamino Baumann (Dev Advocate & Product Owner) +* +3y of experience in engineering +* Experienced dev advocate and customer success manager +* (Incredibly smart and reflected generalist) + +### Team Code Repos + +Company GitHub +* https://github.com/walt-id +* https://github.com/walt-id/waltid-nftkit +* https://github.com/walt-id/waltid-idpkit + +Team GitHub +* https://github.com/philpotisk +* https://github.com/severinstampler +* https://github.com/khemiriwalid +* https://github.com/mikeplotean +* https://github.com/waltkb + + +### Team LinkedIn Profiles (if available) + +* https://www.linkedin.com/in/dominikberon +* https://www.linkedin.com/in/philipp-potisk +* https://www.linkedin.com/in/severin-stampler-714605140 +* https://www.linkedin.com/in/fatima-beron-122a035b +* https://www.linkedin.com/in/walid-khemiri-80324b144 +* https://www.linkedin.com/in/plotean +* https://www.linkedin.com/in/taminobaumann + + +## Development Status :open_book: + +Libs/Repos +* https://github.com/walt-id +* https://github.com/walt-id/waltid-nftkit +* https://github.com/walt-id/waltid-idpkit + +Publications / Content +* Whitepapers (e.g. whitepaper with BCG, NFTs for identity, SSI vs. NFTs) +* Playbooks (e.g. NFT Playbook) +* Blog (e.g. NFT Kit, IDP Kit) +Also, we had a conversation with David Hawig about this project. + + +## Development Roadmap :nut_and_bolt: + +### Milestone 1 — NFT Kit + Wallet Kit + IDP Kit + +- **Estimated duration:** 2 months +- **FTE:** 6 +- **Costs:** 29.750 USD (Total costs: 35.000 - 15% good will discount) + +| Number | Deliverable | Specification | +| -----: |------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide both inline documentation of the code and a basic tutorial that explains how a user can (for example) spin up one of our Substrate nodes and send test transactions, which will show how the new functionality works. | +| 0c. | Testing and Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 0e. | Article | We will publish an article or workshop that explains what was done/achieved as part of the grant. | +| 1. | Architecture / Documentation | We will plan and provide the architecture of the proposed project. (Note that the architecture may be updated / extended throughout the project based on learnings from the actual implementation.) | +| 2. | Wallet Kit | Implementation of a wallet infrastructure that enables developers to easily integrate NFTs from the Polkadot ecosystem in any app (e.g. web3, banking, consumer products, marketplaces, …). In other words: Developers will be able to extend their existing apps with the ability to view, manage and utilize NFTs (e.g. for trading or access management). The Wallet Kit is developed in Kotlin and comes with a Docker container incl. REST API. | +| 3. | NFT Kit | Implementation of an NFT infrastructure that enables developers to build holistic applications and end-to-end use cases based on Polkadot. In this first proposal we focus on enabling “utility” use cases (e.g. ticketing, loyalty, vouchers, access). Therefore, the NFT Kit will enable the verification of NFTs across multiple dimensions (e.g. ownership, meta data) and against customizable verification policies (based on the Open Policy Agent). Our NFT solution will support the ERC721 ink-based implementation and the two pallet-based implementations Uniques and RMRK. The NFT Kit is developed in Kotlin and comes with a Docker container incl. REST API. Note, that it relies on 3rd Party libraries/services that also need to be hosted. | +| 4. | IDP Kit | Implementation of an “IDP” (Identity Provider) that enables NFT-based authentication and access management for web2 apps. Backwards compatibility is enabled by transforming NFT verification results into tokens (e.g. JWT) that can be handled by potentially any web2 app (e.g. identity/access tools, messengers, website builders, eCommerce frameworks, CRM tools). The Wallet Kit is developed in Kotlin and comes with a Docker container incl. REST API. | + + +## Future Plans + +Walt.id has been funded by one of Europe’s top tier early stage investors / VCs and we are just about to close another funding round (7-digits round, closure in Q4 2022/Q1 2023), less than a year after our pre-seed. This will help us to further extend our product portfolio and at the same time unlock a substantial amount of marketing budget in order to promote the usage of our tools within our supported ecosystems (like Polkadot). Hence by investing and launching our own professional commercial activities targeting developers and enterprises who potentially benefit from our tools, we will fuel the growth of the Polkadot ecosystem substantially. This includes participating at events, conferences, and hackathons. Further, we are planning on building our own dev community events and activities, in order to promote cross-chain collaboration and knowledge sharing. + +Summing up, we have big plans for the Polkadot ecosystem and we believe that Walt.id can become an integral part of it. That’s why this first grant proposal is just the beginning, and we envision to build a holistic identity, NFT, wallet and storage infrastructure layer for developers and innovators building on top of the Polkadot ecosystem. As such, the project is aligned with our long-term goal of building an abstraction layer for every web3 identity and NFT ecosystems. + +## Additional Information :heavy_plus_sign: + +We heard about the program via the web3 foundation website. + +Further links that may be relevant incl: + +**Content** +* White Papers https://walt.id/white-papers +* Playbooks https://walt.id/playbooks +* Case Studies https://walt.id/case-studies + +**Products** +* Blog https://walt.id/blog/p +* Slides https://docs.google.com/presentation/d/1-105a2LaJVA0lzcQU9QrJx_GXzxAIf-BqCA0XqYzYBM/edit?usp=sharing +* Docs https://docs.walt.id/ +* GitHub https://github.com/walt-id \ No newline at end of file From eb3e4d1872d10088f8f6ccb6fc76497f666d368b Mon Sep 17 00:00:00 2001 From: David Hawig Date: Sun, 23 Oct 2022 15:34:21 +0200 Subject: [PATCH 0222/1872] Update accepted_grant_applications.md walt.id --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 3995e1777b6..1fde8d036a7 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -562,3 +562,4 @@ | [Keystone Wallet](https://keyst.one/) | Polkadot Snap | [GitHub](https://github.com/KeystoneHQ) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [LeetCoin](https://www.leetcoin.co/) | LeetCoin | [GitHub](https://github.com/nashhq/leetcoin) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [727.ventures](https://github.com/727-Ventures) | Sol2Ink Phase 2 | [GitHub](https://github.com/727-Ventures) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [walt.id](https://walt.id/) | NFT infrastructure | [GitHub](https://github.com/walt-id) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 87d9a5ad7c4be735ce5587914ec787634a87b2e6 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Sun, 23 Oct 2022 09:06:43 -0500 Subject: [PATCH 0223/1872] Amendment to wasm-opt-for-rust: no ARM Mac CI (#1230) --- applications/wasm-opt-for-rust.md | 1 - 1 file changed, 1 deletion(-) diff --git a/applications/wasm-opt-for-rust.md b/applications/wasm-opt-for-rust.md index ecc0924ae4b..2233d3f27cb 100644 --- a/applications/wasm-opt-for-rust.md +++ b/applications/wasm-opt-for-rust.md @@ -90,7 +90,6 @@ We will also deliver the following: - Full README and API documentation - Basic regression tests for the binary and library - CI for the platforms - - `aarch64-apple-darwin` - `aarch64-unknown-linux-gnu` - `i686-pc-windows-msvc` - `i686-unknown-linux-gnu` From 112753e6c37fc24ffb90488d0948e64d90d60981 Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Mon, 24 Oct 2022 10:37:53 -0400 Subject: [PATCH 0224/1872] Update accepted_grant_applications.md (#1234) --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 1fde8d036a7..2c5e2909b7c 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -530,7 +530,7 @@ | [Stardust Labs Inc.](https://stardust.finance/) | Integrating ISO-8583 | [GitHub](https://github.com/adit313/) |
  • [ ]
|
  • [x]
|
  • [x]
| | [TwinP](https://www.linkedin.com/in/elioprifti/) | Escrow Pallet | [GitHub](https://github.com/herou) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Meta Defender Team](https://github.com/Meta-Defender/) | Meta Defender | [GitHub](https://github.com/Meta-Defender/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [ParaSpell](https://github.com/dudo50/ParaSpell) | ParaSpell | [GitHub](https://github.com/dudo50/ParaSpell) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [ParaSpell](https://github.com/dudo50/ParaSpell) | ParaSpell | [GitHub](https://github.com/dudo50/ParaSpell) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Primis Labs](https://github.com/Primis-Labs) | Primis | [GitHub](https://github.com/Primis-Labs/client) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Uke](https://github.com/Uke-Messaging) | Uke Messaging - PoC - Phase 1 | [GitHub](https://github.com/Uke-Messaging) |
  • [x]
|
  • [ ]
|
  • [ ]
| | [Redstone Network](https://github.com/difttt) | Redstone Network | [GitHub](https://github.com/difttt) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From cec11b69c714bd01cc67b044771e8bf74ffea701 Mon Sep 17 00:00:00 2001 From: Max Gravitt <32852271+3yekn@users.noreply.github.com> Date: Mon, 24 Oct 2022 11:43:31 -0400 Subject: [PATCH 0225/1872] Removing the BTC faucet functionality because BlueWallet does not support the Bitcoin testnet (#1223) * updating BTC signer to BlueWallet, as requested for Milestone 1 approval * removed faucet functionality because of limitations with BlueWallet and the bitcoin testnet- doesn't support it * Update applications/native-bitcoin-vaults.md Co-authored-by: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> --- applications/native-bitcoin-vaults.md | 1 - 1 file changed, 1 deletion(-) diff --git a/applications/native-bitcoin-vaults.md b/applications/native-bitcoin-vaults.md index b1f5d555ddf..2ef0665083c 100644 --- a/applications/native-bitcoin-vaults.md +++ b/applications/native-bitcoin-vaults.md @@ -290,7 +290,6 @@ The following Extrinsics or RPC calls, with relevant UI functions, will be inclu | 1. | PSBT Signing | Users will be able to sign transactions using our customized signer (`Spectre Desktop`) and save the output to the Substrate node. | | 2. | Transaction Broadcast | When the threshold of signatures has been reached, the node will broadcast the transaction to the Bitcoin network (via integrated Bitcoin core node) | | 4. | Hosted Instances | We will host a `testnet` and `mainnet` instance of the full solution (as a standalone Substrate chain) for no less than 2 years | -| 5. | EZ-Try | The hosted instances will have `EZ-Try`, which is our method of ensuring any level user can easily go to the app with no prerequisites and try it. (e.g. auto-faucet, auto-generate `xpubs`) | | 6. | Support & Maintenance | We will provide user support and maintain compatibility with Substrate releases for no less than 2 years | The following Extrinsics or RPC calls, with relevant UI functions, will be included in milestone #2. From 7dbe9745a10fc4916a30e42c97da8f88fa29591f Mon Sep 17 00:00:00 2001 From: jgophd <77424673+jgophd@users.noreply.github.com> Date: Tue, 25 Oct 2022 09:25:57 -0400 Subject: [PATCH 0226/1872] Peer-Reviewed Academic Journal Article and Dissemination - Digital Inheritance in Web3: A Case Study of Soulbound Tokens and Social Recovery Pallets within the Polkadot and Kusama Ecosystems (#1183) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Create SydTek * Update SydTek * Update SydTek * Rename SydTek to SydTek.md * Update SydTek.md * Update SydTek.md * Update SydTek.md * Update SydTek.md * Update SydTek.md * Update SydTek.md * Update SydTek.md * Update SydTek.md * Update SydTek.md * Update SydTek.md * Update SydTek.md * Update SydTek.md * Update SydTek.md * Update SydTek.md * Update SydTek.md * Update SydTek.md * Update SydTek.md * Update SydTek.md * Update SydTek.md * Update SydTek.md * Update SydTek.md * Update SydTek.md * Update SydTek.md * Update SydTek.md * Update SydTek.md * Update SydTek.md * Update SydTek.md * Update SydTek.md * Update SydTek.md * Update SydTek.md Co-authored-by: Sebastian Müller * Update SydTek.md Co-authored-by: Sebastian Müller * Update SydTek.md Co-authored-by: Sebastian Müller * Update SydTek.md Co-authored-by: Sebastian Müller * Update SydTek.md * Update SydTek.md * Update SydTek.md * Update SydTek.md Co-authored-by: Sebastian Müller --- SydTek.md | 230 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 230 insertions(+) create mode 100644 SydTek.md diff --git a/SydTek.md b/SydTek.md new file mode 100644 index 00000000000..e3efb27a0fc --- /dev/null +++ b/SydTek.md @@ -0,0 +1,230 @@ +# Peer-Reviewed Academic Journal Article and Dissemination - Digital Inheritance in Web3: A Case Study of Soulbound Tokens and Social Recovery Pallets within the Polkadot and Kusama Ecosystems + +> This document will be part of the terms and conditions of your agreement and therefore needs to contain all the required information about the project. Don't remove any of the mandatory parts presented in bold letters or as headlines (except for the title)! Lines starting with a `>` (such as this one) should be removed. Please use markdown instead of HTML (e.g. `![](image.png)` instead of ``). +> +> See the [Grants Program Process](https://github.com/w3f/Grants-Program/#pencil-process) on how to submit a proposal. + +- **Team Name:** SydTek +- **Payment Address:** 0xDB47B39e2fe61bA6a0f82aBf07daa38D358134c5 (USDC - Ethereum Mainnet) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 + +> ⚠️ *The combination of your GitHub account submitting the application and the payment address above will be your unique identifier during the program. Please keep them safe.* + +## Project Overview :page_facing_up: + +If this application is in response to an RFP, please indicate this on the first line of this section. + +If this is an application for a follow-up grant (the continuation of an earlier, successful W3F grant), please provide name and/or pull request of said grant on the first line of this section. + +### Overview + +- A brief description of your project. + +This proposal is to create a peer-reviewed academic case study for applying soulbound tokens within the Polkadot and Kusama ecosystems by leveraging the Social Recovery pallet and soulbound token use cases developed by the Phala Network and RMRK for digital inheritance. This will be a qualitative case study where we will conduct a literature review of soulbound tokens, interview team members and developers of Phala - Marvin Tong, Joshua Waller, and Wenfeng Wang - as well as team members from RMRK. In addition to the research on soulbound tokens, we will also interview Parity Technologies members who are familiar with the development of the Social Recovery pallet to investigate how it can be applied to digital inheritance. + +- An indication of how your project relates to / integrates into Substrate / Polkadot / Kusama. + +This project relates to Substrate / Polkadot / Kusama in that all users within the Polkadot and Kusama ecosystems could implement this digital inheritance model to secure their assets. Futhermore, by leveraging the Social Recovery pallet, users can leverage the Social Recovery Wallet from RFP #1024 to act as a digital executor of user's digital assets. Through this academic research, not only will developers and academic researchers be exposed to the Polkadot and Kusama ecosystems, but we will also benefit from the further development and use cases for soulbound tokens, NFTs, and the Social Recovery pallet within the Polkadot and Kusama ecosystems. + +- An indication of why your team is interested in creating this project. + +SydTek is looking to reinvent higher education through the democratization of education and research. After team members have published peer-reviewed academic case studies on Acala (https://bit.ly/3D55XGh) and Bit.Country (https://bit.ly/3wZaHt4) within the Polkadot ecosystem, we look to expand on a theoretical study of soulbound tokens (https://bit.ly/3RnCmMy) that will be published in the Journal of Strategic Innovation and Sustainability +on October of 2022 with a practical case study within the Polkadot and Kusama ecosystems. + +### Project Details +The following excerpt is from SydTek's study on Bit.Country entitled "The Metaverse as the Digital Leviathan: A Case Study of Bit. Country". This provides a primer to the proposed study. + +The What? + +Older Americans have stockpiled nearly $35 trillion USD over the last few decades and, as a result, contribute up to 27% of all wealth in the United States. Researchers have argued that the time may have come to give this wealth away to the next generation, thereby marking the beginning of “The Great Wealth Transfer.” Kraken, a United States-based cryptocurrency exchange and bank, estimates that Millennials (ages 24 to 39) and Generation Xers (ages 40 to 55) could drive over $1 trillion USD of wealth into cryptocurrencies over the next 25 years as both generations embrace the inherent value of the emerging blockchain technology. While many cryptocurrency enthusiasts have recognized this monetary revolution throughout the past decade, far less have discussed the crucial economic factor that sustains wealth over generations: inheritance, or, in this case, digital inheritance. + +Digital inheritance emerged from the convergence of three previously separate worlds: wealth management, estate planning, and digital assets. Here, a digital asset is stored digitally, is uniquely identifiable, and has some value, such as cryptocurrencies and NFTs. So naturally, one of the central questions surrounding an individual’s digital assets will relate to digital inheritance: How will individuals pass their cryptocurrencies and NFTs onto their beneficiaries once they pass away? This brings us to a foreseeable rise in digital asset executors, who will be responsible for administering an individual’s last will and testament once they pass away and ensure that their digital assets are appropriately distributed to the relevant beneficiaries through, for example, smart contracts on the blockchain. + +Despite the rise of digital asset executors, it would appear that, from a legal point of view, various challenges remain in the way of digital inheritance as being a reliable form of transmitting wealth across generations. For example, in the absence of a private key to an ancestor’s digital wallet, it is neither feasible nor productive to attempt to prove the existence of digital rights through tracing of electronic correspondences, analyses of banking operations, or entries in the registry of rights that reflect transactions with objects certified by tokens. This is where the exploration of the application of soulbound tokens (SBTs) and the Social Recovery Pallet within the Polkadot and Kusama ecosystems may be a proposed solution. + +The Why? + +In a 2020 study by the Cremation Institute, 89% of crypto investors worry about dying with their assets, while only 23% of those have a documented plan. Of that percentage, only 7% have created a will that includes cryptocurrencies. In another survey, roughly 60% of Americans and over 65% of Canadians do not have a will. It was also noted that these numbers could be higher in other parts of the world. This can be attributed to the terror management theory (TMT) and people's fear of dying. We conducted a theoretical case study on soulbound tokens and TMT that can be found here https://bit.ly/3RnCmMy that investigates the possibility of how the introduction of SBTs could alleviate the anxiety and fear of death. Although this use case may be unconventional, it is one that all Web3 users may have to face in their lives. + +The How? + +This proposal is for the creation of a peer-reviewed academic case study for the application of soulbound tokens within the Polkadot and Kusama ecosystems by leveraging the Social Recovery pallet and soulbound token use cases developed by the Phala Network and RMRK for digital inheritance. This will be a qualitative case study where we will conduct a literature review of soulbound tokens, as well as interview team members and developers of Phala - Marvin Tong, Joshua Waller, and Wenfeng Wang - as well as team members from RMRK. In addition to the research on soulbound tokens, we will also interview Parity Technologies members who are familiar with the development of the Social Recovery pallet to investigate how it can be applied to digital inheritance. + +### Ecosystem Fit + +Help us locate your project in the Polkadot/Substrate/Kusama landscape and what problems it tries to solve by answering each of these questions: + +- Where and how does your project fit into the ecosystem? + +As of September of 2022, there are 1.05 million holders of DOT tokens and over 267,000 holders of KSM tokens. In addition to these numbers, many others hold tokens from projects throughout the Polkadot and Kusama ecosystems. With these numbers, users throughout the Polkadot and Kusama ecosystems could benefit from this study as not only will this study bring awareness to the importance of digital inheritance and the Social Recovery Pallet, but this study could also create cross-chain solutions that would bring users from other ecosystems to leverage this offering. + + +- Who is your target audience (parachain/dapp/wallet/UI developers, designers, your own user base, some dapp's userbase, yourself)? + +The target audience for this study would be developers to create a solution for digital inheritance through the use of the Social Recovery Pallet, as well as dapp users. We are in initial discussions with Intentionally Designed Solutions - https://ids.company/ - an organization we have worked with in the post to create a proof of concept in a future proposal if this proposal is accepted. Additionally, as highlighted in the Future Plans section below, a follow-up study is planned with Law Professors to investigate the legal components of digital inheritance within the Web3 space. + +- What need(s) does your project meet? + +As the number will grow exponentially in the coming years, this project meets the current need of 320 million identity-verified crypto and Web3 users globally. With the issue of verifiable proof of assets such as land in emerging economies such as Africa, there is also a social impact component to this study where NFTs could provide verifiable ownership of physical assets. + +- Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem? + +Although there are research-based projects that have received grants from the Web3 Foundation, after a quick search, the team was unable to find a study focused on digital inheritance and the Social Recovery Pallet within the Polkadot and Kusama ecosystems. + +- If so, how is your project different? + +N/A + +- If not, are there similar projects in related ecosystems? + +Two projects outside the Polkadot and Kusama ecosystems offer digital inheritance solutions - Vault12 and Safe Haven. For Vault12, although users can store crypto and NFTs, at the current state, the Vault12 solution is only for Ethereum-based assets. For SafeHaven's Inheriti product, the website notes only 350+ users, which leads to the question of can this solution support ecosystems the size of Polkadot and Kusama? + +## Team :busts_in_silhouette: + +### Team members + +- Justin Goldston, PhD +- Justyna Osowska +- Jordi Chaffer +- Suyeon Han +- Assune Cotlage +- Joshua Waller +- Charles von Goins II + +### Contact + +- **Contact Name:** Justin Goldston, PhD +- **Contact Email:** justin.goldston@sydtek.ai +- **Website:** https://sydtek.ai/ + +### Legal Structure + +- **Registered Legal Entity:** SydTek is a registered LLC in the state of Maryland in the United States + +### Team's experience + +Dr. Justin Goldston - Justin Goldston is a Professor at Penn State University, as well as a Visiting Professor and Graduate Advisory Board Member at Georgetown University and the University of Southern California. His research is focused on blockchain, social impact, and the metaverse, and is a five-time TEDx speaker on blockchain. Please see some of his journal articles below. + +Justyna Osowska - Justyna is the CEO of Women in Blockchain Canada, and has lectured on blockchain at a number of universities in Canada and Cyprus. With a passion to bring more women into the blockchain and Web3 spaces, Justyna brings the angle of inclusivity to the team’s research. + +Tomer Jordi Chaffer - Jordi is a graduate researcher at McGill University in Canada and is also the co-author of The Metaverse as the Digital Leviathan: A Case Study of Bit.Country (please see the link below). As an international speaker on blockchain, Jordi’s research is focused on blockchain within the healthcare sector. + +Assune Cotlage - Assune is a Substrate Certified Developer and the co-founder of SydTek DAO and is also the Chief Information Security Officer for a fintech company in the United States. With his experience, Assune has developed protocols on Ethereum, Avalanche, and Fantom, and continues to collaborate and educate developers within the Polkadot ecosystem. + +Joshua Waller - Joshua is a Substrate Certified Developer for the Phala Network where he develops core protocols/applications on Phala's blockchain system and helps build relationships with community developers and project teams in the ecosystem. Joshua has a Bachelor’s degree in Computer Science from the University of Texas at Austin. As a blockchain enthusiast, Joshua has helped contribute to initiatives to educate the next wave of blockchain devs with SydTek. Before becoming a Blockchain Developer, he worked as a software engineer in converged/hyperconverged IT infrastructure for enterprise businesses. + + +This is the first peer-reviewed academic case study on the metaverse written by Justin Goldston, Jordi Chaffer, and George Martinez. +https://bit.ly/3wZaHt4 + +This is the first peer-reviewed academic case study on hybrid finance (HyFi) written by Justin Goldston and Anoop V.S. +https://bit.ly/3D55XGh + +This will be one of the first academic peer-reviewed journal articles on soulbound tokens once it is published in October of 2022 +https://bit.ly/3RnCmMy + +This is the TEDx page of Justin Goldston that highlights his talks on blockchain and Web3. +https://www.ted.com/search?q=justin%20goldston + +This is the Google Scholar profile for Justin Goldston +https://scholar.google.com/citations?user=trlWfAQAAAAJ&hl=en&oi=ao + +This is the Google Scholar profile of Jordi Chaffer. +https://scholar.google.com/citations?user=ztttWoYAAAAJ&hl=en&oi=ao + +This is the link to Goldston's forthcoming book published by Taylor and Francis entitled "Blockchain for Industry 4.0: Emergence, Challenges and Opportunities" +https://www.taylorfrancis.com/books/edit/10.1201/9781003282914/blockchain-industry-4-0-anoop-asharaf-justin-goldston-samson-williams + +### Team Code Repos + +- https://github.com/kingassune?tab=repositories +- https://github.com/HashWarlock?tab=repositories + +Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine. + +- https://github.com/kingassune +- https://github.com/HashWarlock +- https://github.com/jgophd + +### Team LinkedIn Profiles + +- https://www.linkedin.com/in/justin-goldston/ +- https://www.linkedin.com/in/justyna-osowska/ +- https://www.linkedin.com/in/jordichaffer/ +- https://www.linkedin.com/in/dontrail-cotlage-9312a660/ +- https://www.linkedin.com/in/joshua-waller-33935773/ +- https://www.linkedin.com/in/suyeon-han/ +- https://www.linkedin.com/in/charles-von-goins-ii-968aa824a/ + +## Development Status :open_book: + +- academic publications relevant to the problem we wrote that will be published in October of 2020: https://bit.ly/3RnCmMy + +- References to conversations you might have had related to this project with anyone from the Web3 Foundation, +A message from David Hawig on 6/7/22. + +Hi Justin, + +Sorry for the late reply. Regarding souldbound tokens and social recovery, that’s actually something we already have in our ecosystem with rmrk (see +https://twitter.com/bitfalls/status/152929818658155725) and the social recovery pallet on kusama (https://github.com/paritytech/substrate/tree/master/frame/recovery). But it would be interesting for someone to actually look into it and explore it in more detail and potential future applications. Also most people are probably not aware that this already exists on kusama. + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Total Estimated Duration:** 4 months +- **Full-Time Equivalent (FTE):** 5FTE, the listed members would contribute to different deliverables based on their skill-set. +- **Total Costs:** 29,600 USDC + +### Milestone 1 — State of the Industry on soulbound tokens and digital inheritance + +- **Estimated duration:** 1 month +- **FTE:** 5 +- **Costs:** 15,600 USDC - link to budget details outlined in the Additional Information Section + +| Number | Deliverable | Specification | +| ------: | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| 0. | Rights | All developed materials and raw data will be publicly accessible and public domain via a GitHub repository. Milestone 1 is research oriented and as such there is no code to test. | +| **1.** | Overview of SBTs | We will provide an overview of the current state of the soulbound tokens throughout a number of blockchain ecosystems, along with service providers of Web3 digital inheritance offerings such as Safe Haven’s Inheriti solution. | +| **1a.** | Specific Coverage | Coverage will span [historical information regarding soulbound tokens](https://wrenchinthegears.com/wp-content/uploads/2022/05/Vitalek-Buterin-Soulbound-Token-Paper-May-2022.pdf), [information regarding the theoretical application of the Social Recovery Pallet for digital inheretance](https://polkawallet.medium.com/the-guidance-of-social-recovery-in-polkawallet-4dea03e8b07b), [academic sources](https://bit.ly/3RnCmMy), and [recent developments](https://cryptoslate.com/press-releases/phala-network-releases-first-soulbound-token-use-case-with-phalaworld/). | + +### Milestone 2 — Interviews and Data Collection with Phala Network, RMRK, and Parity Technologies + +- **Estimated Duration:** 1 month +- **FTE:** 5 +- **Costs:** 14,000 USDC - link to budget details outlined in the Additional Information Section + +| Number | Deliverable | Specification | +| ------: | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| 0. | Rights | All developed materials and raw data will be publicly accessible and public domain via a GitHub repository. Milestone 2 is research oriented and as such there is no code to test. | +| **1.** | Interviews | The SydTek team will interview members of Phala Network, RMRK and Parity Technologies to identify ways users can leverage SBTs and the Social Recovery pallet within the Polkadot and Kusama ecosystems for digital inheritance. | +| **1a.** | Specific Coverage | Specific deep dives will propose models and approaches users can leverage to develop proposed solutions of SBT wallets, as well as additional use cases for the Social Recovery pallet. + +### Milestone 3 — Peer Reviewed Academic Journal Article Publication + +- **Estimated Duration:** 2 months +- **FTE:** 3 +- **Costs:** 1,150 USDC - link to budget details outlined in the Additional Information Section + +| Number | Deliverable | Specification | +| ------: | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| 0. | Rights | All developed materials and raw data will be publicly accessible and public domain via a GitHub repository. Milestone 3 is research oriented and as such there is no code to test. | +| **1.** | Submit to OA journal | The SydTek team submit the completed journal article for publication in a peer-reviewed open access journal to ensure the research is available for everyone.| +| **1a.** | Specific Coverage | The team will hold virtual sessions for univerisities such as Georgetown University in Washington, DC in the United States, McGill University in Montreal, Canada, and at the Kings College School of Law in London, UK to share the findings of the study. These events will also be recorded and held in the metaverse. + +... + +## Future Plans + +Upon completion of the journal article, the team will look to apply for a grant from the Treasury to promote the article in-person at academic conferences and at universities. After the dissemination of the foundational case study for soulbound tokens and the Social Recovery pallet at institutions and university blockchain clubs globally, we have plans to conduct follow-up research with law students and academic researchers in the field of Law on the potential legal impacts of soulbound tokens on estate law. As Justin Goldston is an Graduate Advisory Board Member at Georgetown University, Law Professors at Georgetown are curious about the impact of NFTs within the legal practice. Additionally, after a presentation for faculty members from the Smeal College of Business and the Dickinson School of Law at Penn State University, which can be seen here https://bit.ly/3AQiH0C on sustainable impacts of the metaverse, Professors from the Dickinson School of Law are also looking to conduct research on NFTs, the metaverse, and law. After the completion and publishing of the original article, the team looks to conduct a follow-up study of the legal impacts of soulbound tokens. Next, we also look to continue to work with the team at Phala to build out a proof of concept with Intentionally Designed Solutions for the Kusama ecosystem with hope that this concept could be moved to Polkadot once the Social Recovery pallet is available on Polkadot. To continue the awareness of the Social Recovery pallet and the proposed digital inheritance tool, we mentioned the concept to Ray Lu - the Founder of Bit.Country - and we hope to introduce this tool within the Bit.Country metaverse within the Polkadot and Kusama ecosystems. Finally, with the recent annoucement that the Klaytn blockchain has developed a strategic partnership with Parity, in an effort to demonstrate the interoperability of Substrate, we will also work with Neo Yiu and Dr. Sangmin Seo on integrating the proposed solution into the Klaytn metaverse. + + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** Webinar by David Hawig and David suggested we look into the Social Recovery pallet and SBTs within the Kusama ecosystems via email. + +**Milestone budget breakdown** +Please refer to the following link for a description of the budget for each milestone. + +https://docs.google.com/spreadsheets/d/1D6gmQcR7YP9PuHF0SKAKdlQzApzQwj7n/edit?usp=sharing&ouid=114750148283862506967&rtpof=true&sd=true + From e595c4ca7177e8f995ebad6aa48be77824402eaf Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 25 Oct 2022 15:28:34 +0200 Subject: [PATCH 0227/1872] Update accepted_grant_applications.md Add SydTek --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 2c5e2909b7c..496328d06c4 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -563,3 +563,4 @@ | [LeetCoin](https://www.leetcoin.co/) | LeetCoin | [GitHub](https://github.com/nashhq/leetcoin) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [727.ventures](https://github.com/727-Ventures) | Sol2Ink Phase 2 | [GitHub](https://github.com/727-Ventures) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [walt.id](https://walt.id/) | NFT infrastructure | [GitHub](https://github.com/walt-id) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [SydTek](https://sydtek.ai/) | Digital Inheritance in Web3: A Case Study of Soulbound Tokens and Social Recovery Pallets | N/A |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 4095bf5b0b3eb7368a1e88ff843c2ecbbcfa9a76 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 25 Oct 2022 15:55:43 +0200 Subject: [PATCH 0228/1872] Rename SydTek.md to applications/SydTek.md Doc in the wrong folder --- SydTek.md => applications/SydTek.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename SydTek.md => applications/SydTek.md (100%) diff --git a/SydTek.md b/applications/SydTek.md similarity index 100% rename from SydTek.md rename to applications/SydTek.md From 206d7df991328d2203dfc4877a6f52b74060a474 Mon Sep 17 00:00:00 2001 From: Dominik | 727 <43150707+coreggon11@users.noreply.github.com> Date: Wed, 26 Oct 2022 19:07:00 +0200 Subject: [PATCH 0229/1872] Update openbrush-follow-up-2.md (#1237) --- applications/openbrush-follow-up-2.md | 33 ++++++++++++--------------- 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/applications/openbrush-follow-up-2.md b/applications/openbrush-follow-up-2.md index c67f3d56b1a..0fed772d3e9 100644 --- a/applications/openbrush-follow-up-2.md +++ b/applications/openbrush-follow-up-2.md @@ -1,8 +1,8 @@ # W3F Grant Proposal -* **Project Name:** [OpenBrush](https://github.com/Supercolony-net/openbrush-contracts) -* **Team Name:** [SuperColony](https://github.com/Supercolony-net) -* **Payment Address:** ERC 20 ADDRESS: 0xE1B19cE32866cDE87F8f59C7C2C5f90E093A6942 +* **Project Name:** [OpenBrush](https://github.com/727-Ventures/openbrush-contracts) +- **Team Name:** [727.ventures](https://github.com/727-Ventures) +* **Payment Address:** ERC 20 ADDRESS: 0xE21fA452De95466367Ee6F002BDa654D8Be6c337 * **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 3, It is follow-up grant for [first grant](https://github.com/w3f/Grants-Program/pull/497) and for [second grant](https://github.com/w3f/Grants-Program/pull/621). @@ -87,22 +87,19 @@ Objectively speaking, based on what we know and what was listed in their proposa ### Contact * **Contact Name:** Toma Sadova -* **Contact Email:** toma.sadova@supercolony.net -* **Website:** [supercolony.net](supercolony.net) +* **Contact Email:** toma@727.ventures +* **Website:** [727.ventures](727.ventures) ### Legal Structure -* **Registered Address:** The registered office shall be in 16192 Coastal Highway, Lewes, Delaware 19958, County of - Sussex, USA. -* **Registered Legal Entity:** SUPERCOLONY CORP. +* **Registered Address:** The registered office shall be in Coastal Building, Wickham’s +Cay II, P. O. Box 2221, Road Town, Tortola, VG1110, British Virgin Islands. +* **Registered Legal Entity:** Seven2seven Ventures Ltd ### Team's experience **Markian Ivanichok** -CEO of Supercolony, -Blockchain entrepreneur, Software Engineer. -Started my engineering career back when I was 15. Since then, I developed and got a lot of experience in engineering and leadership. Gained entrepreneur experience by founding a couple of startups. Inspired, co-founded and invested in Sector F, one of the top consulting companies in Ukraine that helps entrepreneurs to move faster. -Since the beginning of this year, co-founded and led Supercolony, a Polkadot venture studio that is dedicated to building and creating of Polkadot’s ecosystem. +CEO of 727.ventures, Blockchain entrepreneur, Software Engineer. Started my engineering career back when I was 15. Since then, I developed and got a lot of experience in engineering and leadership. Gained entrepreneur experience by founding a couple of startups. Inspired, co-founded and invested in Sector F, one of the top consulting companies in Ukraine that helps entrepreneurs to move faster. **Toma Sadova** Product Owner @@ -132,7 +129,7 @@ Creative Designer ### Team Code Repos -* https://github.com/Supercolony-net +* https://github.com/727-Ventures Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine. @@ -153,7 +150,7 @@ Please also provide the GitHub accounts of all team members. If they contain no ## Development Status :open_book: -[The project](https://github.com/Supercolony-net/openbrush-contracts) is already in release `1.6.0`. +[The project](https://github.com/727-Ventures/openbrush-contracts) is already in release `1.6.0`. PSP22 - https://github.com/w3f/PSPs/pull/25 @@ -279,8 +276,8 @@ PSP37 - https://github.com/w3f/PSPs/pull/37 | 4. | Implement Diamond Standard in OpenBrush with ink! | We will provide the implementation of the [Diamond standard](https://eips.ethereum.org/EIPS/eip-2535) in OprnBrush. Anyone can easily reuse the implementation or use traits to interact with contracts. | | 5. | Implement Diamond Standard on raw Rust without ink! | Right now the ink! adds a lot of overhead and increases the size of the contract. Implementation of the Diamond standard with raw rust will show the overhead impact and will provide an additional example for WASM developers on how to write contracts without ink!. | | 6. | Create an upgradable analog of each contract in OpenBursh | OpenBrush provides many implementations of different contracts. With upgradability, we also need to provide an upgradable version of each contract. | -| 7a. | Marketing - Write down article about OpenBrush | We are going to write the article abot the importance of OpenBrush and applied usage of it. Moreover, Supercolony team will promote it in Twitter, Medium etc. | -| 7b. | Marketing - Create 2 educational video for OpenBrush | We are going to work on educational video materials for OpenBrush and ink! Community. We see a huge gap in knowledge, understanding, and vision for the whole community in that sphere. Moreover, Supercolony team will promote it in Twitter, Medium etc. We will create a lower entry threshold for newcomers by this educational program. | +| 7a. | Marketing - Write down article about OpenBrush | We are going to write the article abot the importance of OpenBrush and applied usage of it. Moreover, 727.ventures team will promote it in Twitter, Medium etc. | +| 7b. | Marketing - Create 2 educational video for OpenBrush | We are going to work on educational video materials for OpenBrush and ink! Community. We see a huge gap in knowledge, understanding, and vision for the whole community in that sphere. Moreover, 727.ventures team will promote it in Twitter, Medium etc. We will create a lower entry threshold for newcomers by this educational program. | #### Milestone 7. AssetPallet chains extension @@ -299,7 +296,7 @@ PSP37 - https://github.com/w3f/PSPs/pull/37 | 4. | Create standards for `AssetPallet` Chain Extension and for `PSP22Asset` extension | The `AssetPallet` extension can be used by anyone and on any network. It requires the standardization of the methods and data types that are supported. We will create standards for that in the PSP repository. | | 5. | Advanced ink! unit testing framework | Add support to the contract deployment, chain extension registration, and smart contract cross-contract calls into the ink! unit test framework. | | 6. | Support of XCM and cross transferring of `PSP22` tokens | If the support of XCM by the `pallet-assets` is not ready, we will participate in the development process to speed up it. The final step is that anyone will be able to transfer assets of `pallet-assets`, that are managed by the contract, between parachains freely. | -| 7a. | Marketing - Create 2 educational video for OpenBrush/ink! | We are going to work on educational video materials for OpenBrush and ink! Community. We see a huge gap in knowledge, understanding, and vision for the whole community in that sphere. Moreover, Supercolony team will promote it in Twitter, Medium etc. We will create a lower entry threshold for newcomers by this educational program. | +| 7a. | Marketing - Create 2 educational video for OpenBrush/ink! | We are going to work on educational video materials for OpenBrush and ink! Community. We see a huge gap in knowledge, understanding, and vision for the whole community in that sphere. Moreover, 727.ventures team will promote it in Twitter, Medium etc. We will create a lower entry threshold for newcomers by this educational program. | | 7b. | Marketing - The website upgrade | We are going to update out current website and add more specific things to improve the search for OpenBrush website in Google. | ### Future work @@ -319,7 +316,7 @@ PSP37 - https://github.com/w3f/PSPs/pull/37 | 3. | Implement chains extension in OpenBrush | Implementation of contract versions of the `UniquePallet`/`RMRKPallet` chain extension. Anyone will be able to call the logic of pallets from the contract. | | 4. | Implement NFT contract via chain extensions | OpenBrush will provide a default implementation of contracts that are implemented via according chains extensions. | | 5. | Refactoring of trait system in the ink! | Refactoring of trait system in the ink! to support default implementation inside of traits. It should improve the developer's experience with traits and simplify its usage. | -| 6. | Marketing - Create 4 educational video for OpenBrush/ink! | We are going to work on educational video materials for OpenBrush and ink! Community. We see a huge gap in knowledge, understanding, and vision for the whole community in that sphere. Moreover, Supercolony team will promote it in Twitter, Medium etc. We will create a lower entry threshold for newcomers by this educational program. | +| 6. | Marketing - Create 4 educational video for OpenBrush/ink! | We are going to work on educational video materials for OpenBrush and ink! Community. We see a huge gap in knowledge, understanding, and vision for the whole community in that sphere. Moreover, 727.ventures team will promote it in Twitter, Medium etc. We will create a lower entry threshold for newcomers by this educational program. | #### Milestone 9. Multi token chain extension From 13b94272c1920f4be6b25f238ac80ab275392d6d Mon Sep 17 00:00:00 2001 From: Dominik | 727 <43150707+coreggon11@users.noreply.github.com> Date: Wed, 26 Oct 2022 19:08:24 +0200 Subject: [PATCH 0230/1872] Update typechain-polkadot-follow-up.md (#1236) --- applications/typechain-polkadot-follow-up.md | 31 ++++++++++---------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/applications/typechain-polkadot-follow-up.md b/applications/typechain-polkadot-follow-up.md index 2edecfc9443..b25b7d71184 100644 --- a/applications/typechain-polkadot-follow-up.md +++ b/applications/typechain-polkadot-follow-up.md @@ -2,10 +2,10 @@ # W3F Grant Proposal -- **Project Name:** [Typechain-Polkadot](https://github.com/Supercolony-net/typechain-polkadot) -- **Team Name:** [SuperColony](https://github.com/Supercolony-net) +- **Project Name:** [Typechain-Polkadot](https://github.com/727-Ventures/typechain-polkadot) +- **Team Name:** [727.ventures](https://github.com/727-Ventures) - **Payment Address:** ERC 20 ADDRESS: -0xE1B19cE32866cDE87F8f59C7C2C5f90E093A6942 +0xE21fA452De95466367Ee6F002BDa654D8Be6c337 - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 3 ## Project Overview :page_facing_up: @@ -75,27 +75,28 @@ No, we are the first project of the kind in the ecosystem. However, in the Solid ### Team members -- **Markian Ivanichok** (СEO of Supercolony) -- **Toma Sadova** (Product Owner | Supercolony) -- **Green Baneling** (Blockchain Core Rust Engineer | Supercolony) -- **Varex Silver** (Blockchain developer | Supercolony) -- **Artem Lech** (Blockchain developer | Supercolony) +- **Markian Ivanichok** (СEO of 727.ventures) +- **Toma Sadova** (Product Owner | 727.ventures) +- **Green Baneling** (Blockchain Core Rust Engineer | 727.ventures) +- **Varex Silver** (Blockchain developer | 727.ventures) +- **Artem Lech** (Blockchain developer | 727.ventures) ### Contact - **Contact Name:** Toma Sadova -- **Contact Email:** [toma.sadova@supercolony.net](mailto:toma.sadova@supercolony.net) -- **Website:** [supercolony.net](https://supercolony.net/) +- **Contact Email:** [toma@727.ventures](mailto:toma@727.ventures) +- **Website:** [727.ventures](727.ventures) ### Legal Structure -- **Registered Address:** The registered office shall be in 16192 Coastal Highway, Lewes, Delaware 19958, County of Sussex, USA. -- **Registered Legal Entity:** SUPERCOLONY CORP. +* **Registered Address:** The registered office shall be in Coastal Building, Wickham’s +Cay II, P. O. Box 2221, Road Town, Tortola, VG1110, British Virgin Islands. +* **Registered Legal Entity:** Seven2seven Ventures Ltd ### Team's experience **Markian Ivanichok** -CEO of Supercolony, Blockchain entrepreneur, Software Engineer. Started my engineering career back when I was 15. Since then, I have developed and gained a lot of experience in engineering and leadership. Gained entrepreneur experience by founding a couple of startups. Inspired, co-founded, and invested in Sector F, one of the top consulting companies in Ukraine that help entrepreneurs to move faster. Since the beginning of this year, I co-founded and led Supercolony, a Polkadot venture studio that is dedicated to building and creating Polkadot’s ecosystem. +CEO of 727.ventures, Blockchain entrepreneur, Software Engineer. Started my engineering career back when I was 15. Since then, I developed and got a lot of experience in engineering and leadership. Gained entrepreneur experience by founding a couple of startups. Inspired, co-founded and invested in Sector F, one of the top consulting companies in Ukraine that helps entrepreneurs to move faster. **Toma Sadova** Toma is the Market Growth Lead, Product Owner of OpenBrush, and the main organizer of the [biggest WASM conference](https://wasm-conference.com/). Toma started her career when she was 14. Since then, Toma has gained a lot of experience in IT technologies, management, leadership, and crypto. She switched four career paths and figured out blockchain/crypto is her calling! @@ -121,7 +122,7 @@ Student of Applied Mathematics at the Kyiv National University of Taras Shevchen ### Team Code Repos -- [https://github.com/Supercolony-net](https://github.com/Supercolony-net) +- [https://github.com/727-Ventures](https://github.com/727-Ventures) Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine. @@ -138,7 +139,7 @@ Please also provide the GitHub accounts of all team members. If they contain no ## Development Status :open_book: -[The project](https://github.com/Supercolony-net/typechain-polkadot) is already a work-in-progress. +[The project](https://github.com/727-Ventures/typechain-polkadot) is already a work-in-progress. ## Development Roadmap :nut_and_bolt: From 568bfe0fc0f68cbecd52c94a4bff775cc6669d9c Mon Sep 17 00:00:00 2001 From: S E R A Y A Date: Thu, 27 Oct 2022 00:11:09 +0200 Subject: [PATCH 0231/1872] Update accepted_grant_applications.md Accept Shivarthu M1 --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 496328d06c4..8b77b8a354d 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -385,7 +385,7 @@ | [Banksy Finance](http://www.banksy.finance/) | NFT Pool-Based Lending Hub | [GitHub](https://github.com/Banksy-Finance) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [SubDAO Labs](https://www.subdao.network/) | PolkaSign - Web3.0 app for electronic agreements | [GitHub](https://github.com/subdao-network) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Valibre](https://valibre.org) | People Local Interactions Protocol (PLIP) | [GitHub](https://github.com/valibre-org/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Reaudito](https://shivarthu.reaudito.com/#/) | Shivarthu: A blockchain-based decentralized governance system | [GitHub](https://github.com/amiyatulu/shivarthu) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Reaudito](https://shivarthu.reaudito.com/#/) | Shivarthu: A blockchain-based decentralized governance system | [GitHub](https://github.com/amiyatulu/shivarthu) |
  • [ ]
|
  • [x]
|
  • [ ]
| | Uniscan | NFT Explorer | [GitHub](https://github.com/wuminzhe) |
  • [ ]
|
  • [x]
|
  • [x]
| | [LimeChain](https://limechain.tech) | Subsembly - Support for GRANDPA | [GitHub](https://github.com/LimeChain) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [OpenSquare](https://www.opensquare.network) | Off-chain voting platform | [GitHub](https://github.com/opensquare-network/) |
  • [ ]
|
  • [x]
|
  • [x]
| From 4aac629878bca1f69586707c132e1b38b47506fb Mon Sep 17 00:00:00 2001 From: Noc2 Date: Thu, 27 Oct 2022 15:51:06 +0200 Subject: [PATCH 0232/1872] move smart contract RFP --- rfps/open/move_smart_contract_pallet.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 rfps/open/move_smart_contract_pallet.md diff --git a/rfps/open/move_smart_contract_pallet.md b/rfps/open/move_smart_contract_pallet.md new file mode 100644 index 00000000000..5413f47dbdc --- /dev/null +++ b/rfps/open/move_smart_contract_pallet.md @@ -0,0 +1,22 @@ +# Move Smart Contract Pallet +* **Status:** Open +* **Proposer:** [David Hawig](https://github.com/Noc2) + +## Project Description :page_facing_up: + +The Move Virtual Machine (MoveVM) was initially developed by Facebook and is now maintained by the Aptos Foundation. Move is a smart contract programming language that emphasises access control and scarcity. + +[Pontem Network](https://pontem.network/) initially developed the [Move virtual machine pallet](https://github.com/pontem-network/pontem/tree/master/pallets/sp-mvm) to execute Move smart-contracts on Substrate-based chains. However, they stopped working on this pallet to focus on other initiatives. + +The purpose of this RFP is to find other teams that are willing to pick up this initial work and continue with it or work on their own implementation of the Move virtual machine in Substrate. + +**Useful resources:** +- [Move: A Language With Programmable Resources](https://developers.diem.com/papers/diem-move-a-language-with-programmable-resources/2020-05-26.pdf) +- [Move virtual machine pallet](https://github.com/pontem-network/pontem/tree/master/pallets/sp-mvm) +- [Move on Aptos](https://aptos.dev/guides/move-guides/move-on-aptos) + +## Deliverables + +The structure of the grant and the milestones depends highly on the project itself. It’s therefore up to the applying team to come up with a milestone and delivery structure. + + From 37767b52567568e025f46b2d2fbd851da77fcafb Mon Sep 17 00:00:00 2001 From: Daniel Maricic Date: Thu, 27 Oct 2022 16:43:21 +0200 Subject: [PATCH 0233/1872] project idiyanale: multi-token community contributions for verified creators (#1224) * anagolay project idiyanale multi token community contributions for verified creators * Remove the mentions of DOT,KSM. Diagram as well --- ...ity-contributions-for-verified-creators.md | 370 ++++++++++++++++++ 1 file changed, 370 insertions(+) create mode 100644 applications/anagolay-project-idiyanale-multi-token-community-contributions-for-verified-creators.md diff --git a/applications/anagolay-project-idiyanale-multi-token-community-contributions-for-verified-creators.md b/applications/anagolay-project-idiyanale-multi-token-community-contributions-for-verified-creators.md new file mode 100644 index 00000000000..89f581b4e5a --- /dev/null +++ b/applications/anagolay-project-idiyanale-multi-token-community-contributions-for-verified-creators.md @@ -0,0 +1,370 @@ +# Project Idiyanale - Multi-token community contributions for verified creators + +- **Team Name:** Anagolay +- **Payment Address:** `0x3da76bca7ccc8f92dc9c3bc000ea5fc64d7f76b8` (USDT-erc20) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 + +## Project Overview :page_facing_up: + +This application is a continuation of the previously successfully delivered grant called `Project Idiyanale - Phase 1` approved on this [PR-719](https://github.com/w3f/Grants-Program/pull/719). + +### Overview + +As you already know, Anagolay is a peer-to-peer framework for storing and transferring records of Rights (such as Ownership, Copyright & Licenses), based on verified proofs for any digital content. Previously we have worked on building the base for the deterministic and transparent processes we call Workflows, and the on-chain permanent storage for the verifiable Statements. In this grant, we will combine it all and add two more pallets to accomplish truly decentralized community-powered contributions for all verified creators. + +From Idiyanale's point of view, verified creators are the users that have verified their online identity like a domain, subdomain, social account, or repository on Idiyanale. This approach was partially pioneered by Keybase and became a trusted way to determine that a specific user or an organization has correct rights to the given resource. Keybases' approach doesn't include the feature where the community can support the creators in a monetary way. Such a feature was pioneered by Brave when they created the *Brave publishers' program* and issued their cryptocurrency called BAT. The creators would claim ownership of their internet identities similarly as with Keybase, with a big difference: users could support (tip) the creators. This approach didn't gain much traction because it required the use of Brave browser, which most users still don't know about. + +We have identified why the above projects did not succeed in enabling community contributions for verified creators and mitigated them. Keybase is centralized, and people must trust that it will not go down, shut down, or get sold (as it was). Brave's currency is available only within the Brave browser, which limits its usage on other browsers; its verification process is centralized and not transparent. + +Within the scope of this grant proposal, we are upgrading the idea of enabling community support for verified creators and combining it with the processes we built to support Anagolay that allow for transparency, decentralization, and interconnectivity. + +We are creating a transparent and trusted process for verifying internet identities that will enable content creators and open-source developers to monetize the support from their communities without relying on a centralized solution. + +The use case we work on expands the Polkadot and Kusama ecosystem to the whole new communities of creators previously using platforms like Patreon (content creators) and OpenCollective (open-source projects) and provides them with a sound decentralized alternative. + +### Project Details + +We expect the teams to already have a solid idea about your project's expected final state. Therefore, we ask the teams to submit (where relevant): + +- Mockups/designs of any UI components + - they are in the dedicated sections in the milestones +- Data models / API specifications of the core functionality + - they are in the dedicated sections in the milestones +- An overview of the technology stack to be used + - Substrate, Rust, Typescript, Svelte, Tailwind, Chrome extensions APIs +- Documentation of core components, protocols, architecture, etc. to be deployed + - After every milestone, we will deploy the deliverables on our infra for testing. +- PoC/MVP or other relevant prior work or research on the topic + - No PoC or MVP for the scope of this grant +- What your project is _not_ or will _not_ provide or implement + - NA + +### Ecosystem Fit + +Help us locate your project in the Polkadot/Substrate/Kusama landscape and what problems it tries to solve by answering each of these questions: + +- Where and how does your project fit into the ecosystem? + - the creation of the functionality that are in this grant are intended to be used by the whole ecosystem, either via the Idiyanale and the Browser extension or standalone by integrating the `verification` and `tipping` pallets +- Who is your target audience (parachain/dapp/wallet/UI developers, designers, your own user base, some dapp's userbase, yourself)? + - every person that has or will have any of the ecosystems tokens and that is willing to support creators + - any substrate based chain/parachain +- What need(s) does your project meet? + - Enabling creators monetize community support: secure & p2p + - Enabling everybody to support individual projects and creators. + - Expanding the Polkadot and Kusama ecosystem to digital creators domain ( non NFT ) + - Disrupting the platforms like Patreon ( creators ) and OpenCollective ( open-source projects ) +- Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem? + - None that we are aware of that are active + +## Team :busts_in_silhouette: + +### Team members + +- Adriano Dalpane +- Daniel Maricic + +### Contact + +- **Contact Name:** Daniel Maricic +- **Contact Email:** daniel@woss.io +- **Website:** [https://anagolay.network](https://anagolay.network) + +### Legal Structure + +- **Registered Address:** Harju maakond, Tallinn, Kesklinna linnaosa, Viru väljak 2, 10111 +- **Registered Legal Entity:** KELP DIGITAL OÜ + +### Team's experience + +Both of the team members have been involved in the [successfully delivered grant](https://github.com/w3f/Grants-Program/pull/719). + +### Team Code Repos + +- [https://gitlab.com/anagolay/docs](https://gitlab.com/anagolay/docs) +- [https://github.com/anagolay/anagolay-chain](https://github.com/anagolay/anagolay-chain) +- [https://github.com/anagolay/anagolay-js-sdk](https://github.com/anagolay/anagolay-js-sdk) + +Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine. + +- [https://github.com/digitalillusion](https://github.com/digitalillusion) +- [https://github.com/woss](https://github.com/woss) + +### Team LinkedIn Profiles (if available) + +- [https://www.linkedin.com/in/adriano-dalpane/](https://www.linkedin.com/in/adriano-dalpane/) +- [https://www.linkedin.com/in/danielmaricic/](https://www.linkedin.com/in/danielmaricic/) + +## Development Status :open_book: + +The ongoing development happens on https://github.com/anagolay and its repos. + +# Development Roadmap :nut_and_bolt: + +## Overview + +- **Total Estimated Duration:** 2 months +- **Full-Time Equivalent (FTE):** 2 FTE +- **Total Costs:** 24000 USDT + +## Milestone 1 + +- **Estimated duration:** 1 month +- **FTE:** 2 +- **Costs:** 12,000 USD + +| Number | Deliverable | Specification | +| ------ | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 0a. | License | Apache 2.0 | +| 0b. | Documentation | We will provide both inline documentation of the code and a basic tutorial that explains how a user can perform verification of ownership of a domain through DNS TXT record | +| 0c. | Testing and Testing Guide | Comprehensive unit tests will fully cover core functions to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone | +| 0e. | Demo video tutorial | We will publish a video showing the implemented functionality. | +| 1. | Substrate module: verification | We will create a Substrate module that will 1) request a domain verification, 2) perform a domain verification, and 3) list all verified domains. This module requires an off-chain worker and is independent of Anagolay | +| 2. | Statement pallet update | Update the existing Statements pallet to be able to store the rights and connection to the Verification pallet | +| 3. | UI for claiming domain ownership | A new page in the Anagolay App where people can claim the ownership of a domain | + +### Pallet `verification` + +This pallet’s responsibility is to keep records of the verified items and their proofs and to know how to handle different types of verification processes and how to store them. There can be any number of Strategies implemented to handle one or more different verification scenarios. In this grant, we will implement the base code needed to run all Strategies and a `DNSVerificationStrategy`, which will verify domains and subdomains using the DNS TXT record. + +In the following description, we’ll speak of DNS verification, but the same procedure applies similarly to other verification strategies as well. Alice, the client, requests the verification providing the appropriate context (domain, subdomain…), and the request is stored on the chain with `Waiting` status. At the subsequent execution of the off-chain worker, such requests which are in `Waiting` status are ignored. Meanwhile, Alice has received a `VerificationRequested` event with the instructions for the verification challenge, putting a specific key in a DNS TXT record. + +At this stage, the client can halt the process and perform the DoH queries before the `perform_verification` extrinsic call because this will incur the transaction fee if it fails. + +The call to perform verification will update the state of the request to `Pending`, signaling to the off-chain worker that, on the next execution, the challenge must be verified. A registration fee is also deducted from Alice's account during this transition from `Waiting` or `Failed` to `Pending`: this will be the bounty that other users can claim if, at any point in time, they verify that Alice’s domain no longer contains the correct DNS TXT and she neglected to update the verification status herself. + +At execution, the appropriate verification strategy is instantiated, `DNSVerificationStrategy` in this case. It performs a call to the DNS resolve provider. The request is then updated on the chain with the call to a local unsigned extrinsic to store the verification with the appropriate status `Success` or `Failure`. If the verification fails, the registration fee is attributed to the account which is the origin of the call to perform verification, in appreciation of the behavior of external actors that validate that `VerificationRequest` validity is not expired. + +```mermaid +sequenceDiagram + title Verification + + participant Alice + + participant OnChain + + participant OffChainWorker + + participant ExternalSystem + + Alice->>OnChain: request_verification() + activate OnChain + OnChain->>OnChain: VerificationRequest=Waiting + OnChain->>OnChain: pay registration fee + + activate OffChainWorker + OffChainWorker->>OffChainWorker: check VerificationRequest=Pending + deactivate OffChainWorker + + OnChain-->>Alice: VerificationRequested + activate Alice + + deactivate OnChain + Alice->>ExternalSystem: key + Alice->>OnChain: perform_verification() + activate OnChain + + deactivate Alice + OnChain->>OnChain: VerificationRequest=Pending + OnChain-->>Alice: VerificationRequested + deactivate OnChain + + activate OffChainWorker + OffChainWorker->>OffChainWorker:check VerificationRequest=Pending + OffChainWorker->>ExternalSystem:check key + ExternalSystem-->>OffChainWorker:(VerificationStatus) + OffChainWorker->>OnChain:store_verification() + deactivate OffChainWorker + + activate OnChain + OnChain->>OnChain: VerificationRequest=(VerificationStatus) + OnChain->>OnChain: if VerificationRequest=Failed then claim registration fee + OnChain-->>Alice: VerificationSuccessful or VerificationFailed + deactivate OnChain +``` + +**Storage** + +- `VerificationRequestByAccountIdVerificationContext` provides the `VerificationRequest`s indexed by their holder `AccountId` and `VerificationContext` + +**Types** + +- `Bytes` is an alias for `BoundedVec>` +- `DomainVerificationContext` is an enumeration providing the switch to verify (full URL + breakdown) and implements the `VerificationContext` trait + - a domain (ex: anagolay.dev) + - a domain with a username (ex: github.com/anagolay) + - a domain with a subdomain (ex: adriano.anagolay.network) + - a domain with a username and a repository (ex: github.com/woss/git-gpg-remote-sign) +- `VerificationStrategy` is a trait that mimics the behavior of verification strategies on a `VerificationContext` trait, providing the following methods: + - `supports(VerificationContext) -> bool` : defines whether a `VerificationContext` is supported or not + - `verify() -> VerificationStatus`: performs an HTTP call to check the required criterion to pass the verification +- `VerificationStatus` is an enumeration representing the status of the verification: + - `Waiting` + - `Pending` + - `Failure` + - `Success` +- `VerificationRequest` a structure representing the request to verify: + - `context`: one of the supported `VerificationContext`s + - `status`: the `VerificationStatus` + - `holder`: the `AccountId` issuing the request + - `action`: an indication of the action that the holder must perform to pass verification, which is the verification strategy + - `key`: a `Bytes` field containing a challenge string. This is in complete control of the invoked Strategy + - `id`: an `Option` the feedback from the holder pointing at the exact place where the verification should happen (TweetId, etc…) + +**Events** + +- `VerificationRequested(AccountId, VerificationRequest)` produced upon newly requested verification to communicate to the holder the expected action to take +- `VerificationSuccessful` produced upon successful verification +- `VerificationFailed(Bytes)` produced upon failed verification provides a textual explanation of what went wrong. + +**Errors** + +- `VerificationAlreadyIssued` whether the `VerificationContext` is submitted twice, no matter the `VerificationStatus` + +**Extrinsics** + +1. `request_verification()` accepts a `VerificationContext` and produces the information for the holder about the action to take in order for the verification to succeed. A `VerificationRequest` is initialized, iterating through all known `VerificationStrategy` in order to find the one that supports the `VerificationContext` The `VerificationRequest` is stored in `VerificationRequestByAccountIdAndVerificationContext ` with the status `Waiting`, and a `VerificationRequested` event is emitted. +2. `perform_verification()` accepts a `VerificationContext` and `id` and signals that the holder has taken the appropriate action in order for the verification to succeed. The respective `VerificationRequest` from `VerificationRequestByContext` is stored in the off-chain worker indexing database with the status `Pending` and the holder pays a certain amount as a registration fee for the first time only: it will be possible to claim this amount back later. As soon as the off-chain worker runs, it finds the pending request in the off-chain worker indexing database and instantiates the required strategy to perform the verification, which depends on the specific implementation. At this point, an unsigned local transaction is submitted to `store_verification()`, passing the `VerificationStatus`. +3. `store_verification()` updates the `VerificationRequest` present in `VerificationRequestByAccountIdAndVerificationContext` storage with the `VerificationStatus` coming from the off-chain worker. This extrinsic accepts to be called only as an unsigned local transaction, thus not from the external world. One of the `VerificationSuccesful` or `VerificationFailed` events is raised according to the status. + 1. when the `VerificationRequest` `status` translates from `Success` to `Failure`, an economic incentive is attributed to the account that is the origin of the `perform_verification()`. The amount is initially paid by the `VerificationRequest` holder, who has either failed to notify the invalidation of the domain or is claiming the amount back. + +**DNSVerificationStrategy** + +This strategy depends on setting the correct TXT record that is checked in an off-chain worker using the HTTP call to a DoH (DNS over) service at the moment the verification is performed, so the TXT record must be in place for verification to succeed. + +### Statement pallet update - Integration with Anagolay + +The `verification` pallet is intended to be used by the substrate community; however, the `statements` pallet is modified to integrate these previous verification steps and to allow the holder of a successful verification request to produce a Statement of ownership out of the verification result. + +```mermaid +sequenceDiagram + title Statement creation + + participant Alice + + participant OnChain + + activate OnChain + OnChain-->>Alice:VerificationSuccessful + activate Alice + deactivate OnChain + + Alice->>Alice: create and sign the Claim + Alice->>OnChain: create_ownership_for_verification() + activate OnChain + deactivate Alice + + OnChain-->>Alice: OwnershipCreated + deactivate OnChain +``` + +**Storage** + +- `StatementIdByVerificationContext` provides the `StatementId` indexed by the respective `VerificationContext`, if some. + +**Types** + +- Statement validity, expiration, and creation time must be expressed in block time and moved to the `extra` field of the `AnagolayStructure`. A validity `status` is also added so that the Statement is revoked when expiration is reached. + +**Extrinsics** + +1. The new extrinsic `create_ownership_for_verification()` will also create the `ProofData`, filling it with the signature holder, the `VerificationContext`, and checking that the respective `VerificationRequest` is successful. The data is also complemented with some data coming from the strategy, like `workflow_id`. A Proof is generated and associated with the Statement, while the link between verification and Statement is inserted into `StatementIdByVerificationContext` storage. An `OwnershipCreated` event is raised at the end +2. change the existing `create_ownership()` and `create_copyright()` extrinsic to accept the `ProofData`, then invoke the `proofs` pallet to create the Proof with an invariant proof_id + +### UI for claiming domain ownership + +We will create the new publicly available page in Anagolay DApp called `claim-domain-ownership`. On this page, users can go through the process of claiming domain ownership using the DNS verification strategy. The final goal is to store the Ownership Statement on-chain successfully. + +Anagolay App is using the PolkadotJS browser extension and expects to be able to inject the accounts. We will not provide a tutorial on how to transfer the assets nor how to create the account in the extension. The verification will fail if the selected account doesn’t have enough funds. + +Mockup: + +![Domain_Verification_Wireframe.jpg](https://ipfs.anagolay.network/ipfs/bafybeigyprrq34caygzwkvpyewesvo3b2veot7awkjnc4mw6qb4xuvhrim?filename=Domain_Verification_Wireframe.jpg) + +## Milestone 2 + +- **Estimated Duration:** 1 month +- **FTE:** 2 +- **Costs:** 12,000 USD + +| Number | Deliverable | Specification | +| ------ | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 0a. | License | AGPLv3 | +| 0b. | Documentation | We will provide inline documentation of the code and a basic tutorial that explains how a user can perform tipping to a verified domain | +| 0c. | Testing and Testing Guide | Comprehensive unit tests will fully cover core functions to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 0e. | Demo video tutorial | We will publish a video showing the implemented functionality. | +| 1. | Substrate module: tipping | We will create a Substrate module that will 1) allow sending tokens to the holder of the verification of a domain 2) list all the tips received | +| 2. | Anagolay Extension | We will deliver a chrome browser extension that allows a substrate account to send tips using the chosen token | +| 3. | UI: `my-domains` page | A new page in Anagolay App for enabling and setting up tipping | + +### Pallet `tipping` + +Tipping pallet is the core feature in our attempt to build the functionality and features to support creators’ economy in a truly decentralized manner. Every creator can verify their revenue channels like websites, subdomains, or a username on commercial websites and accept payment from anybody in crypto. This pallet, together with the Anagolay Extension, can be used to support open-source projects per user and per repository. To prevent the misuse of the pallet and to make sure that the correct people are supported, the tipping pallet depends on the `verification` pallet to get the proofs of the domain, username or repository verification, and `statements` pallet for the ownership. + +**Storage** + +- `TippingSettingsByReceiverAccountId` provides the `TippingSettings` indexed by their respective `ReceiverAccountId` +- `TipsByReceiverAccountIdAndVerificationContext` provides a collection of `Tips` indexed by their respective `ReceiverAccountId` and `VerificationContext`. + +**Events** + +- `TipCreated(SenderAccountId, ReceiverAccountId, Tip)` produced upon the newly created tip + +**Types** + +- `TippingToken` enumeration of the supported tokens for tipping +- `TippingSettings` is a structure associated with every domain, providing the following fields: + - `enabled`: specifies that the tipping is enabled or not + - `accounts`: a map having `TippingToken` key and `ReceiverAccountId` values, where each entry specifies to which wallet to send the tips given in some kind of token +- `Tip` structure representing a tip, providing the following fields: + - `index` the position of the tip in the collection of tips for the same `VerificationContext` + - `amount` - quantity of tokens tipped + - `token` - `TippingToken` One of the TippingToken values + - `sender` - `AccountId` A user that is tipping + - `createdAt` UNIX timestamp of the tip + +**Extrinsic** + +1. `tip` accepts a `Tip` and a receiver `AccountId` along with a `VerificationContext` and stores them in the `TipsByAccountIdAndVerificationContext` then initiates the transfer of the required amount from the account of the sender to the account of the receiver. +2. custom RPC that allows retrieving the paginated list of `Tip`s + +### Anagolay browser extension + +Anagolay Extension is the extension for chrome based browsers that is used as an entry point for the Tipping and community support of the verified creators. Users can tip other users in supported currencies or tokens in just a few clicks, completely secure and p2p. Idiyanale does not take any additional fees apart from the standard extrinsic fees. To prevent misuse, the extension will not allow tipping for the domains, usernames, and repositories that are not verified. + +We don’t want to write yet another browser-based wallet, and we are very strict about the user's security and private keys; for that reason, we are using the PolkadotJs extension for all crypto and account-based actions like signing the transactions. + +Here is the Sequence Diagram when the user selects the Idiyanale token. + +```mermaid +sequenceDiagram + actor Alice + Extension->>IdiyanaleChain: Check for verification + IdiyanaleChain->>Extension: Domain verified + Note over Extension: Enable tipping functionality + Alice->>+Extension: Select native token for tipping (IDI) + Alice->>+Extension: Select the amount + Extension->>+IdiyanaleChain: Check funds for the account + IdiyanaleChain-->>Extension: Funds amount + Note over Extension: Enable tipping button if Funds > Tip amount + Alice->>+Extension: Send tip + Extension->>+IdiyanaleChain: Invoke the tip() extrinsic + IdiyanaleChain-->>Extension: Success + Extension-->>Alice: Tip successful + Note over Alice,Extension: Confetti 🥳 +``` + +Anagolay Browser Extension Mockup: + +![Tipping_Extension.png](https://ipfs.anagolay.network/ipfs/bafybeid6sjvds5ewqmkffcglglliqwbomp45mjd2xh5zor6onfvcad4zaq?filename=Tipping_Extension.png) + +# Future Plans + +As the members of the SBP we have already solid understanding what we are building in next 1 year. Next improvements that are related to this grant are building more Strategies, a UI for the creators similar to OpenCollective. We will also improve the Extension integrating a DEX, ( Polkadex is a possibility ), and much more. All this goes hand-in-hand with our Mission and Vision to bring the decentralized Rights management, protect the creators IPs. + +# Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** + +We had successfully delivered previous grant [PR-719](https://github.com/w3f/Grants-Program/pull/719). From ad4b36ffc513f77e7a43eed3a166fe43affdbd95 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Thu, 27 Oct 2022 16:45:31 +0200 Subject: [PATCH 0234/1872] Update accepted_grant_applications.md Add Anagolay --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 8b77b8a354d..eb06313d5a7 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -564,3 +564,4 @@ | [727.ventures](https://github.com/727-Ventures) | Sol2Ink Phase 2 | [GitHub](https://github.com/727-Ventures) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [walt.id](https://walt.id/) | NFT infrastructure | [GitHub](https://github.com/walt-id) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [SydTek](https://sydtek.ai/) | Digital Inheritance in Web3: A Case Study of Soulbound Tokens and Social Recovery Pallets | N/A |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Anagolay](https://anagolay.network/) | Multi-token community contributions for verified creators | [GitHub](https://github.com/anagolay) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 1860dd825dc0d8be2283ecfacab19db3aca2b430 Mon Sep 17 00:00:00 2001 From: Dusan Morhac <55763425+dudo50@users.noreply.github.com> Date: Mon, 31 Oct 2022 12:18:21 +0100 Subject: [PATCH 0235/1872] Change image source for ParaSpell application (#1238) * Change image source for ParaSpell application - since old folder was removed from ParaSpell repository images are no longer linked. Thus we wish to replace them with permanent solution that is not linked anywhere in repo. * Repair one picture - One picture was replaced with wrong one, this commit fixes that. --- applications/ParaSpell.md | 33 ++++++++++++--------------------- 1 file changed, 12 insertions(+), 21 deletions(-) diff --git a/applications/ParaSpell.md b/applications/ParaSpell.md index a96b9181d3e..f5a648737b4 100644 --- a/applications/ParaSpell.md +++ b/applications/ParaSpell.md @@ -18,9 +18,7 @@ ParaSpell main advantages can be summarized in the following list: One of the ParaSpell main goals is to reduce the time necessary to create XCM calls or open HRMP channels. -[ -![Opening channel screen](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/comparisonImg.jpg) -](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/comparisonImg.jpg) +![comparisonImg](https://user-images.githubusercontent.com/55763425/198575362-929a94fc-b118-42de-95b4-b8ac358be3bc.jpg) As we can see in the figure above, the amount of details the user has to fill to transfer the XCM message is drastically reduced. As an example, users do not need to specify a specific route from origin to destination chain. These details are filled for them. @@ -35,38 +33,31 @@ Overall ParaSpell is all about developer experience. ParaSpell in its current form allows developers to install all dependencies as well as a network consisting of Rococo, Pichiu(Kylin network), Bifrost & Acala nodes with one command. Launching a network is also done by one command. Once the network is installed and started ParaSpell application allows developers to open/close HRMP channels between mentioned parachains. In current progress ParaSpell already has user interface and main functionality almost finished. The following screen allows the user to open the HRMP channels between list of parachains pulled from Rococo by API call. -[ -![Opening channel screen](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/Open%20channel.png) -](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/Open%20channel.png) +Open channel + Closing HRMP channels is just as simple as opening them. One button click to close the required channel. -[ -![Closing channel screen](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/close%20channel.png) -](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/close%20channel.png) +close channel + If the user decides to transfer funds from Relay chain to Parachain they can do so by filling following details. These required details are way faster to fill than filling a full XCM call which requires a complete route and selection of concrete token. -[ -![Relay to para screen](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/relay%20to%20para.png) -](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/relay%20to%20para.png) +relay to para The opposite, but nearly the same scenario is sending tokens from Parachain to Relay chain. It is just as simple, however. -[ -![Para to relay screen](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/para%20to%20relay.png) -](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/para%20to%20relay.png) +para to relay + The last transaction scenario is the transfer of funds between Parachain and another Parachain. -[ -![Para to para screen](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/para%20to%20para.png) -](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/para%20to%20para.png) +para to para + - Overview video of application is also available on Youtube [Link to overview video](https://youtu.be/YKZEa2MaY6Q) #### Architecture 🏗 -[ -![Diagram](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/screenFlow.svg) -](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/screenFlow.svg) +![screenFlow](https://user-images.githubusercontent.com/55763425/198412240-e031d877-c5d8-4952-9048-2e1256ba4469.svg) + Application is purposely designed to be as simple as possible. This guarantees, that all tasks can be done quickly and without extended searching. All necessary screens also feature notifications which will as a milestone explain be callback reactive. The loading screen is only present on the first application & network startup, once accessing the same screen after the application was loaded it will be skipped automatically. The screen serves to register necessary assets in parachain nodes. This is only required to be run once per network startup. From 17d1ecc6d26cf636e29258340767ed1a2fc9fb6a Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 31 Oct 2022 12:49:16 +0100 Subject: [PATCH 0236/1872] Update accepted_grant_applications.md Update native bitcoin vaults --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index eb06313d5a7..e91e95cf2ed 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -460,7 +460,7 @@ | [Second State](https://www.secondstate.io/) | WasmEdge for Substrate | [GitHub](https://github.com/wasmedge) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Wow Labz](https://www.wowlabz.com/) | Dot Marketplace Phase 2 | [GitHub](https://github.com/WowLabz) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Stardust Labs Inc.](https://stardust.finance/) | Uncollateralized Stablecoin Research and Design | [GitHub](https://github.com/adit313/) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Hashed Systems](https://hashed.io) | Native Bitcoin Vaults (NBV) | [GitHub](https://github.com/hashed-io) |
  • [ ]
|
  • [x]
|
  • [ ]
| +| [Hashed Systems](https://hashed.io) | Native Bitcoin Vaults (NBV) | [GitHub](https://github.com/hashed-io) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Setheum](https://setheum.xyz/) | Setheum HighEnd LaunchPad Crowdsales Module | [GitHub](https://github.com/Setheum-Labs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [SaaS3 Lab](https://www.saas3.io) | SaaS3 | [GitHub](https://github.com/SaaS3Lab) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [NUTS Finance](https://nuts.finance) | DOT-pegged derivative built on top of the stable asset protocol | [GitHub](https://github.com/nutsfinance/) |
  • [ ]
|
  • [x]
|
  • [x]
| From b6419e9fd5f59691b8906eccdad01dcfca6f5941 Mon Sep 17 00:00:00 2001 From: amankumar1008 <117007003+amankumar1008@users.noreply.github.com> Date: Mon, 31 Oct 2022 19:21:29 +0530 Subject: [PATCH 0237/1872] Added grant application (#1241) --- applications/ink-smart-contract-wizard.md | 117 ++++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 applications/ink-smart-contract-wizard.md diff --git a/applications/ink-smart-contract-wizard.md b/applications/ink-smart-contract-wizard.md new file mode 100644 index 00000000000..d1cfc4d9aee --- /dev/null +++ b/applications/ink-smart-contract-wizard.md @@ -0,0 +1,117 @@ +# Open Grant Proposal + + +* **Project Name:** Ink Conracts Wizard + +* **Team Name:** Ink Contracts Wizard Team + +* **Payment Address:** Bitcoin Address: bc1qtf7h53c4a0c0h0z8mrfp4krk979206wxhdt2a5 + +* **Level:** 1 + + +## Project Overview :page_facing_up: + +### Overview + +Ink Contracts Wizard is an UI based smart contract generation tool. It will scaffold Smart Contracts based on the options selected by the user. User can also download the contracts if required. All the Contracts will be scaffolded from GitHub and anyone can contribute to UI as well as contracts since everything will be open source. + +### Motivation +A lot of people use OpenZepplin's Smart Contract Wizard tool on daily basis since they are industry standard. We will be taking smart contracts from Ink GitHub Examples repo: https://github.com/paritytech/ink/tree/master/examples + +### Ecosystem Fit + - Where and how does your project fit into the ecosystem? +Anyone who wants to quickly scaffold smart contract by filling a simple form in the UI can use our platform. + - Who is your target audience (parachain/dapp/wallet/UI developers, designers, your own user base, some dapp's userbase, yourself)? +Anyone who wants to create Smart Contracts on top of Ink are our target users. + + +### User Journey + - User visits Ink Smart Contract Wizard website. + - User selects option in which she wants there smart contracts to have functionality. + - User will be able to generate the Smart Contract. + - User can download the smart Contract. + + +### Simillar platforms for solidity + +- https://docs.openzeppelin.com/contracts/4.x/wizard + + +## Team :busts_in_silhouette: + +### Team members + +* Aman Kumar + +### Contact + +* **Contact Name:** Aman Kumar + + +### Legal Structure + +* **Registered Legal Entity:** Not yet registered + +### Team's experience + +* Aman Kumar: Worked in Paytm, Gojek in the past. Currently working in Amazon as SDE-2. Into Web3 space since 2020. + +### Team Code Repos + +* https://github.com/amankumar1008 + +## Development Roadmap :nut_and_bolt: + +# Overview + +## Grant level + +Level 1: Up to $10,000, 2 approvals + + +## Development Roadmap :nut_and_bolt: + +* **Total Estimated Duration:** 9 weeks + +* **Total Costs:** 8,000 USD + +### Milestone 1 + +* **Estimated Duration:** 5 weeks + +* **Costs:** 4,000 USD + + +| Number | Deliverable | Specification | +| ------------- | ------------- | ------------- | +| 0a. | Apache License 2.0 | All code will be published under Apache 2.0 | +| 0b. | Documentation | We will provide both inline documentation of the code. | +| 0c. | Testing and it's Guide | Core functions will be fully covered by comprehensive unit tests written in rust test which is a great test runner to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 0e. | Articles | We will publish a series of articles on how to develop smart contracts on top of this platform. | +| 0. | Conversion of smart contracts written in Ink to it's components. | We will be using this repo examples: https://github.com/paritytech/ink/tree/master/examples and will convert them into basic components in JSON format. | +| 1. | Creation of code generation logic for Ink smart contracts. | We will be building our own code generator. It will take JSON as input and will product Rust code as output. | + +### Milestone 2 + +* **Estimated Duration:** 4 weeks + +* **Costs:** 4,000 USD + + +| Number | Deliverable | Specification | +| ------------- | ------------- | ------------- | +| 0a. | Apache License 2.0 | All code will be published under Apache 2.0 | +| 0b. | Documentation | We will provide both inline documentation of the code and a basic tutorial that explains how a user can run the frontend code and generate Ink smart contracts. | +| 0c. | Testing and it's Guide | Core functions will be fully covered by comprehensive unit tests written in Jest to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. We will serve our frontend via NGINX as our reverse proxy. | +| 0e. | Articles | We will publish a series of tutorials along with online workshops within our discord community so that we can educate our users the use of this platform. | +| 0. | smart Contract generator Page | We will be building our generator using NextJS. People will be able to generate smart contract using our UI platform. | + + +## Additional Information :heavy_plus_sign: + + + +* We're currently implementing it in substrate ecosystem. From 6f302c3d30e3970613a63f2cb351cc9dd3c98eb3 Mon Sep 17 00:00:00 2001 From: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> Date: Mon, 31 Oct 2022 16:46:10 +0100 Subject: [PATCH 0238/1872] Fix formatting --- applications/ink-smart-contract-wizard.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/applications/ink-smart-contract-wizard.md b/applications/ink-smart-contract-wizard.md index d1cfc4d9aee..63f8badb377 100644 --- a/applications/ink-smart-contract-wizard.md +++ b/applications/ink-smart-contract-wizard.md @@ -1,7 +1,4 @@ -# Open Grant Proposal - - -* **Project Name:** Ink Conracts Wizard +# Ink Conracts Wizard * **Team Name:** Ink Contracts Wizard Team From 82d9970145563a774554a605636567b4be727512 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 1 Nov 2022 09:57:00 +0100 Subject: [PATCH 0239/1872] Update accepted_grant_applications.md Ink Smart Contract Wizard --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index e91e95cf2ed..fc6cf6ed776 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -565,3 +565,4 @@ | [walt.id](https://walt.id/) | NFT infrastructure | [GitHub](https://github.com/walt-id) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [SydTek](https://sydtek.ai/) | Digital Inheritance in Web3: A Case Study of Soulbound Tokens and Social Recovery Pallets | N/A |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Anagolay](https://anagolay.network/) | Multi-token community contributions for verified creators | [GitHub](https://github.com/anagolay) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Ink Contracts Wizard Team](https://github.com/amankumar1008/contracts-wizard) | Ink Smart Contract Wizard | [GitHub](https://github.com/amankumar1008/contracts-wizard) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From d3beeb9d4d1538d1191f7f1aaabfcf96093239b3 Mon Sep 17 00:00:00 2001 From: Sascha Dobschal Date: Tue, 1 Nov 2022 15:48:53 +0100 Subject: [PATCH 0240/1872] Add IPFS Utilities application (#1187) * Add IPFS Utilities application * remove Milestone 3 * Update IPFS util application * Update IPFS utilities grant application --- applications/ipfs_utilities.md | 192 +++++++++++++++++++++++++++++++++ 1 file changed, 192 insertions(+) create mode 100644 applications/ipfs_utilities.md diff --git a/applications/ipfs_utilities.md b/applications/ipfs_utilities.md new file mode 100644 index 00000000000..a467b7b87ec --- /dev/null +++ b/applications/ipfs_utilities.md @@ -0,0 +1,192 @@ +# W3F Grant Proposal + +- **Project Name:** Substrate IPFS Utilities +- **Team Name:** [TDSoftware](https://www.tdsoftware.de/) +- **Payment Address:** 0x8Db0972d9F40357526B879A002d60CCf6B4a8882 +- **Level:** 3 + + +## Project Overview + +IPFS is a web3 solution to store and provide big-sized and not structured data. The datas address is based on it's content (CID: Content Identifier), which guarantees that the content or file isn't changed or manipulated in any way. The same CID will always point to the same content spread in the IPFS network. Currently there is no satisfying way of an integration for IPFS on Substrate blockchains. An example use case are NFTs (Non-Fungible Tokens): An NFT for instance might be linked to an external artwork (image, audio file, video file, ...) that is stored within IPFS. + +### Problem + +Currently, the easiest way to record IPFS CIDs on a Substrate-based blockchains, is to call an extrinsic and pass the IPFS CID as an input parameter to store it on chain. So two separate steps are necessary: +1. Add (artwork) file to IPFS to retrieve CID +2. Store CID for NFT on chain + +Because this are two separate actions to be performed by a client, we cannot consider this to be secure. +In the second step we cannot verify that the previously uploaded content in the IPFS network is the correct wanted one. + +In addition, there is no redirect feature on Substrate blockchains to request a file from IPFS via Substrate RPC. + +### Solution + +Provide a pallet implementation that allows clients to add files to IPFS and store the related CID on chain with one RPC. For instance when minting an NFT with a given artwork file. + +In addition to that, the Substrate blockchain can offer an RPC API to read the file from IPFS too. Therefore a redirect feature needs to be implemented based on the PRG mechanism. +As it takes a few moments until an added file is available on the IPFS network thru public gateways, the local IPFS node can used to retrieve the file. + + +### Project Details + +#### Previous Work + +The implementation from [offchain_ipfs](https://github.com/rs-ipfs/substrate/tree/offchain_ipfs) provides a working local IPFS node and utilities to interact with that node. This upcoming project will use the existing IPFS node implementation and will add adjustments and more functionality as shown below. The current implementation especially misses a proper handling of the CID and has no redirect feature to fetch files from IPFS with Substrate. It also uses a signed extrinsic method to fetch files from IPFS: that is not necessary, because the file is public available. + +#### Upload Utilities +In the first part, detailed research on the existing implementation is needed. The following things will be implemented or adjusted: +- Accepting bytes as an input parameter of an extrinsic to end up in IPFS +- Adding `&[u8]` or `[u8]` to the local IPFS node thru an off-chain worker +- Wait for the added file to be available thru a public IPFS gateway like ipfs.io +- Store CID information on chain +- After file is available thru public IPFS gateway, remove it from the on-chain storage +- Handling the CID version 0 and CID version 1 +- Benchmarking on the extrinsic call to know the maximum size of bytes accepted + +

+ +

+ + +#### Read/Access Utilities +In the second part, the redirect and fetch feature will be provided based on a PRG mechanism. This will allow users to fetch the linked files from IPFS by requesting the Substrate blockchain. The second part includes: +- Implement RPC API for file redirect to public IPFS gateway +- Based on Post/Redirect/Get ([PRG](https://en.wikipedia.org/wiki/Post/Redirect/Get)) pattern for gRPC +- API will return HTTP status code 303, so that the redirect will change the HTTP method from POST to GET +- API will return the actual file location. String value with URL. +- Will redirect to public IPFS gateway. E.g. ipfs.io +- This feature is not limited to IPFS and can be used with any file server +- Developers can define the redirect location as CIDv0 or CIDv1. + +

+ +

+ + +### Ecosystem Fit + +The implementation helps people using IPFS with Substrate, this is a common scenario. +Especially for NFT products this solution is helpful to avoid external middleware implemetations taking action. Having the whole logic for minting NFTs with related content inside Substrate makes it easier to maintain and more secure. + + +#### Technology Stack + +Blockchain +- Substrate +- Rust +- IPFS + + +## Team :busts_in_silhouette: + +### Team Members + +- Sascha Dobschal +- Antonio Yang +- Lasse Linnamäki +- Markus Fitzner + +The team setup might change depending on the availability at TDSoftware. With 40+ employees, TDSoftware has various developers that might contribute to the project. In all probability the members listed above will attend. + +### Contact + +- **Contact Name:** Sascha Dobschal +- **Contact Email:** s.dobschal@tdsoftware.de + + +### Legal Structure + +- **Registered Address:** Schlossgasse 20, 07743 Jena, Germany +- **Registered Legal Entity:** TDSoftware GmbH + + +### Team's experience +We have years of experience bringing ideas to life with a user-centered focus using blockchain and mobile technology. We have worked closely with many customers to implement their solutions and have already gained experience with blockchain technologies. +Our most relevant projects are, among others: +- SubIdentity (W3F Grant), Identity Directory for Substrate Chains +- Exchange for trading digital assets (Customer is a Top 200 Token of CMC) +- Token Swap WebApp (Customer is a Top 200 Token of CMC) +- [Blockchain, NFT Pallets & App](https://artists.niftymarket.com/) (In Development) + +We look forward to contributing to the web3 ecosystem with an open-source project next. + + +### Team Code Repos + +Source code will be in: +- https://github.com/TDSoftware + +Team profiles: +- https://github.com/dobschal +- https://github.com/yanganto +- https://github.com/markusdent + + +### Team LinkedIn Profiles + +- https://www.linkedin.com/company/tdsoftware-gmbh/mycompany/ +- https://www.linkedin.com/in/dobschal/ + + + +## Development Status :open_book: + +A concept and solution draft was created as part of this application and can be found in the Project Details chapter. + +As described above, we will reuse the existing IPFS node implementation developed by: [offchain::ipfs](https://github.com/w3f/General-Grants-Program/blob/master/grants/speculative/offchain_ipfs.md). +This solution is not handling the CID in a proper way. E.g. instead of returning the CID, it's just logging it out. It also provides the reading of the file thru an extrinsic. As the file is public on IPFS, that is not necessary. + + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Total Estimated Duration:** 2 Months +- **Full-Time Equivalent (FTE):** 2 +- **Total Costs:** 66,000 DAI + +### Milestone 1 - Research and implementation of file upload feature + +- **Estimated duration:** 1 Month +- **FTE:** 2 +- **Costs:** 33,000 DAI + +After the first research, the pallet implementation will be developed. The goal of milestone 1, is a fully working round trip (except the redirect feature). A web3 client, reading a file, calling an extrinsic and uploading the content of a file, will be developed. The CID information from IPFS will be stored in the pallet. Please see the chapter above ("Project Details > Upload utilities") for details. + + Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | Apache 2.0 / GPLv3 / MIT / Unlicense | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a developer can re-use the implementation. | +| 0c. | Testing | Core functions will be covered by unit tests as far as reasonably applicable to ensure functionality and robustness. In the documentation, we will describe how to run these tests. | +| 0d. | Code | We will provide the whole code in a public GitHub repository. | +| 1. | Implementation of the IPFS upload extrinsic | The pallet implementation will be added, that takes bytes of a file as input parameters. Adjust the extrinsic method `ipfs_add_bytes` to trigger an event `IpfsAdd(CID)`. | +| 2. | Implementation to retrieve CID and store it on chain | The off-chain worker needs to be extended. Data (bytes) received will be added to the local IPFS node via the IPFS offchain worker. Once added, it stores the CID on chain. | +| 3. | Implementation of a web3 client | For testing and the use case of a tutorial, a web3 client with dedicated UI will be implemented. The client app can read the data from a file, call the implemented extrinsic and uploads the content in bytes to the Substrate node. | +| 4. | Benchmark and adjustments | To check the maximum accepted file size, a benchmarking is performed. The result should give some concrete limits that will be added to the implemetation. | + +### Milestone 2 - Implementation of the redirect/fetch file feature + +- **Estimated Duration:** 1 Month +- **FTE:** 2 +- **Costs:** 33,000 DAI + +The goal of the second milestone is to implement the redirect/fetch utilities. A RPC request, based on a PRG mechanism, can be used to redirect to any file server, which is not limited to IPFS. If the file is not available thru a public IPFS gateway, the local node can be used to retrieve the file. + + Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | Apache 2.0 / GPLv3 / MIT / Unlicense | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a developer can re-use the implementation. | +| 0c. | Testing | Core functions will be covered by unit tests as far as reasonably applicable to ensure functionality and robustness. In the documentation, we will describe how to run these tests. | +| 0d. | Code | We will provide the whole code in a public GitHub repository. | +| 0e. | Article | We will write and publish a Medium article to spread the word and give developers an introduction to the project and how to use it. | +| 1. | Fetch File Implementation | Implement the logic that allows clients to fetch a file from IPFS with the Substrate node. E.g. `#[prg(name = "nft_getFileById")]` will be designed and developed that allows users to redirect a request, which returns `Result`, to a file server. The PRG mechanism is used to provide a RPC API that can redirect to a file server. The existing IPFS "get file" extrinsic will be obsolet as we provide this new RPC API. | +| 2. | Web3 Client Extension | The web3 client will be extend to show the (PRG) redirect feature and retrieve corresponding files via a public IPFS gateway. | +| 3. | Local Node Fetch Implementation | Implement a file fetch RPC API, that returns the file from the local embedded IPFS node instead of the public IPFS gateway. This is helpful when waiting for the file to be available on the public IPFS gateway. | + + + +## Additional Information :heavy_plus_sign: + +This is our second application for an open-source project to innovate the web3 Ecosystem. From 8c4af03d5acad161fa2427eab9ee49e5189e2a41 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 1 Nov 2022 15:50:20 +0100 Subject: [PATCH 0241/1872] Update accepted_grant_applications.md Add Substrate IPFS Utilities --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index fc6cf6ed776..6c55d9a8257 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -566,3 +566,4 @@ | [SydTek](https://sydtek.ai/) | Digital Inheritance in Web3: A Case Study of Soulbound Tokens and Social Recovery Pallets | N/A |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Anagolay](https://anagolay.network/) | Multi-token community contributions for verified creators | [GitHub](https://github.com/anagolay) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Ink Contracts Wizard Team](https://github.com/amankumar1008/contracts-wizard) | Ink Smart Contract Wizard | [GitHub](https://github.com/amankumar1008/contracts-wizard) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [TDSoftware](https://www.tdsoftware.de/) | Substrate IPFS Utilities | [GitHub](https://github.com/TDSoftware) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 8d895ff4678013fc29b66cd613904343206f4547 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Tue, 1 Nov 2022 23:43:15 +0100 Subject: [PATCH 0242/1872] Update accepted_grant_applications.md Signac completed --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 6c55d9a8257..a4e7aa8dea2 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -515,7 +515,7 @@ | [Polkadot js plus](http://polkadotjs.plus/) | Polkadot js plus / Social Recovery Wallet | [GitHub](https://github.com/Nick-1979/polkadot-Js-Plus-extension/wiki) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Lee](https://github.com/rust-0x0) | Hex Space Social Graph | [GitHub](https://github.com/rust-0x0) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Liberland LLC](https://liberland.org/en/) | Liberland Pallets | [GitHub](https://github.com/liberland/liberland_substrate) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Standard Protocol](https://standard.tech/) | Signac - a monorepo plugin for developing multiple Parity ink! smart contracts | [GitHub](https://github.com/standardweb3/signac) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Standard Protocol](https://standard.tech/) | Signac - a monorepo plugin for developing multiple Parity ink! smart contracts | [GitHub](https://github.com/standardweb3/signac) |
  • [ ]
|
  • [x]
|
  • [x]
| | [B-Datagray](https://www.b-datagray.com/) | Datagen Project | [GitHub](https://github.com/Datagen-Project) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Colorful Notion](https://polkaholic.io/#chains) | Polkaholic.io's Multi-Chain Substrate Block Explorer | [GitHub](https://github.com/colorfulnotion/polkaholic/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Common Orbit LLC](https://brson.github.io) | `wasm-opt` for Rust | [GitHub](https://github.com/brson/wasm-opt-rs) |
  • [ ]
|
  • [x]
|
  • [ ]
| From 78fa796ddd72df79435d581cc6f750d63c5dff26 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Wed, 2 Nov 2022 09:11:22 +0100 Subject: [PATCH 0243/1872] Office hours (#1244) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update README.md First Draft * Add office hours form link, update text * Update README.md Remove second please Co-authored-by: Sebastian Müller --- README.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/README.md b/README.md index 548c6843d01..b02bc807e62 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,7 @@ - [:bulb: Help](#bulb-help) - [Additional information](#additional-information) - [Real-time conversation](#real-time-conversation) + - [Office Hours](#office-hours) - [:rocket: Alternative Funding Sources](#rocket-alternative-funding-sources) - [Treasury](#treasury) - [Hackathons](#hackathons) @@ -233,6 +234,21 @@ Besides, we also have a **community room for all grant recipients**. Head over t - [W3F Grants Community](https://matrix.to/#/!XpynPDLusWUWfDpaqr:matrix.org?via=web3.foundation&via=matrix.org) +### Office Hours + +Web3 Foundation Grants Office Hours are a chance to ask the grants team questions regarding a specific (potential) grant application. It offers +- general guidance regarding the grants program, +- some quick initial feedback and +- help how to navigate the ecosystem. + +Apply for Office Hours if you +- need feedback before submitting an application, +- want to find out what kind of support there might be available or +- need help finding the resources you need. + +It is **not** a chance to pitch your project, especially since only a small subset of the committee will participate in the call. To apply, please fill out the [Office Hours :alarm_clock: form](https://forms.gle/54xkiqU37WwdN9UR6). Be as specific as possible, so we can help you more quickly. We will get back to you with follow-up questions or a link for booking a timeslot. + + ## :rocket: Alternative Funding Sources We encourage you to explore the alternative funding options listed below. Please note, however, that you should not seek to fund the **same scope of work** from multiple sources and that any team found doing so will have its Web3 Foundation support terminated. From 7e7f3e76d3b4389e94a1a57a7ad395aca739cd97 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Wed, 2 Nov 2022 12:16:58 +0100 Subject: [PATCH 0244/1872] Update template (#1247) Cleaned up the template to mention things only once, :exclamation: for everything that is constantly ignored. --- applications/application-template.md | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/applications/application-template.md b/applications/application-template.md index 5f48b35d4ab..f7fb24f76c9 100644 --- a/applications/application-template.md +++ b/applications/application-template.md @@ -8,7 +8,7 @@ - **Payment Address:** BTC, Ethereum (USDT/USDC/DAI) or Polkadot/Kusama (aUSD) payment address. Please also specify the currency. (e.g. 0x8920... (DAI)) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1, 2 or 3 -> ⚠️ *The combination of your GitHub account submitting the application and the payment address above will be your unique identifier during the program. Please keep them safe.* +> :exclamation: *The combination of your GitHub account submitting the application and the payment address above will be your unique identifier during the program. Please keep them safe.* ## Project Overview :page_facing_up: @@ -64,7 +64,7 @@ Help us locate your project in the Polkadot/Substrate/Kusama landscape and what - **Contact Name:** Full name of the contact person in your team - **Contact Email:** Contact email (e.g. john@duo.com) -- **Website:** +- **Website:** Your website ### Legal Structure @@ -79,7 +79,6 @@ If anyone on your team has applied for a grant at the Web3 Foundation previously ### Team Code Repos -- https://github.com/ - https://github.com// - https://github.com// @@ -109,17 +108,7 @@ This section should break the development roadmap down into milestones and deliv Below we provide an **example roadmap**. In the descriptions, it should be clear how your project is related to Substrate, Kusama or Polkadot. We _recommend_ that teams structure their roadmap as 1 milestone ≈ 1 month. -For each milestone, - -- make sure to include a specification of your software. _Treat it as a contract_; the level of detail must be enough to later verify that the software meets the specification. -- include the amount of funding requested _per milestone_. -- include documentation (tutorials, API specifications, architecture diagrams, whatever is appropriate) in each milestone. This ensures that the code can be widely used by the community. -- provide a test suite, comprising unit and integration tests, along with a guide on how to set up and run them. -- commit to providing Dockerfiles for the delivery of your project. -- indicate milestone duration as well as number of full-time employees working on each milestone. -- **Deliverables 0a-0d are mandatory for all milestones**, and deliverable 0e at least for the last one. If you do not intend to deliver one of these, please state a reason in its specification (e.g. Milestone X is research oriented and as such there is no code to test). - -> :zap: If any of your deliverables is based on somebody else's work, make sure you work and publish _under the terms of the license_ of the respective project and that you **highlight this fact in your milestone documentation** and in the source code if applicable! **Teams that submit others' work without attributing it will be immediately terminated.** +> :exclamation: If any of your deliverables is based on somebody else's work, make sure you work and publish _under the terms of the license_ of the respective project and that you **highlight this fact in your milestone documentation** and in the source code if applicable! **Teams that submit others' work without attributing it will be immediately terminated.** ### Overview @@ -133,12 +122,14 @@ For each milestone, - **FTE:** 1,5 - **Costs:** 8,000 USD +> :exclamation: **The default deliverables 0a-0d below are mandatory for all milestones**, and deliverable 0e at least for the last one. If you do not intend to deliver one of these, please state a reason in its specification (e.g. Milestone X is research oriented and as such there is no code to test). + | Number | Deliverable | Specification | | -----: | ----------- | ------------- | -| 0a. | License | Apache 2.0 / GPLv3 / MIT / Unlicense | -| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can (for example) spin up one of our Substrate nodes and send test transactions, which will show how the new functionality works. | -| 0c. | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | -| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| **0a.** | License | Apache 2.0 / GPLv3 / MIT / Unlicense | +| **0b.** | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can (for example) spin up one of our Substrate nodes and send test transactions, which will show how the new functionality works. | +| **0c.** | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| **0d.** | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | | 0e. | Article | We will publish an **article**/workshop that explains [...] (what was done/achieved as part of the grant). (Content, language and medium should reflect your target audience described above.) | | 1. | Substrate module: X | We will create a Substrate module that will... (Please list the functionality that will be implemented for the first milestone. You can refer to details provided in previous sections.) | | 2. | Substrate module: Y | The Y Substrate module will... | From 391ca80b4baca51fe53a703b884282e9a6f27e5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Thu, 3 Nov 2022 09:58:55 +0000 Subject: [PATCH 0245/1872] Terminate RelationGraph (#1250) --- applications/Relation-Graph.md | 1 + 1 file changed, 1 insertion(+) diff --git a/applications/Relation-Graph.md b/applications/Relation-Graph.md index 79531b2ab1c..861c86e285a 100644 --- a/applications/Relation-Graph.md +++ b/applications/Relation-Graph.md @@ -7,6 +7,7 @@ - **Team Name:** Relationlabs - **Payment Address:** 0x9fE784bD844C6c7eB7a570467937e6005eEd1C4C Ethereum (USDT/DAI) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 +- **Status:** [Terminated](https://github.com/w3f/Grant-Milestone-Delivery/pull/569#issuecomment-1299292773) ## Project Overview :page_facing_up: From 28dad129da374390802865a31f71c71fdb8d8f7f Mon Sep 17 00:00:00 2001 From: Graeme Fox <82609877+gfox1@users.noreply.github.com> Date: Thu, 3 Nov 2022 13:51:14 -0700 Subject: [PATCH 0246/1872] societal application update (#1249) --- applications/Societal.md | 78 +++++++++++++--------------------------- 1 file changed, 24 insertions(+), 54 deletions(-) diff --git a/applications/Societal.md b/applications/Societal.md index 7768b9a93d5..f6ced360f5f 100644 --- a/applications/Societal.md +++ b/applications/Societal.md @@ -2,11 +2,11 @@ - **Project Name:** Societal - MVP - Phase 1 - **Team Name:** Societal Labs Ltd. -- **Payment Address:** Ethereum - USDT: 0x80243a916c9ff4837734FE3248d8641476280824 +- **Payment Address:** Ethereum - USDT: 0xcDcCF94f10d8A7165C1A336DD3795430a6CDE530 - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 -## Project Overview :page_facing_up: +## Project Overview ### Overview @@ -56,20 +56,19 @@ The target audience of the Societal application are web3 users who require a pla The projects like Societal in the Polkadot space are Polkassembly, SubDAO, and DoraFactory. Societal differs from these projects in multiple ways. First, Polkassembly is not building their own parachain and is only a governance platform for large Polkadot projects. Societal wants to allow any web3 user to create their own DAO - not just catering to large established protocols. SubDAO has recently been focusing on smart contract deployments on multiple chains and does not appear to be building a parachain. Societal will build its own parachain and use the technical capabilities of Substrate to be truly token agnostic, connecting with widely used wallets such as MetaMask, to avoid doing multiple chain deployments via smart contracts. Dora Factory is similar to Societal in the sense that they are building their own parachian, however we plan to offer zero gas fees and a SaaS based pricing model to enhance our user's experience. Societal will also seek to integrate with other parachains, having cross-chain smart contract execution. -## Team :busts_in_silhouette: +## Team ### Team members - Graeme Fox - Tyler Gellatly -- Kim Fournier - Max Kudinov ### Contact - **Contact Name:** Graeme Fox - **Contact Email:** graeme@sctl.xyz -- **Website:** sctl.xyz (Website still in development at time of application submission) +- **Website:** https://www.sctl.xyz/ ### Legal Structure @@ -82,8 +81,6 @@ Graeme Fox is the former Director of Business Development at Ruby Protocol, a pr Tyler Gellatly has been building and scaling early stage start-ups for the last 4+ years. He was employee #1 and Director of Operations & Partnerships at Cuboh (a YC-backed SAAS middleware operating within the ghost kitchen industry) More recently, Tyler helped found Ruby Protocol, a novel privacy protocol building on the Substrate framework, and is still involved in a strategic advisory capacity. Currently, he sits on the DAO council for the Illuminati Collective, which currently has a 1000 ETH treasury under management. Tyler holds a Bachelor of Commerce from the University of Victoria, specializing in corporate strategy and finance. A well-rounded business operations leader with a background in finance, operations, capital fundraising, and strategic partnerships, Tyler is mission driven to bring web3 communities together at scale by utilizing blockchain technology. -Kim Fournier is an advocate for blockchain marketing and is passionate about the intersection of decentralization and the future of work. She excels at crafting strong brand narratives to help organizations scale, and has led successful product releases, working with some of the world's top companies and fastest-growing startups both in and outside the blockchain space, including five Layer1 chains. She is an active member of the NFT community, as well as CryptoFemmes and Women in Blockchain. - Max Kudinov is the CEO of Magic Powered, a software development firm building multiple web3 projects. Max has a passion for governance projects and was the Project Lead for the development of [Astro DAO](https://astrodao.com/), an all-in-one DAO creation and management platform built on Near. From this experience, Max has excellent understanding of Rust and how he would like to improve upon the Astro DAO project. Max has highly experienced web3 and rust developers on his team, ready to start the development of this project. @@ -103,11 +100,10 @@ Team: ### Team LinkedIn Profiles (if available) - https://www.linkedin.com/in/graemefox/ -- https://www.linkedin.com/in/kimjfournier/ - https://www.linkedin.com/in/tngell/ - https://www.linkedin.com/in/max-kudinov-395595152/ -## Development Status :open_book: +## Development Status Before applying for the Web3 Foundation Grant, the Societal team conducted the following research: @@ -122,36 +118,35 @@ Before applying for the Web3 Foundation Grant, the Societal team conducted the f - **Total Estimated Duration:** 4 months - **Full-Time Equivalent (FTE):** 3 FTE -- **Total Costs:** 40,000 USDT +- **Total Costs:** 30,000 USDT + -### Milestone 1 — Governance & Treasury Dashboard +### Milestone 1 — DAO Factory Pallet -- **Estimated duration:** 1 month +- **Estimated Duration:** 2 months - **FTE:** 3 -- **Costs:** 10,000 USD +- **Costs:** 20,000 USD -The main delivery of this milestone is to have an easy to use and interactive dashboard for DAOs to manage their governance and treasury. +The main delivery of this milestone will be the DAO Factory Pallet. This pallet will allow someone to create a DAO on the Societal Network, where the DAO consists of a governance token, treasury and governance system. | Number | Deliverable | Specification | | -----: | ----------- | ------------- | | 0a. | License | Apache 2.0 | -| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can (for example) spin up one of our Substrate nodes and send test transactions, which will show how the new functionality works. | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can (for example) spin up one of our Substrate nodes and create a DAO. | | 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | | 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | -| 0e. | Article | We will publish a tutorial that explains the UI of the Societal platform and how to use the application. | -| 1. | Client Modules | We will create a client facing UI that will interact with the Societal chain. The main function of the dashboard will be a for governance and treasury management. | -| 2. | Substrate chain | In this milestone the Substrate chain will be built and the necessary pallets will be implemented. The pallets that will be included are: System, Support, Executive, Assets, Authority Discovery, BABE, Balances, Democracy, Elections, Referenda, GRANDPA, Indices, Membership, Multisig, Nicks, Proxy, Scheduler, Transaction Payment, and Treasury | - -Notes: Please note that the list of pallets is not exhausted. Some pallets may need to be added or removed from the MVP. However, based on my initial research the pallets listed above will be the required pallets for the Societal chain. +| 0e. | Article | We will publish a tutorial that explains how to create a DAO. | +| 1. | Substrate module: DAO Factory | This substrate pallet will create a DAO. While creating a DAO, the user can create a token for the DAO, setup a treasury and select a governance system. | +| 2. | Client Modules | Minor UI updates will be made, to allow the user to interact with the pallet. However, the major UI creation will be completed in milestone 2. | -### Milestone 2 — Cross-Chain Smart Contract Execution via an Approved Governance Proposal +### Milestone 2 — Governance & Treasury Dashboard -- **Estimated Duration:** 1.5 months +- **Estimated duration:** 2 months - **FTE:** 3 -- **Costs:** 15,000 USD +- **Costs:** 10,000 USD -The main delivery of this milestone will allow an approved governance proposal on the Societal chain to execute a smart contract on Moonbeam Alpha TestNet. The delivery will also include minor UI updates, to allow the user to interact with the pallet. +The main delivery of this milestone is to have an easy to use and interactive UI for users to create a DAO and manage its governance and treasury. | Number | Deliverable | Specification | | -----: | ----------- | ------------- | @@ -159,38 +154,13 @@ The main delivery of this milestone will allow an approved governance proposal o | 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can (for example) spin up one of our Substrate nodes and send test transactions, which will show how the new functionality works. | | 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | | 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | -| 0e. | Article | We will publish a tutorial that explains how to setup a governance proposal that will execute contracts cross-chain. | -| 1. | Substrate module: Governance Execution | This substrate module will be a loosely coupled pallet to the existing governance pallet. We will make this into a separate pallet to allow for governance proposals to take place that do not require a smart contact to execute after approval. | -| 2. | Client Modules | Minor UI updates will be made, to allow the user to interact with the pallet. | - -Notes: -- This will be created for Moonbeam's testnet - Moonbase Alpha, so we do not have to win a parachain slot before testing the pallet -- An HRMP channel will need to be established between Societal’s testnet and Moonbase Alpha to sucessfully complete this milesotne -- This milestone assumes that it will be better to create a new pallet that allows for the smart contract execution on another chain, which works in conjunction with the existing governance pallets such as the democracy, elections or referenda pallets. However, a modification to the existing governance pallets may be all that is necessary and a better design. - -### Milestone 3 — SaaS Pricing Model Pallet - -- **Estimated Duration:** 1.5 month -- **FTE:** 3 -- **Costs:** 15,000 USD +| 0e. | Article | We will publish a tutorial that explains the UI of the Societal platform and how to use the application. | +| 1. | Client Modules | We will create a client facing UI that will interact with the Societal chain. The main function of the dashboard will be for the creation of the DAO, and manage its goverance & treasury. | +| 2. | Substrate chain | In this milestone the Substrate chain will be built and the necessary pallets will be implemented. The pallets that will be included are: DAO FACTORY, System, Support, Executive, Assets, Authority Discovery, BABE, Balances, Democracy, Elections, Referenda, GRANDPA, Indices, Membership, Multisig, Nicks, Proxy, Scheduler, Transaction Payment, and Treasury | -The main delivery of this milestone will be the creation of a 'SaaS' Pricing pallet. Transactions on the Societal chain will always be free to the user for the creation of proposals and voting on proposals. However, once the DAO is large enough or requires certain functions, the Societal platform will require monthly payments for those features, which will come directly from the DAOs treasury. This will bring current web2 pricing models to web3, increasing user experience and ease of adoption. An overview of the initial plans can be found [here](https://docs.sctl.xyz/societal-platform/pricing). The delivery will also include minor UI updates, to allow the user to interact with the pallet. +Notes: Please note that the list of pallets is not exhausted. Some pallets may need to be added or removed from the MVP. However, based on my initial research the pallets listed above will be the required pallets for the Societal chain. -| Number | Deliverable | Specification | -| -----: | ----------- | ------------- | -| 0a. | License | Apache 2.0 | -| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can (for example) spin up one of our Substrate nodes and send test transactions, which will show how the new functionality works. | -| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | -| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | -| 0e. | Article | We will publish an article that gives an overview of the pricing plans and the features that are associated with each plan. | -| 1. | Substrate module: SaaS Pricing | We will create a Substrate module that will require DAOs to pay a monthly subscription fee if they want to have a certain number of users in their DAO or access to certain functions. The payment for the monthly subscriptions will come directly from the DAOs wallet and not the individual members. Transactions on the Societal platform will always be free for the individual users for the creation of proposals and voting on proposals. | -| 2. | Client Modules | Minor UI updates will be made, to allow the user to interact with the pallet. | -Implementation notes: -- To make this work, the SaaS pricing pallet would do the following: - - First, it will check how many members are in the DAO via how many holders there are of the DAO token. - - Second, it would have to check if the DAO has made a monthly payment from one of its wallets to the Societal subscriptions wallet. - - Based on the answer to these questions, the UI would display certain functions to the DAO users on their dashboard. ## Future Plans @@ -198,7 +168,7 @@ Implementation notes: Societal plans to secure fundraising and expand the development team. After the completion of the milestones stated above, Societal plans to expand the product offering by implementing a DAO Market Place and a Mobile App for DAO management. Ideally Societal will be able to secure another Web3 grant for these milestones, along with integrations for [private voting](https://github.com/w3f/Grants-Program/blob/master/rfps/anti-collusion%20infrastructure.md) and [identity voting](https://github.com/w3f/Grants-Program/blob/master/rfps/identity-directory.md) based on links to the RFPs. From there, Societal would also like to apply for the Substrate Builders Program, establishing itself at the go to DAO and governance platform. Finally, Societal will progressively transition into a DAO itself and release control to the community. -## Additional Information :heavy_plus_sign: +## Additional Information **How did you hear about the Grants Program?** From e3221089c338fca19fd84ea334015fed4b27b8e3 Mon Sep 17 00:00:00 2001 From: nerdsince98 <117162786+nerdsince98@users.noreply.github.com> Date: Fri, 4 Nov 2022 14:02:54 +0530 Subject: [PATCH 0247/1872] Added ink-boxes application (#1243) * Added ink-boxes application * Removed GitLab profile link since it is not opening * Updated milestone cost --- applications/ink-boxes.md | 103 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 applications/ink-boxes.md diff --git a/applications/ink-boxes.md b/applications/ink-boxes.md new file mode 100644 index 00000000000..bc600dc2005 --- /dev/null +++ b/applications/ink-boxes.md @@ -0,0 +1,103 @@ +# Ink Boxes + +* **Team Name:** Ink Boxes Team + +* **Payment Address:** Bitcoin Address: bc1qtr9993ch6zlr29j5c22zzax57h62x5gj24wtxk + +* **Level:** 1 + + +## Project Overview :page_facing_up: + +### Overview + +Ink boxes are a collection of helpful Ink smart contract boilerplates along with it's frontend. It will already have polkadot.js library using which frontend can talk with the smart contract deployed. Got inspired by truffle boxes on how easily one can spin up the boilerplate code in no time. + +### Ecosystem Fit + - Where and how does your project fit into the ecosystem? +Anyone who wants to quickly spin up boilerplate can use our platform. + - Who is your target audience (parachain/dapp/wallet/UI developers, designers, your own user base, some dapp's userbase, yourself)? +Anyone who wants to create Smart Contracts on top of Ink are our target users. + + +### User Journey + - User visits Ink boxes website. + - User selects the dApp they want to download. + - User will be able to download the entire dApp code in zip format. + - Contributors can also submit a new dApp if it is fit for the substrate ecosystem. They need to provide the GitHub repo link for the ink box. + + +### Simillar platforms + +- Truffle Boxes + + +## Team :busts_in_silhouette: + +### Team members + +* @nerdsince98 + +### Legal Structure + +* **Registered Legal Entity:** Not yet registered + +### Team's experience + +* @nerdsince98: Built a centralized exchange and sold it as whitelabel solutions to clients. Rust instructor. Wrote Ink based smart contracts in the past: https://gitlab.com/nerdsince98/learning-ink/ + +### Team Code Repos + +* https://github.com/nerdsince98 + +## Development Roadmap :nut_and_bolt: + +# Overview + +## Grant level + +Level 1: Up to $10,000, 2 approvals + + +## Development Roadmap :nut_and_bolt: + +* **Total Estimated Duration:** 4 weeks + +* **Total Costs:** 5,000 USD + +### Milestone 1 + +* **Estimated Duration:** 2 weeks + +* **Costs:** 3,500 USD + + +| Number | Deliverable | Specification | +| ------------- | ------------- | ------------- | +| 0a. | Apache License 2.0 | All code will be published under Apache 2.0 | +| 0b. | Documentation | We will provide both inline documentation of the code. | +| 0c. | Testing and it's Guide | Core functions will be fully covered by comprehensive unit tests written in Jest and UI tests in Cypress to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 0e. | Articles | We will publish a series of articles on how to contribute and create new boxes. | +| 0. | Creation of Boxes | We will create boxes in a GitHub repo like NFT-Marketplace, Decentralized Ecommerce platform, ERC-721 with UI functionalities, ERC-20 with UI functionalities. Complete list will be provided in the GitHub repo README and coming soon section of the website. | + +### Milestone 2 + +* **Estimated Duration:** 2 weeks + +* **Costs:** 1,500 USD + + +| Number | Deliverable | Specification | +| ------------- | ------------- | ------------- | +| 0a. | Apache License 2.0 | All code will be published under Apache 2.0 | +| 0b. | Documentation | We will provide both inline documentation of the code and a basic tutorial that explains how to develop a new box. | +| 0c. | Testing and it's Guide | Core functions will be fully covered by comprehensive unit tests written in Rust to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 0e. | Articles | We will publish a series of tutorials on how to contribute to website. | +| 0. | Creation of website. | We will create a website where anyone can download the box in zip format and can upload the same. Website will accept the GitHub link of the box. If anyone tries to download the box, GitHub release of the box will be downloaded. | + + +## Additional Information :heavy_plus_sign: + +* We're currently implementing it in substrate ecosystem. From ddf9bc0b1491b5ad066ea0995f1fc20e045a388f Mon Sep 17 00:00:00 2001 From: David Hawig Date: Fri, 4 Nov 2022 09:36:25 +0100 Subject: [PATCH 0248/1872] Update accepted_grant_applications.md Ink box --- docs/accepted_grant_applications.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index a4e7aa8dea2..cbca50d5561 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -567,3 +567,5 @@ | [Anagolay](https://anagolay.network/) | Multi-token community contributions for verified creators | [GitHub](https://github.com/anagolay) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Ink Contracts Wizard Team](https://github.com/amankumar1008/contracts-wizard) | Ink Smart Contract Wizard | [GitHub](https://github.com/amankumar1008/contracts-wizard) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [TDSoftware](https://www.tdsoftware.de/) | Substrate IPFS Utilities | [GitHub](https://github.com/TDSoftware) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Ink Boxes Team](https://github.com/nerdsince98) | Ink Boxes | [GitHub](https://gitlab.com/nerdsince98/learning-ink/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| + From 52e18a64990f90f1f9e78ca1cd65f45c4e7c0f54 Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Fri, 4 Nov 2022 04:48:17 -0400 Subject: [PATCH 0249/1872] Update accepted_grant_applications.md (#1255) --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index cbca50d5561..3c42b56d3df 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -542,7 +542,7 @@ | [TopMonks](https://www.topmonks.com/) | Calamar| [GitHub](https://github.com/topmonks/calamar) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Bela Supernova](https://bsn.si/) | Rubeus Keeper| [GitHub](https://github.com/bsn-si) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Web3 Labs Ltd](https://www.web3labs.com/epirus-explorer) | Epirus Substrate Explorer - Phase 2 | [GitHub](https://github.com/web3labs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Uke](https://github.com/Uke-Messaging) | Uke Protocol PoC & App (revised) | [GitHub](https://github.com/Uke-Messaging) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Uke](https://github.com/Uke-Messaging) | Uke Protocol PoC & App (revised) | [GitHub](https://github.com/Uke-Messaging) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [SuperColony](https://github.com/Supercolony-net) | Typechain Phase 2 | [GitHub](https://github.com/Supercolony-net/typechain-polkadot) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [QSTN](https://qstn.us/) | QSTN | [GitHub](https://github.com/qstnus) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [CESS LAB](https://www.cess.cloud/) | Substats (The framework of lightweight block explorer) | [GitHub](https://github.com/CESSProject) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 8d481743d869a1359dbc24955115475c936bb07b Mon Sep 17 00:00:00 2001 From: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> Date: Sat, 5 Nov 2022 11:35:08 +0100 Subject: [PATCH 0250/1872] Update accepted_grant_applications.md --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 3c42b56d3df..e2fa56de6e1 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -518,7 +518,7 @@ | [Standard Protocol](https://standard.tech/) | Signac - a monorepo plugin for developing multiple Parity ink! smart contracts | [GitHub](https://github.com/standardweb3/signac) |
  • [ ]
|
  • [x]
|
  • [x]
| | [B-Datagray](https://www.b-datagray.com/) | Datagen Project | [GitHub](https://github.com/Datagen-Project) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Colorful Notion](https://polkaholic.io/#chains) | Polkaholic.io's Multi-Chain Substrate Block Explorer | [GitHub](https://github.com/colorfulnotion/polkaholic/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Common Orbit LLC](https://brson.github.io) | `wasm-opt` for Rust | [GitHub](https://github.com/brson/wasm-opt-rs) |
  • [ ]
|
  • [x]
|
  • [ ]
| +| [Common Orbit LLC](https://brson.github.io) | `wasm-opt` for Rust | [GitHub](https://github.com/brson/wasm-opt-rs) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Blockcoders](https://blockcoders.io/) | Ink Explorer | [GitHub](https://github.com/blockcoders) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Equilibrium](https://equilibrium.co/) | Polkadot Light Client in C++ | [GitHub](https://github.com/eqlabs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Open rollup](https://github.com/openrollup-zk) | Open rollup - MVP - Phase 1 | [GitHub](https://github.com/openrollup-zk) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From e0c7bff710ac0f102b4699229a4a85fdf147ec89 Mon Sep 17 00:00:00 2001 From: ashWhiteHat Date: Mon, 7 Nov 2022 16:08:28 +0900 Subject: [PATCH 0251/1872] amend timeline (#1258) --- applications/zero-network.md | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/applications/zero-network.md b/applications/zero-network.md index 40ce02ae075..f6d481aeb03 100644 --- a/applications/zero-network.md +++ b/applications/zero-network.md @@ -149,13 +149,13 @@ Through this grant, we are going to develop the blockchain which supports confid ### Overview -- **Total Estimated Duration:** 4.5 months +- **Total Estimated Duration:** 6.5 months - **Full-Time Equivalent (FTE):** 2 FTE - **Total Costs:** 45,000 DAI ### Milestone 1 | Confidential Transfers -- **Estimated duration:** 1.5 month +- **Estimated duration:** 2 month - **FTE:** 2 - **Costs:** 10,000 DAI @@ -175,7 +175,7 @@ In `Milestone 1`, we are going to implement `confidential transfer` pallet on to ### Milestone 2 | Confidential Smart Contract Executions -- **Estimated Duration:** 2 month +- **Estimated Duration:** 3 month - **FTE:** 2 - **Costs:** 25,000 DAI @@ -197,7 +197,7 @@ In `Milestone 2`, we are going to implement `confidential smart contract executi ### Milestone 3 | Confidential Transaction Wallet -- **Estimated Duration:** 1 month +- **Estimated Duration:** 1.5 month - **FTE:** 2 - **Costs:** 10,000 DAI @@ -216,6 +216,15 @@ In `Milestone 3`, we are going to implement `wallet` which provides the user to | 4. | Confidential transfer | We are going to implement confidential transfer libraries. | | 5. | Confidential smart contract execution | We are going to implement executing smart contract libraries.| +## Timeline + + +| Milestone | Deliverable | Estimated Duration (month) | Deadline | +| -----: | ----------- | ------------- | ------------- | +| 1 | Confidential Transfers | 2 | 2022 1/7 | +| 2 | Confidential Smart Contract Executions | 3 | 2023 4/7 | +| 3 | Confidential Smart Contract Executions | 1.5 | 2023 5/26 | + ## Future Plans - Rollup transactions From 37c6583da5d5f07cd16780e322a40bc28d801a25 Mon Sep 17 00:00:00 2001 From: amankumar1008 <117007003+amankumar1008@users.noreply.github.com> Date: Tue, 8 Nov 2022 13:18:23 +0530 Subject: [PATCH 0252/1872] Updated timeline for ink-smart-contract-wizard (#1260) * Updated timeline for ink-smart-contract-wizard grant * Fixed timeline in ink-smart-contract-wizard --- applications/ink-smart-contract-wizard.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/applications/ink-smart-contract-wizard.md b/applications/ink-smart-contract-wizard.md index 63f8badb377..0d058f005a5 100644 --- a/applications/ink-smart-contract-wizard.md +++ b/applications/ink-smart-contract-wizard.md @@ -69,13 +69,13 @@ Level 1: Up to $10,000, 2 approvals ## Development Roadmap :nut_and_bolt: -* **Total Estimated Duration:** 9 weeks +* **Total Estimated Duration:** 4 weeks * **Total Costs:** 8,000 USD ### Milestone 1 -* **Estimated Duration:** 5 weeks +* **Estimated Duration:** 2 weeks * **Costs:** 4,000 USD @@ -92,7 +92,7 @@ Level 1: Up to $10,000, 2 approvals ### Milestone 2 -* **Estimated Duration:** 4 weeks +* **Estimated Duration:** 2 weeks * **Costs:** 4,000 USD From 52ab03695d249c9393b776702483e914cadd3a78 Mon Sep 17 00:00:00 2001 From: Dusan Morhac <55763425+dudo50@users.noreply.github.com> Date: Tue, 8 Nov 2022 13:43:01 +0100 Subject: [PATCH 0253/1872] Create ParaSpell_follow-up.md (#1245) * Create ParaSpell_follow-up.md - Create a follow-up proposal for ParaSpell to improve XCM SDK & make it more approachable for developers of dApps in general. * Update ParaSpell_follow-up.md - Added all requested changes: - where possible explained what stack, pallets, or languages would be used - added 0.a-0.d into each milestone - linked xTokens release 3 more times in specification * Update ParaSpell_follow-up.md - removed bounty funding * Switched to Hardware wallet - Change address for a more secure solution * Typo fixes - Fixed typos - Replaced stack item (Polkadot launch was used previously (became deprecated) but was replaced by Parachain launch in the process) --- applications/ParaSpell_follow-up.md | 234 ++++++++++++++++++++++++++++ 1 file changed, 234 insertions(+) create mode 100644 applications/ParaSpell_follow-up.md diff --git a/applications/ParaSpell_follow-up.md b/applications/ParaSpell_follow-up.md new file mode 100644 index 00000000000..618e03e1809 --- /dev/null +++ b/applications/ParaSpell_follow-up.md @@ -0,0 +1,234 @@ +# ParaSpell + +- **Team Name:** ParaSpell✨ +- **Payment Address:** 0xB7d45Ef044fD9342e4c03e28D9e9bddA2d4Fe3e1 (USDC) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 🐤 + + +## Project Overview :page_facing_up: +Previously delivered: +[Proposal 1 for base funding ParaSpell](https://github.com/w3f/Grants-Program/blob/3905f49d0efcd3700670fc3e13c2d92a2f84a7fa/applications/ParaSpell.md) +### Overview +XCM & XCMP related development tool with SDK and UI created for developers. + +ParaSpell main advantages can be summarized in the following list: + +- ParaSpell is a platform that allows developers to use specific XCM & XCMP related tasks from a user-friendly interface. +- ParaSpell focuses on ease of use, broad scale of use cases, and bringing XCM & XCMP utilization & documentation closer to developers. +- ParaSpell guarantees to be a completely decentralized, open-source platform that does not collect any user data. +- ParaSpell allows other substrate projects to easily implement XCM & XCMP functionality with ParaSpell SDK + +One of the ParaSpell main goals is to reduce the time necessary to create XCM calls or open HRMP channels. +Another goal is to make XCM calls as easy as possible to construct via SDK while retaining full customizability of what is transferred through XCM message and where. + +![comparison](https://user-images.githubusercontent.com/55763425/198574902-1a9e1c98-9351-4f5d-894f-7e0158eabeaa.jpg) + +As we can see in the figure above, the amount of details the user has to fill to transfer the XCM message is drastically reduced. As an example, users do not need to specify a specific route from origin to destination chain. These details are filled for them. + +Another goal of ParaSpell is having network installation, compilation & startup done as simply as possible. This is achieved by makefile that groups commands into fewer much more intuitive commands and by network startup configuration file. Together, these two files take care of the network side, and adding new nodes into these files is intuitive. Starting the application is also very simple and done by one command. Communication between application and network is made possible with Polkadot API libraries. This can help future Parachain developers with testing. + +ParaSpell focuses mainly on substrate developers. Added value comes from being user friendly SDK for simplifying development by saving time necessary to install & launch network, open HRMP channels or create XCM transfers between nodes available in network. +Another added value comes from SDK that aims to connect entire Substrate ecosystem and in future also EVM with Substrate. + +Overall ParaSpell is all about developer experience. + +### Project Details +ParaSpell in its current form allows developers to install all dependencies as well as a network consisting of Rococo, Pichiu(Kylin network), Bifrost & Acala nodes with one command. Launching a network is also done by one command. Once the network is installed and started ParaSpell application allows developers to open/close HRMP channels between mentioned parachains. In current progress ParaSpell already has user interface and main functionality almost finished. + +The following screen allows the user to open the HRMP channels between list of parachains pulled from Rococo by API call. +![open channel](https://user-images.githubusercontent.com/55763425/198574223-8444aff5-a3f8-4d15-bf25-0ccf345e2577.png) + + +Closing HRMP channels is just as simple as opening them. One button click to close the required channel. +![close channel](https://user-images.githubusercontent.com/55763425/198574247-12a00f37-33a4-467a-aaaa-e83d913af558.png) + + +If the user decides to transfer funds from Relay chain to Parachain they can do so by filling following details. These required details are way faster to fill than filling a full XCM call which requires a complete route and selection of concrete token. +![relay to para](https://user-images.githubusercontent.com/55763425/198574295-30a4d124-8f72-4931-a3ee-2f3e1375d73b.png) + + +The opposite, but nearly the same scenario is sending tokens from Parachain to Relay chain. It is just as simple, however. +![para to relay](https://user-images.githubusercontent.com/55763425/198574386-d3883bfe-54ba-4e74-abcc-f08995a39703.png) + + +The last transaction scenario is the transfer of funds between Parachain and another Parachain. +![para to para](https://user-images.githubusercontent.com/55763425/198574413-8ef3714c-f971-4652-ab7f-b8114f8928bb.png) + + +- Overview video of application is also available on Youtube [Link to overview video](https://youtu.be/YKZEa2MaY6Q) + +#### Architecture 🏗️ +![screenFlow](https://user-images.githubusercontent.com/55763425/198412240-e031d877-c5d8-4952-9048-2e1256ba4469.svg) + +UI is purposely designed to be as simple as possible. This guarantees, that all tasks can be done quickly and without extended searching. All necessary screens also feature notifications which will as a milestone explain be callback reactive. The loading screen is only present on the first application & network startup, once accessing the same screen after the application was loaded it will be skipped automatically. The screen serves to register necessary assets in parachain nodes. This is only required to be run once per network startup. + +SDK currently handles transfers to 29 compatible Parachains (ones that have xTokens pallet) ([Beta-pre-release ParaSpell SDK](https://github.com/paraspell/sdk/tree/beta-pre-release)) and also can transfer to both Relay chains. It is easy to construct calls as is but we want to make it even easier and more developer friendly. + +#### Technology Stack 💻️ +- Vue.js +- Node.js +- Typescript +- Polkadot api libraries +- Make +- Parachain launch +- Substrate compatible nodes (For now Rococo, Pichiu(Kylin network), Bifrost & Acala) + +### Ecosystem Fit 🌳 + +There are not many XCM & XCMP related development tools released currently. We aim to aid this mostly empty space and help developers to understand XCM & XCMP as the current state-of-the-art technology by providing documentation and a user interface in which they can do development tasks more easily and faster. + +In Polkadot and Kusama ecosystem, there are few XCM related tools in development. For example Moonbeam XCM SDK was released only recently. We bring comparison table that compares our ParaSpell SDK to Moonbeam SDK +| Features | ParaSpell XCM SDK | Moonbeam XCM SDK | +| -----: | ----------- | ------------- | +| Number of packages user has to install | User needs to install only 1 package | User needs to install 2 packages | +| Support for Parachains | Already integrated for every with xTokens & will be integrated for all with polkadotXCM pallet (Will be basically implemented for all nodes then) Link to implementation [Beta-pre-release ParaSpell SDK](https://github.com/paraspell/sdk/tree/beta-pre-release) | Every new node has to be added manually | +| Build pattern | Will be integrated, to be as intuitive as possible | Integrated, not as intuitive to implement however | +| Support for asset pallet operations | Will be integrated | Not integrated | +| Support for HRMP pallet operations | Integrated users can open & close HRMP channels on their local chain (Useful feature for devs) | Not integrated | +| Support for checking details that do not change | Will be integrated & will also be covered with some error handling eg (too little ammount being sent, not sufficient for XCM transfer) | Integrated in form of small "map" for different Tokens & Node IDs | +| Support for Axelar GMP (General message passing) that will connect Substrate with EVM chains | Planned to be implemented in the future | No data | + + + +Unlike the already mentioned "Moonbeam XCM" platform ParaSpell provides UI enhancement that uses our XCM SDK and users can try/learn technology from it. ParaSpell also includes support for all 29 Substrate Parachains ([Beta-pre-release ParaSpell SDK](https://github.com/paraspell/sdk/tree/beta-pre-release)) that have xTokens pallet compared to Moonbeam XCM to which users have to implement compatible nodes manually. ParaSpell SDK only needs one package compared to Moonbeam XCM which has total of two. Compared to Moonbeam XCM which contains only XCM calls ParaSpell also contains calls that can open or close HRMP channels. We also want to include support for Parachains that have template pallet for XCM called polkadotXCM this pallet is a little harder to work with than xTokens, even more for inexperienced developers. + +Another comparison worth mentioning is UI vs Morph which is also enhancement of XCM UI Transfer tool +| Features | ParaSpell XCM UI | Morph | +| -----: | ----------- | ------------- | +| Focus: | Developers & users that wish to try XCM locally first | Users | +| Wiki: | Comprehensive Wiki explaining XCM, how to add assets to UI & Nodes and more implemented | Not implemented | +| Support for transfers: | In three different scenarios | In two scenarios | +| Support for local network configuration: | Fully implemented example network configuration that uses maintained Parachain-launch library | Not implemented | +| Support for HRMP channel opening/closing: | Fully implemented | Not implemented | + +Unlike the already mentioned "Morph" platform ParaSpell focuses more on developers. ParaSpell features complete network install and startup configuration in one single command. This automatization ensures, that developers do not need to do any extra tasks when they wish to run development nodes locally. ParaSpell also allows developers to open and close HRMP channels between Parachains they connected. Like "Morph", ParaSpell can also transfer fungible tokens in three scenarios. From Parachains to Relay chain, from Relay chain to Parachains & from Parachains to Parachains. + +We are currently in talks with several Parachain teams that like the idea of unified SDK for XCM transfers as much as we do. SDK that unifies XCM can be very helpful for entire ecosystem in our opinion. + +Our target audiences are Web3 projects and starting/current blockchain developers. +## Team :busts_in_silhouette: + +### Team members + +Dušan Morháč - Student, project Core Dev. Faculty of Informatics and Information Technologies STU in Bratislava + +Viktor Valaštín - Supervisor, founder of [KodaDot](https://kodadot.xyz/). Faculty of Informatics and Information Technologies STU in Bratislava + +### Contact + +- **Contact Name:** Dušan Morháč +- **Contact Email:** xmorhac@stuba.sk + + +### Legal Structure + +- **Registered Address:** Tomášovská 453/2, Kalinovo 98501, Slovak Republic +- **Registered Legal Entity:** Dušan Morháč ml. + +### Team's experience + +- Dušan is the programmer & researcher behind this project and has successfully presented it at the international conference ICECET2022 held in Prague from which there is an article regarding XCMP & our project. It is published on [IEEE](https://ieeexplore.ieee.org/document/9872938). Dušan also studies Blockchain technology and had a bachelor thesis about cross-blockchain sharing from which this idea was born. Dušan is actively working on [ParaSpell](https://github.com/paraspell) full-time & have also created project called [MoonDo](https://github.com/dudo50/MoonDo) which he works on & researches during free time, research from it will be used in ParaSpell. MoonDo won second place bounty for Axelar in Moonbeam connected contracts hackathon [link](https://devpost.com/software/moondo). +- Viktor ([@vikiival](https://twitter.com/vikiival)) is building open-source software in the Polkadot ecosystem since 2019. Viktor is also Dušan's supervisor, Co-Founder of [KodaDot](https://kodadot.xyz/), and co-author of our XCMP ICECET2022 article publication. + +### Team Code Repos + +- https://github.com/paraspell +- https://github.com/dudo50/MoonDo +- https://github.com/kodadot/nft-gallery + +### Team Github Profiles 🧑‍🎓 + +- https://github.com/dudo50 Dušan Morháč +- https://github.com/vikiival Viktor Valaštín + +### Team LinkedIn Profiles 🧑‍🎓 + +- https://www.linkedin.com/in/dudo50 +- https://www.linkedin.com/in/vikival + +## Development Status :open_book: + +[UI](https://github.com/paraspell/ui) that uses XCM SDK has it's functionality implemented already which was main goal of our first proposal. We will shift it towards new version of Vue which is state of the art during fufillment of this proposal. SDK has [beta pre-release](https://github.com/paraspell/sdk/tree/beta-pre-release) phase released, it features all 29 nodes that implement xTokens pallet, ability to transfer to & from Relay chains, ability to open & close HRMP channels. + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Total Estimated Duration:** 6 months +- **Full-Time Equivalent (FTE):** 2 FTE +- **Total Costs:** 28 500 USD + +### Milestone 1 - Improve ParaSpell UI 1/2 & ParaSpell SDK 1/3 + +- **Estimated duration:** 2 months ⌛️ +- **FTE:** 2 +- **Costs:** 9 500 USD 💰️ + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | MIT | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a usage explanation in readme.md | +| 0c. | Testing and Testing Guide | SDK Core UNIT tests will be provided for xTokens Pallet, HRMP pallet, polkadotXCM pallet| +| 0d. | Docker | Docker file that allows to test ParaSpell SDK through ParaSpell UI will be provided. | +| 1. | Create scaffold template for Web3 projects | Create template on Git for Web3 dApps to allow users to start developing and deploying in just minutes, this template will contain different libraries important for Web3 development already preinstalled. Languages planned to be used are `Typescript`. Stack that will be used is `Vue3 (Nuxt 3)`, `pnpm package manager`, `Polkadot API libraries` (Use KodaDot packages if applicable), `ParaSpell SDK`, UI will consist of basic components (address input (checks if address entered is valid), ballance input (no longer necessity to input lenghty amounts, will have sum conversions) etc.. ), wallet management (PolkadotJS, Talisman, Subwallet), all other not mentioned libraries will be mentioned in readme of template and readme will be linked to delivery. | +| 2. | Implement support for checking asset compatibility through `asset pallet` | Each node, that has ability to check which tokens it supports should be automatically queried for this data and SDK should be able to determine compatibility based on data queried. | +| 3.a | Add support for nodes without xTokens pallet I | We will implement support for transfer scenario Parachain to Relay chain for nodes that do not have xTokens pallet but have `polkadotXCM` prebuilt template pallet. (SDK will be able to determine which pallet to use on which Parachain automatically) | +| 3.b | Add support for nodes without xTokens pallet II | We will implement support for transfer scenario Parachain to Parachain for nodes that do not have xTokens pallet but have `polkadotXCM` prebuilt template pallet. (SDK will be able to determine which pallet to use on which Parachain automatically) | +| 4. | Make SDK easier to use | Merge Parachain to Parachain & Parachain to Relay chain scenarios in SDK into one scenario that will be able to adapt based on details provided (if destination node id not provided, then assume transfer is for relay chain, also if token is compatible with relay chain), this will replace need for calling two functions for each scenario with only one function covering both scenarios eg. `send()` instead `paratopara()` & `paratorelay()`| + +### Milestone 2 - Improve ParaSpell SDK 2/3 + +- **Estimated duration:** 2 months ⌛️ +- **FTE:** 2 +- **Costs:** 9 500 USD 💰️ + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | MIT | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a usage explanation in readme.md | +| 0c. | Testing and Testing Guide | SDK Core UNIT tests will be provided for pallets mentioned previously, script that checks pallets, functionality to check data that does not change, builder pattern | +| 0d. | Docker | Docker file that allows to test ParaSpell SDK through ParaSpell UI will be provided. | +| 1. | Add support for checking data that does not change | There are things that do not change, such as base token configuration (Polkadot, DOT token, 10 decimals), (Astar, ASTR, 18 decimals) This can be imported from `@polkadot/network` library to have better support for different transfer scenarios| +| 2. | Rewrite SDK to builder pattern | Best thing we can do to support multiple pallets and make it simplier for developers would be a Builder pattern functionality would look like: `import { Builder } as ‘@paraspell/sdk’` and then building of call would be something in sence: `const call = Builder(api).from(‘bsx’).to(‘ksm’).teleportTokens(‘KSM’).addr('destinationAddr').sum(currencySum).asV3().build()`| +| 3. | Make a map of compatible | Before each SDK release there should be a script that connects to the compatible nodes, checks all relevant available pallets `xTokens`, `polkadotXCM`, `asset pallets`, `HRMP` pallets) and saves them to the map.| +| 4. | Use [turborepo](https://turborepo.org/) | Remake package into `monorepo` for easier importing and cleaner use | + +### Milestone 3 - Improve ParaSpell UI 2/2 & ParaSpell SDK 3/3 + +- **Estimated duration:** 2 months ⌛️ +- **FTE:** 2 +- **Costs:** 9 500 USD 💰️ + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | MIT | +| 0b. | Documentation | We will provide both **inline documentation** of the code and a usage explanation in readme.md | +| 0c. | Testing and Testing Guide | SDK Core UNIT tests will be provided for every scenario that SDK offers. | +| 0d. | Docker | Docker file that allows to test ParaSpell SDK through ParaSpell UI will be provided. | +| 0e. | Article | We will publish Medium article about development of SDK | +| 1. | Release new functionality | Ability to install new version of package from npm | +| 2.a | Update ParaSpell UI I | Update ParaSpell XCM UI Parachain to Parachain Scenario screen to be able to use new SDK (Add or remove some variables according to new requirements from SDK functions) | +| 2.b | Update ParaSpell UI II | Update ParaSpell XCM UI Relay chain to Parachain Scenario screen to be able to use new SDK (Add or remove some variables according to new requirements from SDK functions) | +| 2.c | Update ParaSpell UI III | Update ParaSpell XCM UI Parachain to Relay chain Scenario screen to be able to use new SDK (Add or remove some variables according to new requirements from SDK functions) | +| 3. | Add comprehensive Wiki guide | We will add Wiki guide, that will specify SDK implementation to another dApps, different SDK functionalities & Guide for Parachain creators that wish to add their freshly baked node to the list of compatible nodes. | +| 4. | Use scaffold template from Milestone 1 to update UI | This will update ParaSpell UI from Vue 2 into Vue3 and nuxt. It will also be good demonstration for template usage & it will make UI more compatible with other dApps. | +| 5. | Integrate suggestions from [evaluation](https://github.com/w3f/Grant-Milestone-Delivery/blob/1343c66d74a1078b2a30972463a614737ed8aa92/evaluations/paraspell_1_keeganquigley.md) | Integrate suggestions regarding Wiki, module for asset conversions to not need to write so many 0s & replace button text `Log in with:` with account name once logged in | + +## Future Plans 🔭 + +Once everything will be implemented according to the proposed plan application will still be under constant improvement as technology will progress. For example, once the XCMP protocol will be released we wish to deprecate the HRMP protocol we currently use for channels. + +In a long run, we also want to improve design of the UI, add new features that can be useful for developers and support for new nodes. + +Project goal is that SDK will serve dApp developers and UI will teach new substrate developers to use XCM and will serve to existing substrate developers to test their freshly baked Parachains. +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** Personal recommendation + +##### Project achievements in chronological order ⌛️ + +- 📙 Article about project created & presented on international conference ICECET2022 held in Prague (450 out of 1000+ articles accepted) Link to IEEE publication - [IEEE - Sharing Fungible Assets Across Polkadot Paraverse](https://ieeexplore.ieee.org/document/9872938/) +- 🥈 2nd Prize, Build a XCM related Tool for Moonbeam - Polkadot North America Hackathon [Hackathon entry](https://devpost.com/software/polkachange-cross-blockchain-transfer-tool) +- 🥉 3rd Prize, EVM+ DApp for aUSD yield - Polkadot North America Hackathon [Hackathon entry](https://devpost.com/software/polkachange-cross-blockchain-transfer-tool) +- 🎈 Web 3 Foundation base grant funded [link](https://github.com/dudo50/Grants-Program/blob/d182e10ecbd7705aee07edc5f7aa0085d07188e5/applications/ParaSpell.md), [link2](https://medium.com/web3foundation/web3-foundation-grants-wave-15-recipients-5ac4e6406485). +- 🥈 Second place bounty in Moonbeam connected contracts Hackathon - Build Cross-chain application with Axelar [Link to hackathon post](https://devpost.com/software/moondo) From 12f9e5b76a60c9e9044353f17379e6f76fb2403c Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 8 Nov 2022 13:45:47 +0100 Subject: [PATCH 0254/1872] Update accepted_grant_applications.md Update ParaSpell --- docs/accepted_grant_applications.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index e2fa56de6e1..a6dc4e26a0b 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -530,7 +530,7 @@ | [Stardust Labs Inc.](https://stardust.finance/) | Integrating ISO-8583 | [GitHub](https://github.com/adit313/) |
  • [ ]
|
  • [x]
|
  • [x]
| | [TwinP](https://www.linkedin.com/in/elioprifti/) | Escrow Pallet | [GitHub](https://github.com/herou) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Meta Defender Team](https://github.com/Meta-Defender/) | Meta Defender | [GitHub](https://github.com/Meta-Defender/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [ParaSpell](https://github.com/dudo50/ParaSpell) | ParaSpell | [GitHub](https://github.com/dudo50/ParaSpell) |
  • [ ]
|
  • [x]
|
  • [x]
| +| [ParaSpell](https://github.com/paraspell) | ParaSpell | [GitHub](https://github.com/paraspell) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Primis Labs](https://github.com/Primis-Labs) | Primis | [GitHub](https://github.com/Primis-Labs/client) |
  • [ ]
|
  • [x]
|
  • [x]
| | [Uke](https://github.com/Uke-Messaging) | Uke Messaging - PoC - Phase 1 | [GitHub](https://github.com/Uke-Messaging) |
  • [x]
|
  • [ ]
|
  • [ ]
| | [Redstone Network](https://github.com/difttt) | Redstone Network | [GitHub](https://github.com/difttt) |
  • [ ]
|
  • [ ]
|
  • [ ]
| @@ -568,4 +568,5 @@ | [Ink Contracts Wizard Team](https://github.com/amankumar1008/contracts-wizard) | Ink Smart Contract Wizard | [GitHub](https://github.com/amankumar1008/contracts-wizard) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [TDSoftware](https://www.tdsoftware.de/) | Substrate IPFS Utilities | [GitHub](https://github.com/TDSoftware) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Ink Boxes Team](https://github.com/nerdsince98) | Ink Boxes | [GitHub](https://gitlab.com/nerdsince98/learning-ink/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [ParaSpell](https://github.com/paraspell) | ParaSpell Phase 2 | [GitHub](https://github.com/paraspell) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From 3582f9fe3a7233339aa357af0d072c6f853b5a98 Mon Sep 17 00:00:00 2001 From: Curtis Wilkerson Date: Tue, 8 Nov 2022 05:16:15 -0800 Subject: [PATCH 0255/1872] updating team lead and timeline (#1251) * updating team lead and timeline * adding name and level * Update wika_network.md Co-authored-by: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> --- applications/wika_network.md | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/applications/wika_network.md b/applications/wika_network.md index 0c695c5be69..673282465dc 100644 --- a/applications/wika_network.md +++ b/applications/wika_network.md @@ -1,10 +1,8 @@ -# W3F Open Grant Request +# wika.network - -* **Project Name:** Wika Network (temporary prototype name) * **Team Name:** Web Registry DAO * **Payment Address:** 0xBfc8cDb5617eE0F83794156ABD7465730E125cE3 (USDT) - +* **Level:** 2 ## Project Overview :page_facing_up: @@ -179,18 +177,18 @@ but we believe our design is simpler. ### Team members +* Curtis Wilkerson * Nabil Abdellaoui * Reda Bendiar * John Candido * Doug Astor -* Curtis Wilkerson * Thomas Cantrell ### Contact -* **Contact Name:** Nabil Abdellaoui -* **Contact Email:** nabil.abdellaoui@expr-research.com +* **Contact Name:** Curtis Wilkerson +* **Contact Email:** curtisawilk@gmail.com * **Website:** www.wika.network ### Legal Structure @@ -200,6 +198,8 @@ but we believe our design is simpler. ### Team's experience +**Curtis Wilkerson** is a data scientist working in financial technology for 6 years. His focus has been credit & fraud modeling as well as building machine learning infrastructure in the fintech/financial inclusion space. + **Nabil** is a self-taught software architect with 25 years experience coding in different programming languages and frameworks. @@ -236,8 +236,6 @@ In his own words, **Doug Astor** is a degen! Also, he is currently the admin of the Wika discord server. -**Curtis Wilkerson** is a data scientist working in financial technology for 6 years. His focus has been credit & fraud modeling as well as building machine learning infrastructure in the fintech/financial inclusion space. - **Thomas Cantrell** is a data scientist working in banking operations and regulatory compliance at Capital One for 6 years. His focus is primarily on operations predictive modeling, document-centric vision machine learning, and process automation. Outside of work, he enjoys experimenting with generative deep learning. The above 6 members are the current owners of the multisig address recipient of this grant. @@ -351,7 +349,7 @@ Global success criteria: ### Milestone 3 — Integration Libs -* **Estimated Duration:** 1 month +* **Estimated Duration:** 3 months (expected to start work in December 2022 and be completed March 2023) * **FTE:** 1 * **Costs:** 5,000 USD From 635ed09579b61597fadcb7b20c1e1bf6324a3af6 Mon Sep 17 00:00:00 2001 From: Diogo <112647953+dsm-w3f@users.noreply.github.com> Date: Tue, 8 Nov 2022 11:37:08 -0300 Subject: [PATCH 0256/1872] Update accepted_grant_applications.md to check Ventur first delivery (#1265) --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index a6dc4e26a0b..91a55ac4dcc 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -536,7 +536,7 @@ | [Redstone Network](https://github.com/difttt) | Redstone Network | [GitHub](https://github.com/difttt) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [JURIMETRIC TECNOLOGIA LTDA](https://www.jurimetric.com.br/) | Polkadart | [GitHub](https://github.com/rankanizer/polkadart) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [Skye Kiwi](https://skye.kiwi/) | Choko Wallet | [GitHub](https://github.com/skyekiwi) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Popular Coding](https://www.popularcoding.com/) | Ventur | [GitHub](https://github.com/popular_coding) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Popular Coding](https://www.popularcoding.com/) | Ventur | [GitHub](https://github.com/popular_coding) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Asylum](https://asylum.space/) | Asylum follow-up 1 | [GitHub](https://gitlab.com/asylum-space/) |
  • [ ]
|
  • [x]
|
  • [ ]
| | [Cyril Carlier](https://github.com/CrommVardek) | Maki| [GitHub](https://github.com/CrommVardek) |
  • [ ]
|
  • [ ]
|
  • [ ]
| | [TopMonks](https://www.topmonks.com/) | Calamar| [GitHub](https://github.com/topmonks/calamar) |
  • [ ]
|
  • [ ]
|
  • [ ]
| From f0c4241a537e0fccbdac8db78dd47eadf7b3a779 Mon Sep 17 00:00:00 2001 From: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> Date: Wed, 9 Nov 2022 08:57:47 +0100 Subject: [PATCH 0257/1872] Encourage no token mentions + generic project description (#1263) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * No token mentions + generic project description * Update README.md Co-authored-by: Sebastian Müller Co-authored-by: David Hawig Co-authored-by: Sebastian Müller --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b02bc807e62..8dba583e05b 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,7 @@ Additionally, it must fulfill the following requirements: - All code produced as part of a grant must be **open-sourced**, and it must also not rely on closed-source software for full functionality. We prefer Apache 2.0, but GPLv3, MIT or Unlicense are also acceptable. - We do not award grants for projects that have been the object of a successful token sale. +- Applications must not mention a specific token. Furthermore, the focus of the application should lie on the software that is being implemented/research being carried out as part of the grant, and less on your project/venture/operation. For the purpose of the application and delivery, think about how others might also benefit from your work. - As a general rule, teams are asked to finish a grant before applying for another one. - Lastly, we do not fund projects that actively encourage gambling, illicit trade, money laundering or criminal activities in general. From 726f7ffb55f849169f7d4bc5bafd8f014a20836c Mon Sep 17 00:00:00 2001 From: Xavier Lau Date: Wed, 9 Nov 2022 21:05:58 +0800 Subject: [PATCH 0258/1872] Amend Subalfred milestone deliverables (#1267) Signed-off-by: Xavier Lau Signed-off-by: Xavier Lau --- applications/subalfred.md | 51 ++++++++++++++++++++------------------- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/applications/subalfred.md b/applications/subalfred.md index edf6bea89e7..7a92df55d8a 100644 --- a/applications/subalfred.md +++ b/applications/subalfred.md @@ -92,36 +92,34 @@ There are three parts: - **FTE:** 1 - **Costs:** 24,000 USD -| Number | Deliverable | Specification | -| -----: | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | -| 0a. | License | GPLv3 | -| 0b. | Documentation | I'll document every `pub` function and a basic tutorial that explains how a user interact with Subalfred. | -| 0c. | Testing guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, I will describe how to run these tests. | -| 0d. | Docker | I'll provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | -| 1. | Core: check features | I'll finish the this features, which is use for checking Substrate runtime runtime-benchmarks/std/try-runtime features enable status. | -| 2. | Core: use paritytech/ss58-registry | I'll make PR to paritytech/ss58-registry to support my custom logic, and setup the dependabot to update ss58-registry automatically. | -| 3. | Core, CLI: override runtime code | I'll make it able to override the runtime code while fork-off the chain state. | -| 3. | Core, CLI: rpc | I'll finish the this features, user could use this command to send the RPC call to the Substrate node. | -| 4. | CLI: JSON output | I'll make `key` command provides JSON output. | -| 5. | CLI: stable Rust toolchain | I'll rewrite the subcommand parts in procedure macro to remove the unstable Rust features usage. | -| 6. | CLI: `--at` accept block number | I'll make the `--at` arg accept block number input, instead of a block hash only. Any command with `--at` arg will be updated. | -| 7. | Releases | Linux, macOS, Windows prebuilt binaries, and crates.io release. | +| Number | Deliverable | Specification | +| -----: | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | +| 0a. | License | GPLv3 | +| 0b. | Documentation | I'll document every `pub` function and a basic tutorial that explains how a user interact with Subalfred. | +| 0c. | Testing guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. Simply run `cargo test` under the project root. | +| 1. | Core: check features | I'll finish the this features, which is use for checking Substrate runtime runtime-benchmarks/std/try-runtime features enable status. | +| 2. | Core: use paritytech/ss58-registry | I'll make PR to paritytech/ss58-registry to support my custom logic, and setup the dependabot to update ss58-registry automatically. | +| 3. | Core, CLI: override runtime code | I'll make it able to override the runtime code while fork-off the chain state. | +| 3. | Core, CLI: rpc | I'll finish the this features, user could use this command to send the RPC call to the Substrate node. | +| 4. | CLI: JSON output | I'll make `key` command provides JSON output. |a +| 5. | CLI: stable Rust toolchain | I'll rewrite the subcommand parts in procedure macro to remove the unstable Rust features usage. | +| 6. | CLI: `--at` accept block number | I'll make the `--at` arg accept block number input, instead of a block hash only. Any command with `--at` arg will be updated. | +| 7. | Releases | Linux, macOS, Windows prebuilt binaries, and crates.io release. | ### Milestone 2 — Add more new features - **Estimated Duration:** 2 week - **FTE:** 1 - **Costs:** 4000 USD -| Number | Deliverable | Specification | -| -----: | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | -| 0a. | License | GPLv3 | -| 0b. | Documentation | I'll document every `pub` function and a basic tutorial that explains how a user interact with Subalfred. | -| 0c. | Testing guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, I will describe how to run these tests. | -| 0d. | Docker | I'll provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | -| 1. | License | GPLv3. | -| 2. | Core, CLI: track-updates | List the companions that you need to do from substrate/cumulus/frontier/parity-bridges-substrate. | -| 3. | Core, CLI: update-subdeps | Update the substrate/cumulus/frontier/parity-bridges-substrate dependencies in one command. | -| 4. | Releases | Release Linux, macOS, Windows prebuilt binaries on GitHub, and crates.io. | +| Number | Deliverable | Specification | +| -----: | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | +| 0a. | License | GPLv3 | +| 0b. | Documentation | I'll document every `pub` function and a basic tutorial that explains how a user interact with Subalfred. | +| 0c. | Testing guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. Simply run `cargo test` under the project root. | +| 1. | License | GPLv3. | +| 2. | Core, CLI: track-updates | List the companions that you need to do from substrate/cumulus/frontier/parity-bridges-substrate. | +| 3. | Core, CLI: update-subdeps | Update the substrate/cumulus/frontier/parity-bridges-substrate dependencies in one command. | +| 4. | Releases | Release Linux, macOS, Windows prebuilt binaries on GitHub, and crates.io. | ### Milestone 3 — Provide checks' GitHub Actions - **Estimated Duration:** 1 week @@ -132,7 +130,7 @@ There are three parts: | -----: | -------------------------------------- | ---------------------------------------------------------------------------------------------- | | 0a. | License | GPLv3 | | 0b. | Documentation | I'll provide the inline documentation. | -| 0c. | Testing guide | I'll provide a GitHub Actions setup example and describe how to check the result. | +| 0c. | Testing guide | I'll provide a GitHub Actions setup example and describe how to check the result. | | 1. | GitHub Actions: check runtime features | I'll provide a GitHub Actions, which could check the runtime features status while developing. | | 2. | GitHub Actions: check runtime storage | I'll provide a GitHub Actions, which could check the runtime storage changes while developing. | | 3. | GitHub Actions: check runtime version | I'll provide a GitHub Actions, which could check the runtime version changes while developing. | @@ -158,3 +156,6 @@ Please note this is a part of milestone 1. I'd love to convert these milestone to issues on the [repository](https://github.com/hack-ink/subalfred). It will be much easier to track the status. + +### Amending +- Remove **0.d** from milestone **1** and **2**. Because I realize that it is much easier for you to test this with a simple `cargo test` command. So, I decide to use **cargo** instead of **docker**. [Discussion](https://github.com/w3f/Grant-Milestone-Delivery/pull/615#issuecomment-1308480639) From 3216bb3de9e1f3c652e029b94d864d60faec18c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Fri, 11 Nov 2022 08:44:13 +0000 Subject: [PATCH 0259/1872] Replace emojis in accepted_grant_applications.md for docusaurus (#1269) * Update accepted_grant_applications.md * Replace checkmarks with html * update with box without a cross * fix code link Co-authored-by: Noc2 --- docs/accepted_grant_applications.md | 990 ++++++++++++++-------------- 1 file changed, 495 insertions(+), 495 deletions(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 91a55ac4dcc..a5747aa5b94 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -11,562 +11,562 @@ ## Table of Contents - [2019](#2019) - - [:surfing_woman: Wave 1 - First Quarter 2019](#surfing_woman-wave-1---first-quarter-2019) - - [:surfing_woman: Wave 2 - Second Quarter 2019](#surfing_woman-wave-2---second-quarter-2019) - - [:surfing_woman: Wave 3 - Third Quarter 2019](#surfing_woman-wave-3---third-quarter-2019) - - [:surfing_woman: Wave 4 - Fourth Quarter 2019](#surfing_woman-wave-4---fourth-quarter-2019) + - [🏄‍♀️ Wave 1 - First Quarter 2019](#surfing_woman-wave-1---first-quarter-2019) + - [🏄‍♀️ Wave 2 - Second Quarter 2019](#surfing_woman-wave-2---second-quarter-2019) + - [🏄‍♀️ Wave 3 - Third Quarter 2019](#surfing_woman-wave-3---third-quarter-2019) + - [🏄‍♀️ Wave 4 - Fourth Quarter 2019](#surfing_woman-wave-4---fourth-quarter-2019) - [2020](#2020) - - [:surfing_woman: Wave 5 - First Quarter 2020](#surfing_woman-wave-5---first-quarter-2020) - - [:surfing_woman: Wave 6 - Second Quarter 2020](#surfing_woman-wave-6---second-quarter-2020) - - [:surfing_woman: Wave 7 - Third Quarter 2020](#surfing_woman-wave-7---third-quarter-2020) - - [:surfing_woman: Wave 8 - Fourth Quarter 2020](#surfing_woman-wave-8---fourth-quarter-2020) + - [🏄‍♀️ Wave 5 - First Quarter 2020](#surfing_woman-wave-5---first-quarter-2020) + - [🏄‍♀️ Wave 6 - Second Quarter 2020](#surfing_woman-wave-6---second-quarter-2020) + - [🏄‍♀️ Wave 7 - Third Quarter 2020](#surfing_woman-wave-7---third-quarter-2020) + - [🏄‍♀️ Wave 8 - Fourth Quarter 2020](#surfing_woman-wave-8---fourth-quarter-2020) - [2021](#2021) - - [:surfing_woman: Wave 9 - First Quarter 2021](#surfing_woman-wave-9---first-quarter-2021) - - [:surfing_woman: Wave 10 - Second Quarter 2021](#surfing_woman-wave-10---second-quarter-2021) - - [:surfing_woman: Wave 11 - Third Quarter 2021](#surfing_woman-wave-11---third-quarter-2021) - - [:surfing_woman: Wave 12 - Fourth Quarter 2021](#surfing_woman-wave-12---fourth-quarter-2021) + - [🏄‍♀️ Wave 9 - First Quarter 2021](#surfing_woman-wave-9---first-quarter-2021) + - [🏄‍♀️ Wave 10 - Second Quarter 2021](#surfing_woman-wave-10---second-quarter-2021) + - [🏄‍♀️ Wave 11 - Third Quarter 2021](#surfing_woman-wave-11---third-quarter-2021) + - [🏄‍♀️ Wave 12 - Fourth Quarter 2021](#surfing_woman-wave-12---fourth-quarter-2021) - [2022](#2022) - - [:surfing_woman: Wave 13 - First Quarter 2022](#surfing_woman-wave-13---first-quarter-2022) - - [:surfing_woman: Wave 14 - Second Quarter 2022](#surfing_woman-wave-14---second-quarter-2022) - - [:surfing_woman: Wave 15 - Third Quarter 2022](#surfing_woman-wave-15---third-quarter-2022) - - [:surfing_woman: Wave 16 - Fourth Quarter 2022](#surfing_woman-wave-16---fourth-quarter-2022) + - [🏄‍♀️ Wave 13 - First Quarter 2022](#surfing_woman-wave-13---first-quarter-2022) + - [🏄‍♀️ Wave 14 - Second Quarter 2022](#surfing_woman-wave-14---second-quarter-2022) + - [🏄‍♀️ Wave 15 - Third Quarter 2022](#surfing_woman-wave-15---third-quarter-2022) + - [🏄‍♀️ Wave 16 - Fourth Quarter 2022](#surfing_woman-wave-16---fourth-quarter-2022) # 2019 -## :surfing_woman: Wave 1 - First Quarter 2019 +## 🏄‍♀️ Wave 1 - First Quarter 2019 | Team | Project | Link | Terminated | First Delivery | Completed | :--- | :------ | :--- | :--------: | :------------: | :-------: | -| [ChainSafe](https://chainsafe.io/) | Polkadot Runtime Environment in Go (via an RFP) | [GitHub](https://github.com/ChainSafeSystems/gossamer) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Soramitsu](https://soramitsu.co.jp/) | Polkadot Runtime Environment in C++ (via an RFP) | [GitHub](https://github.com/soramitsu/kagome) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [WEB3SCAN](https://www.web3scan.com/) | Polkascan: Open Source Block Explorer | [GitHub](https://github.com/polkascan) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Polkawallet](https://polkawallet.io/) | Mobile Wallet | [GitHub](https://github.com/polkawallet-io/polkawallet-RN) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Validators](http://validators.com/) | Open Source Scalable Cluster | [GitHub](https://github.com/Validators) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [BlockX Labs](http://blockxlabs.com/) | Enzyme Browser extension wallet | [GitHub](https://github.com/blockxlabs/enzyme) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Speckle OS](https://www.speckleos.io/) | Browser extension wallet | [GitHub](https://github.com/SpeckleOS/speckle-browser-extension) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Noise Explorer](https://symbolic.software/) | Rust code generator for formally verified (Noise/ cryptographic) handshakes | [Source Code](https://source.symbolic.software/noiseexplorer/noiseexplorer) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Protos](http://protosmanagement.com/) | Open Source Node Explorer | [GitHub](https://github.com/protos-research/polkadot-node-explorer) |
  • [x]
|
  • [x]
|
  • [ ]
| -| [Supercomputing Systems](https://www.scs.ch/) | Substrate Transaction Privacy using Intel SGX | [GitHub](https://github.com/scs/substraTEE) |
  • [ ]
|
  • [x]
|
  • [x]
| - -## :surfing_woman: Wave 2 - Second Quarter 2019 +| [ChainSafe](https://chainsafe.io/) | Polkadot Runtime Environment in Go (via an RFP) | [GitHub](https://github.com/ChainSafeSystems/gossamer) | ☐ | ☒ | ☒ | +| [Soramitsu](https://soramitsu.co.jp/) | Polkadot Runtime Environment in C++ (via an RFP) | [GitHub](https://github.com/soramitsu/kagome) | ☐ | ☒ | ☒ | +| [WEB3SCAN](https://www.web3scan.com/) | Polkascan: Open Source Block Explorer | [GitHub](https://github.com/polkascan) | ☐ | ☒ | ☒ | +| [Polkawallet](https://polkawallet.io/) | Mobile Wallet | [GitHub](https://github.com/polkawallet-io/polkawallet-RN) | ☐ | ☒ | ☐ | +| [Validators](http://validators.com/) | Open Source Scalable Cluster | [GitHub](https://github.com/Validators) | ☐ | ☒ | ☒ | +| [BlockX Labs](http://blockxlabs.com/) | Enzyme Browser extension wallet | [GitHub](https://github.com/blockxlabs/enzyme) | ☐ | ☒ | ☒ | +| [Speckle OS](https://www.speckleos.io/) | Browser extension wallet | [GitHub](https://github.com/SpeckleOS/speckle-browser-extension) | ☐ | ☒ | ☒ | +| [Noise Explorer](https://symbolic.software/) | Rust code generator for formally verified (Noise/ cryptographic) handshakes | [Source Code](https://source.symbolic.software/noiseexplorer/noiseexplorer) | ☐ | ☒ | ☒ | +| [Protos](http://protosmanagement.com/) | Open Source Node Explorer | [GitHub](https://github.com/protos-research/polkadot-node-explorer) | ☒ | ☒ | ☐ | +| [Supercomputing Systems](https://www.scs.ch/) | Substrate Transaction Privacy using Intel SGX | [GitHub](https://github.com/scs/substraTEE) | ☐ | ☒ | ☒ | + +## 🏄‍♀️ Wave 2 - Second Quarter 2019 | Team | Project | Link | Terminated | First Delivery | Completed | :--- | :------ | :--- | :--------: | :------------: | :-------: | -| [Cap9](https://cap9.io/) | A low-level security protocol and framework for smart contracts | [GitHub](https://github.com/Daohub-io/cap9) |
  • [ ]
|
  • [x]
|
  • [x]
| -| Substrate Java API | Java version of our JS API | [GitHub](https://github.com/polkadot-java) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Starlog](https://pact.care/) | A metadata chain for IPFS | [GitHub](https://github.com/PACTCare/Starlog) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [MixBytes](https://mixbytes.io/) | Benchmarking tool for Substrate and Polkadot | [GitHub](https://github.com/mixbytes/tank) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Gunclear](https://gunclear.io/) | Private secure data storage solution using Plasma Cash in Substrate | [GitHub](https://github.com/GunClear) |
  • [x]
|
  • [x]
|
  • [ ]
| -| [ZeroChain](https://layerx.co.jp/) | Zero knowledge transactions in Substrate | [GitHub](https://github.com/LayerXcom/zero-chain) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Robonomics](https://robonomics.network/) | Substrate modules for controlling robots | [GitHub](https://github.com/airalab/substrate-node-robonomics) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Avado](https://ava.do/) | Polkadot node deployment with consumer hardware | [GitHub](https://github.com/AvadoDServer/AVADO-DNP-Polkadot-custom) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Stake Technologies](https://stake.co.jp/) | Plasma modules for Substrate | [GitHub](https://github.com/staketechnologies/Plasm) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [HOPR](https://hopr.network/) | Substrate integration with this P2P messaging protocol | [GitHub](https://github.com/validitylabs/HOPR-PL-Substrate) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Mailchain](https://mailchain.xyz/) | a Multi-Blockchain Messaging Application | [GitHub](https://github.com/mailchain) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Usetech](http://usetech.com/blockchain.html) | Polkadot C++ API | [GitHub](https://github.com/usetech-llc/polkadot_api_cpp) |
  • [ ]
|
  • [x]
|
  • [x]
| - -## :surfing_woman: Wave 3 - Third Quarter 2019 +| [Cap9](https://cap9.io/) | A low-level security protocol and framework for smart contracts | [GitHub](https://github.com/Daohub-io/cap9) | ☐ | ☒ | ☒ | +| Substrate Java API | Java version of our JS API | [GitHub](https://github.com/polkadot-java) | ☐ | ☒ | ☒ | +| [Starlog](https://pact.care/) | A metadata chain for IPFS | [GitHub](https://github.com/PACTCare/Starlog) | ☐ | ☒ | ☐ | +| [MixBytes](https://mixbytes.io/) | Benchmarking tool for Substrate and Polkadot | [GitHub](https://github.com/mixbytes/tank) | ☐ | ☒ | ☒ | +| [Gunclear](https://gunclear.io/) | Private secure data storage solution using Plasma Cash in Substrate | [GitHub](https://github.com/GunClear) | ☒ | ☒ | ☐ | +| [ZeroChain](https://layerx.co.jp/) | Zero knowledge transactions in Substrate | [GitHub](https://github.com/LayerXcom/zero-chain) | ☐ | ☒ | ☒ | +| [Robonomics](https://robonomics.network/) | Substrate modules for controlling robots | [GitHub](https://github.com/airalab/substrate-node-robonomics) | ☐ | ☒ | ☐ | +| [Avado](https://ava.do/) | Polkadot node deployment with consumer hardware | [GitHub](https://github.com/AvadoDServer/AVADO-DNP-Polkadot-custom) | ☐ | ☒ | ☒ | +| [Stake Technologies](https://stake.co.jp/) | Plasma modules for Substrate | [GitHub](https://github.com/staketechnologies/Plasm) | ☐ | ☒ | ☒ | +| [HOPR](https://hopr.network/) | Substrate integration with this P2P messaging protocol | [GitHub](https://github.com/validitylabs/HOPR-PL-Substrate) | ☐ | ☒ | ☒ | +| [Mailchain](https://mailchain.xyz/) | a Multi-Blockchain Messaging Application | [GitHub](https://github.com/mailchain) | ☐ | ☒ | ☒ | +| [Usetech](http://usetech.com/blockchain.html) | Polkadot C++ API | [GitHub](https://github.com/usetech-llc/polkadot_api_cpp) | ☐ | ☒ | ☒ | + +## 🏄‍♀️ Wave 3 - Third Quarter 2019 | Team | Project | Link | Terminated | First Delivery | Completed | :--- | :------ | :--- | :--------: | :------------: | :-------: | -| [Supercomputing systems](http://scs.ch/) | Substrate Rust API client | [GitHub](https://github.com/scs/substrate-api-client) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [NGRAVE](https://ngrave.io/) | Substrate Hardware Wallet Integration | |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Caelum Labs](https://caelumlabs.com/) | Decentralised identity modules | |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Runtime Verification](https://runtimeverification.com/) | Build executable K specifications of the SRML | [GitHub](https://github.com/runtimeverification/polkadot-verification) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Attic Lab](https://atticlab.net/) | VS Code and Atom plugins | [GitHub](https://github.com/everstake/VSCode-Atom-Plugin) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Dock](http://dock.io/) | Verifiable Claims | |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Blockdaemon](https://blockdaemon.com/) | Polkadot Package Manager | [GitHub](https://github.com/Blockdaemon/bpm-sdk) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Zondax](http://zondax.ch/) | Ledger app for Polkadot | [GitHub](https://github.com/ZondaX/ledger-polkadot) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Geefu](https://www.geefu.net/) | Vue JS components for Polkadot JS apps | [GitHub](https://github.com/vue-polkadot) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Centrifuge](https://centrifuge.io/) | Substrate Go API client | [GitHub](http://github.com/centrifuge) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Litentry](https://www.litentry.com/) | Identity modules and corresponding UIs | [GitHub](https://github.com/litentry/litentry-runtime) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [DappForce](http://dappforce.io) | SubSocial - Substrate module and web UI for decentralized communities | [GitHub](https://github.com/dappforce/dappforce-subsocial) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Phala.Network](https://phala.network/) | pLibra, Privacy Bridge between Polkadot and Libra chain | [GitHub](https://github.com/Phala-Network/) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Wiv](http://wiv.io/) | Supply chain modules and front-end UI | [GitHub](https://github.com/wivtech) |
  • [x]
|
  • [ ]
|
  • [ ]
| - -## :surfing_woman: Wave 4 - Fourth Quarter 2019 +| [Supercomputing systems](http://scs.ch/) | Substrate Rust API client | [GitHub](https://github.com/scs/substrate-api-client) | ☐ | ☒ | ☒ | +| [NGRAVE](https://ngrave.io/) | Substrate Hardware Wallet Integration | N/A | ☐ | ☒ | ☐ | +| [Caelum Labs](https://caelumlabs.com/) | Decentralised identity modules | | ☐ | ☒ | ☐ | +| [Runtime Verification](https://runtimeverification.com/) | Build executable K specifications of the SRML | [GitHub](https://github.com/runtimeverification/polkadot-verification) | ☐ | ☒ | ☒ | +| [Attic Lab](https://atticlab.net/) | VS Code and Atom plugins | [GitHub](https://github.com/everstake/VSCode-Atom-Plugin) | ☐ | ☒ | ☒ | +| [Dock](http://dock.io/) | Verifiable Claims | | ☐ | ☒ | ☐ | +| [Blockdaemon](https://blockdaemon.com/) | Polkadot Package Manager | [GitHub](https://github.com/Blockdaemon/bpm-sdk) | ☐ | ☒ | ☒ | +| [Zondax](http://zondax.ch/) | Ledger app for Polkadot | [GitHub](https://github.com/ZondaX/ledger-polkadot) | ☐ | ☒ | ☒ | +| [Geefu](https://www.geefu.net/) | Vue JS components for Polkadot JS apps | [GitHub](https://github.com/vue-polkadot) | ☐ | ☒ | ☒ | +| [Centrifuge](https://centrifuge.io/) | Substrate Go API client | [GitHub](http://github.com/centrifuge) | ☐ | ☒ | ☒ | +| [Litentry](https://www.litentry.com/) | Identity modules and corresponding UIs | [GitHub](https://github.com/litentry/litentry-runtime) | ☐ | ☒ | ☒ | +| [DappForce](http://dappforce.io) | SubSocial - Substrate module and web UI for decentralized communities | [GitHub](https://github.com/dappforce/dappforce-subsocial) | ☐ | ☒ | ☒ | +| [Phala.Network](https://phala.network/) | pLibra, Privacy Bridge between Polkadot and Libra chain | [GitHub](https://github.com/Phala-Network/) | ☐ | ☒ | ☐ | +| [Wiv](http://wiv.io/) | Supply chain modules and front-end UI | [GitHub](https://github.com/wivtech) | ☒ | ☐ | ☐ | + +## 🏄‍♀️ Wave 4 - Fourth Quarter 2019 | Team | Project | Link | Terminated | First Delivery | Completed | :--- | :------ | :--- | :--------: | :------------: | :-------: | -| [Genesis Lab](https://genesislab.net/) | Validator Tracker | [GitHub](https://github.com/genesis-lab-team) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Usetech](http://usetech.com/blockchain.html) | Substrate API in .NET | [GitHub](https://github.com/usetech-llc/polkadot_api_dotnet) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [BlockX Labs](http://blockxlabs.com/) | Enzyme Browser extension wallet | [GitHub](https://github.com/blockxlabs/enzyme) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [WEB3SCAN](https://www.web3scan.com/) | Python API client | [GitHub](https://github.com/polkascan) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Galactic Council](https://github.com/galacticcouncil) | Polkalert: Validator Monitoring | [GitHub](https://github.com/galacticcouncil/polkalert) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Bandot](http://bandot.io/) | Stablecoin | [GitHub](https://github.com/bandotorg/Bandot) |
  • [x]
|
  • [x]
|
  • [ ]
| -| [Laminar One](https://laminar.one/) | LaminarChain: High performance Flow Protocols powering synthetic asset and margin trading | [GitHub](https://github.com/laminar-protocol/laminar-chain) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Stake Technologies](https://stake.co.jp/) | Ink! Playground | [GitHub](https://github.com/staketechnologies/ink-playground) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [B-Harvest](https://bharvest.io/) | Node Monitoring Tool | [GitHub](https://github.com/b-harvest) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Simply VC](https://simply-vc.com.mt/) | P.A.N.I.C. Validator alerting solution | [GitHub](https://github.com/SimplyVC/panic_polkadot) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Ethworks](https://ethworks.io/) | Polkadot{.js} extension improvements | [GitHub](https://github.com/ethWorks) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Lyken Software Solutions](https://lyken.rs/) | Investigation of runtime compilation | [GitHub](https://github.com/LykenSol) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Blockchain IT](blockchain-it.hr) | Ink! Remix Plugin | [GitHub](https://github.com/blockchain-it-hr/ink-remix-plugin) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Kadena](https://www.kadena.io/) | Pact feasibility study | [GitHub](https://github.com/kadena-io/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [STAFI Protocol](http://www.stafi.io/) | Stafi is a protocol to provide liquidity for staking assets | [GitHub](https://github.com/stafiprotocol/stafi-node) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Vision Baker](https://playproject.io/) | DatDot — Dat protocol for Polkadot | [GitHub](https://github.com/playproject-io/datdot) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Speckle OS](https://www.speckleos.io/) | Integrating additional features into Speckle OS | [GitHub](https://github.com/SpeckleOS/speckle-browser-extension) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Archipel](https://archipel.id/) | Solution to resolve high availability problem of Validator nodes in PoS | [GitHub](https://github.com/luguslabs/archipel) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Zondax](https://zondax.ch/) | Flexible TrustZone-based HSM stack | [GitHub](https://github.com/ZondaX) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Usetech](http://usetech.com/blockchain.html) | SR25519 library in pure C and C# | [GitHub](https://github.com/usetech-llc/) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Akropolis](https://akropolis.io/) | PolkaHub — Heroku-like infrastructure for node deployment | [GitHub](https://github.com/akropolisio) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Pixura](https://pixura.io/) | Substrate API client in Haskell | [GitHub](https://github.com/Pixura) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [HashQuark](https://www.hashquark.io/) | Validator Dashboard | [GitHub](https://github.com/hashquark-io) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Stacktical](https://stacktical.com/) | Performance Management Runtime Modules | [GitHub](https://github.com/Stacktical) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Sean Young](https://www.mess.org/) | Solidity to WASM compiler | [GitHub](https://github.com/hyperledger-labs/solang) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Chain Security](https://chainsecurity.com/) | Tool for validating correctness of Polkadot runtimes | [GitHub](https://github.com/ChainSecurity) |
  • [ ]
|
  • [x]
|
  • [x]
| +| [Genesis Lab](https://genesislab.net/) | Validator Tracker | [GitHub](https://github.com/genesis-lab-team) | ☐ | ☒ | ☒ | +| [Usetech](http://usetech.com/blockchain.html) | Substrate API in .NET | [GitHub](https://github.com/usetech-llc/polkadot_api_dotnet) | ☐ | ☒ | ☒ | +| [BlockX Labs](http://blockxlabs.com/) | Enzyme Browser extension wallet | [GitHub](https://github.com/blockxlabs/enzyme) | ☐ | ☒ | ☒ | +| [WEB3SCAN](https://www.web3scan.com/) | Python API client | [GitHub](https://github.com/polkascan) | ☐ | ☒ | ☒ | +| [Galactic Council](https://github.com/galacticcouncil) | Polkalert: Validator Monitoring | [GitHub](https://github.com/galacticcouncil/polkalert) | ☐ | ☒ | ☒ | +| [Bandot](http://bandot.io/) | Stablecoin | [GitHub](https://github.com/bandotorg/Bandot) | ☒ | ☒ | ☐ | +| [Laminar One](https://laminar.one/) | LaminarChain: High performance Flow Protocols powering synthetic asset and margin trading | [GitHub](https://github.com/laminar-protocol/laminar-chain) | ☐ | ☒ | ☒ | +| [Stake Technologies](https://stake.co.jp/) | Ink! Playground | [GitHub](https://github.com/staketechnologies/ink-playground) | ☐ | ☒ | ☒ | +| [B-Harvest](https://bharvest.io/) | Node Monitoring Tool | [GitHub](https://github.com/b-harvest) | ☐ | ☒ | ☐ | +| [Simply VC](https://simply-vc.com.mt/) | P.A.N.I.C. Validator alerting solution | [GitHub](https://github.com/SimplyVC/panic_polkadot) | ☐ | ☒ | ☒ | +| [Ethworks](https://ethworks.io/) | Polkadot{.js} extension improvements | [GitHub](https://github.com/ethWorks) | ☐ | ☒ | ☒ | +| [Lyken Software Solutions](https://lyken.rs/) | Investigation of runtime compilation | [GitHub](https://github.com/LykenSol) | ☐ | ☒ | ☒ | +| [Blockchain IT](blockchain-it.hr) | Ink! Remix Plugin | [GitHub](https://github.com/blockchain-it-hr/ink-remix-plugin) | ☐ | ☒ | ☒ | +| [Kadena](https://www.kadena.io/) | Pact feasibility study | [GitHub](https://github.com/kadena-io/) | ☐ | ☐ | ☐ | +| [STAFI Protocol](http://www.stafi.io/) | Stafi is a protocol to provide liquidity for staking assets | [GitHub](https://github.com/stafiprotocol/stafi-node) | ☐ | ☒ | ☒ | +| [Vision Baker](https://playproject.io/) | DatDot — Dat protocol for Polkadot | [GitHub](https://github.com/playproject-io/datdot) | ☐ | ☒ | ☐ | +| [Speckle OS](https://www.speckleos.io/) | Integrating additional features into Speckle OS | [GitHub](https://github.com/SpeckleOS/speckle-browser-extension) | ☐ | ☐ | ☐ | +| [Archipel](https://archipel.id/) | Solution to resolve high availability problem of Validator nodes in PoS | [GitHub](https://github.com/luguslabs/archipel) | ☐ | ☒ | ☒ | +| [Zondax](https://zondax.ch/) | Flexible TrustZone-based HSM stack | [GitHub](https://github.com/ZondaX) | ☐ | ☒ | ☒ | +| [Usetech](http://usetech.com/blockchain.html) | SR25519 library in pure C and C# | [GitHub](https://github.com/usetech-llc/) | ☐ | ☒ | ☒ | +| [Akropolis](https://akropolis.io/) | PolkaHub — Heroku-like infrastructure for node deployment | [GitHub](https://github.com/akropolisio) | ☐ | ☒ | ☒ | +| [Pixura](https://pixura.io/) | Substrate API client in Haskell | [GitHub](https://github.com/Pixura) | ☐ | ☐ | ☐ | +| [HashQuark](https://www.hashquark.io/) | Validator Dashboard | [GitHub](https://github.com/hashquark-io) | ☐ | ☒ | ☒ | +| [Stacktical](https://stacktical.com/) | Performance Management Runtime Modules | [GitHub](https://github.com/Stacktical) | ☐ | ☒ | ☐ | +| [Sean Young](https://www.mess.org/) | Solidity to WASM compiler | [GitHub](https://github.com/hyperledger-labs/solang) | ☐ | ☒ | ☒ | +| [Chain Security](https://chainsecurity.com/) | Tool for validating correctness of Polkadot runtimes | [GitHub](https://github.com/ChainSecurity) | ☐ | ☒ | ☒ | # 2020 -## :surfing_woman: Wave 5 - First Quarter 2020 +## 🏄‍♀️ Wave 5 - First Quarter 2020 | Team | Project | Link | Terminated | First Delivery | Completed | :--- | :------ | :--- | :--------: | :------------: | :-------: | -| [Bifrost](https://bifrost.finance/) | EOS interoperable bridge | [GitHub](https://github.com/bifrost-finance) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Entropy Labs](https://entropylabs.hk) | A toolkit for building and deploying applications with substrate | |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Papers GmbH](https://airgap.it) | AirGap - Desktop (+mobile) wallet for Polkadot | [GitHub](https://github.com/airgap-it) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Stake Technologies](https://stake.co.jp/) | Plasm Chain + OVM Implementation | [GitHub](https://github.com/staketechnologies/) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Usetech](http://usetech.com/blockchain.html) | PostgreSQL Indexer and Consensus Insurer | [GitHub](https://github.com/usetech-llc/) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Acala](https://acala.network/) | A decentralized stablecoin platform | [GitHub](https://github.com/AcalaNetwork) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [ETCDEV](https://emeraldpay.io/) | Polkadot Network Crawler | [GitHub](https://github.com/emeraldpay) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Xaya](https://xaya.io/) | Decentralised Complex Gaming | [GitHub](https://github.com/xaya) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Celer](https://www.celer.network/) | Layer 2 Scaling Infrastructure | [GitHub](https://github.com/celer-network) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Cryptoeconomics Lab](https://www.cryptoeconomicslab.com/) | Substrate adapter of Plasma child chain | [GitHub](https://github.com/cryptoeconomicslab) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Centrifuge / ChainSafe](https://centrifuge.io/) | Substrate / Ethereum Bridge | [GitHub 1](https://github.com/centrifuge/), [Github 2](https://github.com/ChainSafe/ChainBridge) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Advanca](https://www.advanca.network/) | Privacy-preserving general-purpose compute/storage layer | [GitHub](https://github.com/advanca) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Nodle](https://nodle.io) | Securely identify, certify and verify IoT devices | [GitHub](http://github.com/NodleCode/) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Figment](https://figment.network/) | DotHub: Information Hub for validators and delegators | [GitHub](https://github.com/figment-networks/dothub) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Lunie](http://lunie.io/) | Web and mobile wallet | [GitHub](https://github.com/luniehq/lunie) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Web3 Gardens](https://web3.garden) | Runtime modules and UI for creating stable, well-governed communities on Substrate | [GitHub](https://github.com/web3garden/sunshine) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Itering](https://itering.com/) | Ruby Substrate API | [GitHub](https://github.com/itering) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [WEB3SCAN](https://www.web3scan.com/) | Identity Pallet for Polkascan | [GitHub](https://github.com/polkascan) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Swisscom Blockchain AG](https://www.blockchain.swisscom.com/) | Kubernetes Operator for Sentry nodes or Validators deployment | [GitHub](https://github.com/swisscom-blockchain) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Polkastats](https://polkastats.io/) | Polkadot/Kusama network statistics | [GitHub](https://github.com/Colm3na/polkastats-v3) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Supercomputing Systems](https://www.scs.ch/) | SubstraTEE extension pack | [GitHub](https://github.com/scs/substraTEE) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Encointer](https://encointer.org/) | An Ecological, Egalitarian and Private Cryptocurrency and Self-Sovereign Identity System | [GitHub](https://github.com/encointer) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [FlexDapps](https://flexdapps.com/) | Gantree is a full-service node infrastructure toolkit for Substrate-based blockchains | [GitHub](https://github.com/flex-dapps) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Matter Labs](https://matter-labs.io) | Zinc/RedShift ZK programming framework | [GitHub](https://github.com/matter-labs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Second State](https://www.secondstate.io/) | Bridging Ethereum Tools and Smart Contracts into Substrate Ecosystem | [GitHub](https://github.com/second-state) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Sensio.Group](https://ipfs.io/ipfs/bafybeihoqt3gvmd5wbqkxt52lojuvbvgoydan3aadxhvf37qdyvpgl762e/index.html) | Substrate modules + UI that focus on photo copyright and privacy | [GitLab](https://gitlab.com/sensio_group) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [KILT](https://kilt.io/) | Substrate Anonymous Credentials | [GitHub](https://github.com/KILTprotocol) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Node Factory](https://www.nodefactory.io/) | Metamask plugin for Polkadot | [GitHub](https://github.com/nodefactoryIo) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Interlay](https://www.interlay.io/) | Polkadot/BTC bridge specification (RFP) | [GitLab](https://gitlab.com/interlay/polkabtc-spec) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Stake Technologies](https://stake.co.jp/) | ECDSA for Polkadot JS | [GitHub](https://github.com/staketechnologies/apps) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Obsidian Labs](https://www.obsidians.io/) | Substrate IDE | [GitHub](https://github.com/ObsidianLabs) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Definex](https://definex.io/) | A financial market protocol | [GitHub](https://github.com/definex/definex-libs) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Attic Lab](https://atticlab.net/) | Multisignature Wallet Standardization/PSP | [GitHub](https://github.com/w3f/PSPs) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [ImToken](https://token.im/) | Multi-chain non-custodial mobile and hardware wallet for iOS & Android | [GitHub](https://github.com/consenlabs/) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [SelfKey](https://selfkey.org/) | SelfKey DIDs & Claims as Ink! Smart Contracts | [GitHub](https://github.com/SelfKeyFoundation) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Lyken](https://lyken.rs/) | Rust trait system revamp | [GitHub](https://github.com/LykenSol) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Chorus One](https://chorus.one/) | Grandpa light client in Tendermint | [GitHub](https://github.com/ChorusOne) |
  • [ ]
|
  • [x]
|
  • [x]
| - -## :surfing_woman: Wave 6 - Second Quarter 2020 +| [Bifrost](https://bifrost.finance/) | EOS interoperable bridge | [GitHub](https://github.com/bifrost-finance) | ☐ | ☒ | ☒ | +| [Entropy Labs](https://entropylabs.hk) | A toolkit for building and deploying applications with substrate | | ☐ | ☒ | ☐ | +| [Papers GmbH](https://airgap.it) | AirGap - Desktop (+mobile) wallet for Polkadot | [GitHub](https://github.com/airgap-it) | ☐ | ☒ | ☒ | +| [Stake Technologies](https://stake.co.jp/) | Plasm Chain + OVM Implementation | [GitHub](https://github.com/staketechnologies/) | ☐ | ☒ | ☐ | +| [Usetech](http://usetech.com/blockchain.html) | PostgreSQL Indexer and Consensus Insurer | [GitHub](https://github.com/usetech-llc/) | ☐ | ☒ | ☒ | +| [Acala](https://acala.network/) | A decentralized stablecoin platform | [GitHub](https://github.com/AcalaNetwork) | ☐ | ☒ | ☒ | +| [ETCDEV](https://emeraldpay.io/) | Polkadot Network Crawler | [GitHub](https://github.com/emeraldpay) | ☐ | ☒ | ☒ | +| [Xaya](https://xaya.io/) | Decentralised Complex Gaming | [GitHub](https://github.com/xaya) | ☐ | ☒ | ☒ | +| [Celer](https://www.celer.network/) | Layer 2 Scaling Infrastructure | [GitHub](https://github.com/celer-network) | ☐ | ☒ | ☐ | +| [Cryptoeconomics Lab](https://www.cryptoeconomicslab.com/) | Substrate adapter of Plasma child chain | [GitHub](https://github.com/cryptoeconomicslab) | ☐ | ☐ | ☐ | +| [Centrifuge / ChainSafe](https://centrifuge.io/) | Substrate / Ethereum Bridge | [GitHub 1](https://github.com/centrifuge/), [Github 2](https://github.com/ChainSafe/ChainBridge) | ☐ | ☒ | ☒ | +| [Advanca](https://www.advanca.network/) | Privacy-preserving general-purpose compute/storage layer | [GitHub](https://github.com/advanca) | ☐ | ☒ | ☒ | +| [Nodle](https://nodle.io) | Securely identify, certify and verify IoT devices | [GitHub](http://github.com/NodleCode/) | ☐ | ☒ | ☒ | +| [Figment](https://figment.network/) | DotHub: Information Hub for validators and delegators | [GitHub](https://github.com/figment-networks/dothub) | ☐ | ☒ | ☒ | +| [Lunie](http://lunie.io/) | Web and mobile wallet | [GitHub](https://github.com/luniehq/lunie) | ☐ | ☒ | ☒ | +| [Web3 Gardens](https://web3.garden) | Runtime modules and UI for creating stable, well-governed communities on Substrate | [GitHub](https://github.com/web3garden/sunshine) | ☐ | ☒ | ☐ | +| [Itering](https://itering.com/) | Ruby Substrate API | [GitHub](https://github.com/itering) | ☐ | ☒ | ☒ | +| [WEB3SCAN](https://www.web3scan.com/) | Identity Pallet for Polkascan | [GitHub](https://github.com/polkascan) | ☐ | ☒ | ☒ | +| [Swisscom Blockchain AG](https://www.blockchain.swisscom.com/) | Kubernetes Operator for Sentry nodes or Validators deployment | [GitHub](https://github.com/swisscom-blockchain) | ☐ | ☒ | ☒ | +| [Polkastats](https://polkastats.io/) | Polkadot/Kusama network statistics | [GitHub](https://github.com/Colm3na/polkastats-v3) | ☐ | ☒ | ☒ | +| [Supercomputing Systems](https://www.scs.ch/) | SubstraTEE extension pack | [GitHub](https://github.com/scs/substraTEE) | ☐ | ☒ | ☒ | +| [Encointer](https://encointer.org/) | An Ecological, Egalitarian and Private Cryptocurrency and Self-Sovereign Identity System | [GitHub](https://github.com/encointer) | ☐ | ☒ | ☒ | +| [FlexDapps](https://flexdapps.com/) | Gantree is a full-service node infrastructure toolkit for Substrate-based blockchains | [GitHub](https://github.com/flex-dapps) | ☐ | ☒ | ☒ | +| [Matter Labs](https://matter-labs.io) | Zinc/RedShift ZK programming framework | [GitHub](https://github.com/matter-labs) | ☐ | ☐ | ☐ | +| [Second State](https://www.secondstate.io/) | Bridging Ethereum Tools and Smart Contracts into Substrate Ecosystem | [GitHub](https://github.com/second-state) | ☐ | ☒ | ☒ | +| [Sensio.Group](https://ipfs.io/ipfs/bafybeihoqt3gvmd5wbqkxt52lojuvbvgoydan3aadxhvf37qdyvpgl762e/index.html) | Substrate modules + UI that focus on photo copyright and privacy | [GitLab](https://gitlab.com/sensio_group) | ☐ | ☒ | ☐ | +| [KILT](https://kilt.io/) | Substrate Anonymous Credentials | [GitHub](https://github.com/KILTprotocol) | ☐ | ☒ | ☒ | +| [Node Factory](https://www.nodefactory.io/) | Metamask plugin for Polkadot | [GitHub](https://github.com/nodefactoryIo) | ☐ | ☒ | ☒ | +| [Interlay](https://www.interlay.io/) | Polkadot/BTC bridge specification (RFP) | [GitLab](https://gitlab.com/interlay/polkabtc-spec) | ☐ | ☒ | ☒ | +| [Stake Technologies](https://stake.co.jp/) | ECDSA for Polkadot JS | [GitHub](https://github.com/staketechnologies/apps) | ☐ | ☒ | ☒ | +| [Obsidian Labs](https://www.obsidians.io/) | Substrate IDE | [GitHub](https://github.com/ObsidianLabs) | ☐ | ☒ | ☒ | +| [Definex](https://definex.io/) | A financial market protocol | [GitHub](https://github.com/definex/definex-libs) | ☐ | ☒ | ☒ | +| [Attic Lab](https://atticlab.net/) | Multisignature Wallet Standardization/PSP | [GitHub](https://github.com/w3f/PSPs) | ☐ | ☒ | ☒ | +| [ImToken](https://token.im/) | Multi-chain non-custodial mobile and hardware wallet for iOS & Android | [GitHub](https://github.com/consenlabs/) | ☐ | ☒ | ☒ | +| [SelfKey](https://selfkey.org/) | SelfKey DIDs & Claims as Ink! Smart Contracts | [GitHub](https://github.com/SelfKeyFoundation) | ☐ | ☐ | ☐ | +| [Lyken](https://lyken.rs/) | Rust trait system revamp | [GitHub](https://github.com/LykenSol) | ☐ | ☒ | ☐ | +| [Chorus One](https://chorus.one/) | Grandpa light client in Tendermint | [GitHub](https://github.com/ChorusOne) | ☐ | ☒ | ☒ | + +## 🏄‍♀️ Wave 6 - Second Quarter 2020 | Team | Project | Link | Terminated | First Delivery | Completed | :--- | :------ | :--- | :--------: | :------------: | :-------: | -| [Protofire](https://protofire.io/) | Failover mechanism for validators | [GitHub](https://github.com/protofire) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [HashQuark](https://www.hashquark.io/) | Validator Dashboard Phase 2 | [GitHub](https://github.com/hashquark-io) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [BUIDL Labs](https://buidllabs.io/) | YieldScan Staking Dashboard | [GitHub](https://github.com/buidl-labs) |
  • [ ]
|
  • [x]
|
  • [x]
| -| BoBao Technologies | PolkaKey an electron app to generate Polkadot addresses + tutorials | [GitHub](https://github.com/w3finance/PolkaKey) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Webassembly Security](https://webassembly-security.com/) | Improving security and resilience of WebAssembly runtimes | [GitHub](https://github.com/pventuzelo/wasm_runtimes_fuzzing) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Finoa](https://finoa.io/) | C library for Substrate | [GitHub](https://github.com/finoabanking/substrate-c-tool) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Crust Network](https://crust.network/) | Incentive layer protocol for decentralized storage | [GitHub](https://github.com/crustio) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [ETCDEV](https://emeraldpay.io/) | Polkadot Java Client | [GitHub](https://github.com/emeraldpay) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Zondax](http://zondax.ch/) | Ledger app for Polkadot/Kusama Phase 2 | [GitHub](https://github.com/ZondaX/ledger-polkadot) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Soramitsu](https://soramitsu.co.jp/) | Hyperledger Iroha Bridge | [GitHub](https://github.com/sora-xor/polkaswap-web) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [LimeChain](https://github.com/LimeChain) | AssemblyScript SCALE Codec | [GitHub](https://github.com/LimeChain/as-scale-codec) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Insight](https://insightfellows.com/) | Load Balanced Endpoints | [GitHub](https://github.com/insight-w3f/terragrunt-polkadot) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Ethworks](https://ethworks.io/) | Polkadot.{js} Desktop Application | [GitHub](https://github.com/EthWorks/) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Usetech](http://usetech.com/blockchain.html) | NFT Tracking Module | [GitHub](https://github.com/usetech-llc/nft_parachain) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Chevdor](https://www.chevdor.com/) | Polkabot | [GitHub](https://github.com/chevdor) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Aleksandr Krupenkin](https://github.com/akru) | Haskell Web3 library | [GitHub](https://github.com/airalab/hs-web3) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [WEB3SCAN](https://www.web3scan.com/) | Polkascan Signer Interfaces | [GitHub](https://github.com/polkascan) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Fortmatic](https://fortmatic.com/) | SDK + Burner Wallet to implement Web 2.0 login for dapps | [GitHub](https://github.com/fortmatic) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [PureStake](https://www.purestake.com/) | Web3 Compatible API | [GitHub](https://github.com/PureStake) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Phala.Network](https://phala.network/) | Web3 Analytics | [GitHub](https://github.com/Phala-Network/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [TerenceGe](https://github.com/TerenceGe) | C implementation of Schnorrkel | [GitHub](https://github.com/TerenceGe/sr25519-donna) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Adoriasoft](https://adoriasoft.com/) | Cosmos-SDK Parachain Development Kit | [GitHub](https://github.com/adoriasoft/cosmos-sdk) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Laminar One](https://laminar.one/) | Reusable Libraries: Runtime Modules + Monitoring Framework | [GitHub](https://github.com/open-web3-stack) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Faber](https://github.com/yxf) | Subwallet: CLI wallet for Polkadot/Substrate | [GitHub](https://github.com/yxf/subwallet) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Equilibrium.co](https://equilibrium.co/) | offchain::ipfs | [GitHub](https://github.com/eqlabs) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Snowfork](http://www.snowfork.com/) | Ethereum Bridge | [GitHub](https://github.com/snowfork) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Lunie](http://lunie.io/) | Lunie Governance integration | [GitHub](https://github.com/luniehq/lunie) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [LimeChain](https://github.com/LimeChain) | AssemblyScript Runtime | [GitHub](https://github.com/LimeChain) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [MVP Workshop](https://mvpworkshop.co/) | Substrate startkit GUI (marketplace for substrate pallets) | [GitHub](https://github.com/MVPWorkshop) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [P2P](https://p2p.org/) | Multiblockchain ETL | [GitHub](https://github.com/p2p-org/polkadot-profit-transformer) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [FlexDapps](https://flexdapps.com/) | Gantree Phase 4 | [GitHub](https://github.com/flex-dapps) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Zondax](http://zondax.ch/) | Ledgeracio: A command-line tool and Ledger app designed for staking operations | [GitHub](https://github.com/paritytech/ledgeracio) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Dipole Tech](https://www.dipole.tech) | Dipole Oracle: Distributed energy resource management | [GitHub](https://github.com/DipoleTech/dipole-oracle) |
  • [ ]
|
  • [x]
|
  • [x]
| - -## :surfing_woman: Wave 7 - Third Quarter 2020 +| [Protofire](https://protofire.io/) | Failover mechanism for validators | [GitHub](https://github.com/protofire) | ☐ | ☒ | ☒ | +| [HashQuark](https://www.hashquark.io/) | Validator Dashboard Phase 2 | [GitHub](https://github.com/hashquark-io) | ☐ | ☒ | ☒ | +| [BUIDL Labs](https://buidllabs.io/) | YieldScan Staking Dashboard | [GitHub](https://github.com/buidl-labs) | ☐ | ☒ | ☒ | +| BoBao Technologies | PolkaKey an electron app to generate Polkadot addresses + tutorials | [GitHub](https://github.com/w3finance/PolkaKey) | ☐ | ☒ | ☐ | +| [Webassembly Security](https://webassembly-security.com/) | Improving security and resilience of WebAssembly runtimes | [GitHub](https://github.com/pventuzelo/wasm_runtimes_fuzzing) | ☐ | ☒ | ☒ | +| [Finoa](https://finoa.io/) | C library for Substrate | [GitHub](https://github.com/finoabanking/substrate-c-tool) | ☐ | ☒ | ☒ | +| [Crust Network](https://crust.network/) | Incentive layer protocol for decentralized storage | [GitHub](https://github.com/crustio) | ☐ | ☒ | ☒ | +| [ETCDEV](https://emeraldpay.io/) | Polkadot Java Client | [GitHub](https://github.com/emeraldpay) | ☐ | ☒ | ☒ | +| [Zondax](http://zondax.ch/) | Ledger app for Polkadot/Kusama Phase 2 | [GitHub](https://github.com/ZondaX/ledger-polkadot) | ☐ | ☒ | ☒ | +| [Soramitsu](https://soramitsu.co.jp/) | Hyperledger Iroha Bridge | [GitHub](https://github.com/sora-xor/polkaswap-web) | ☐ | ☒ | ☒ | +| [LimeChain](https://github.com/LimeChain) | AssemblyScript SCALE Codec | [GitHub](https://github.com/LimeChain/as-scale-codec) | ☐ | ☒ | ☒ | +| [Insight](https://insightfellows.com/) | Load Balanced Endpoints | [GitHub](https://github.com/insight-w3f/terragrunt-polkadot) | ☐ | ☒ | ☒ | +| [Ethworks](https://ethworks.io/) | Polkadot.{js} Desktop Application | [GitHub](https://github.com/EthWorks/) | ☐ | ☒ | ☒ | +| [Usetech](http://usetech.com/blockchain.html) | NFT Tracking Module | [GitHub](https://github.com/usetech-llc/nft_parachain) | ☐ | ☒ | ☒ | +| [Chevdor](https://www.chevdor.com/) | Polkabot | [GitHub](https://github.com/chevdor) | ☐ | ☒ | ☒ | +| [Aleksandr Krupenkin](https://github.com/akru) | Haskell Web3 library | [GitHub](https://github.com/airalab/hs-web3) | ☐ | ☒ | ☒ | +| [WEB3SCAN](https://www.web3scan.com/) | Polkascan Signer Interfaces | [GitHub](https://github.com/polkascan) | ☐ | ☒ | ☒ | +| [Fortmatic](https://fortmatic.com/) | SDK + Burner Wallet to implement Web 2.0 login for dapps | [GitHub](https://github.com/fortmatic) | ☐ | ☐ | ☐ | +| [PureStake](https://www.purestake.com/) | Web3 Compatible API | [GitHub](https://github.com/PureStake) | ☐ | ☒ | ☒ | +| [Phala.Network](https://phala.network/) | Web3 Analytics | [GitHub](https://github.com/Phala-Network/) | ☐ | ☐ | ☐ | +| [TerenceGe](https://github.com/TerenceGe) | C implementation of Schnorrkel | [GitHub](https://github.com/TerenceGe/sr25519-donna) | ☐ | ☒ | ☒ | +| [Adoriasoft](https://adoriasoft.com/) | Cosmos-SDK Parachain Development Kit | [GitHub](https://github.com/adoriasoft/cosmos-sdk) | ☐ | ☒ | ☒ | +| [Laminar One](https://laminar.one/) | Reusable Libraries: Runtime Modules + Monitoring Framework | [GitHub](https://github.com/open-web3-stack) | ☐ | ☒ | ☒ | +| [Faber](https://github.com/yxf) | Subwallet: CLI wallet for Polkadot/Substrate | [GitHub](https://github.com/yxf/subwallet) | ☐ | ☒ | ☒ | +| [Equilibrium.co](https://equilibrium.co/) | offchain::ipfs | [GitHub](https://github.com/eqlabs) | ☐ | ☒ | ☒ | +| [Snowfork](http://www.snowfork.com/) | Ethereum Bridge | [GitHub](https://github.com/snowfork) | ☐ | ☒ | ☒ | +| [Lunie](http://lunie.io/) | Lunie Governance integration | [GitHub](https://github.com/luniehq/lunie) | ☐ | ☒ | ☒ | +| [LimeChain](https://github.com/LimeChain) | AssemblyScript Runtime | [GitHub](https://github.com/LimeChain) | ☐ | ☒ | ☒ | +| [MVP Workshop](https://mvpworkshop.co/) | Substrate startkit GUI (marketplace for substrate pallets) | [GitHub](https://github.com/MVPWorkshop) | ☐ | ☒ | ☒ | +| [P2P](https://p2p.org/) | Multiblockchain ETL | [GitHub](https://github.com/p2p-org/polkadot-profit-transformer) | ☐ | ☒ | ☒ | +| [FlexDapps](https://flexdapps.com/) | Gantree Phase 4 | [GitHub](https://github.com/flex-dapps) | ☐ | ☐ | ☐ | +| [Zondax](http://zondax.ch/) | Ledgeracio: A command-line tool and Ledger app designed for staking operations | [GitHub](https://github.com/paritytech/ledgeracio) | ☐ | ☒ | ☒ | +| [Dipole Tech](https://www.dipole.tech) | Dipole Oracle: Distributed energy resource management | [GitHub](https://github.com/DipoleTech/dipole-oracle) | ☐ | ☒ | ☒ | + +## 🏄‍♀️ Wave 7 - Third Quarter 2020 | Team | Project | Link | Terminated | First Delivery | Completed | :--- | :------ | :--- | :--------: | :------------: | :-------: | -| [Halva](https://github.com/halva-suite) | A toolchain for improving the experience of developing Decentralized Applications based on Substrate | [GitHub](https://github.com/halva-suite) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Subscan](subscan.io) | Substrate explorer | [GitHub](https://github.com/itering/subscan) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [t3rn](https://github.com/t3rn/t3rn) | A protocol for blockchain interoperability | [GitHub](https://github.com/t3rn/t3rn) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Stake Technologies](https://stake.co.jp/) | Hardware ECDSA for Polkadot JS | [GitHub](https://github.com/polkadot-js) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Protofire](https://protofire.io/) | Failover mechanism for validators upgrade | [GitHub](https://github.com/protofire) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [DappForce](http://dappforce.io) | SubSocial Chapter 2 | [GitHub](https://github.com/dappforce/dappforce-subsocial) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [OpenSquare Network](https://www.opensquare.network/) | A blockchain based crowdsourcing and reputation platform | [GitHub](https://github.com/opensquare-network) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Cardinals](https://cardinals.cc/) | Threshold BLS Randomness Beacon for Substrate | [GitLab](https://gitlab.com/cardinals1/threshold-ecdsa) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [KILT](https://kilt.io/) | Polimec: A Fundraising Mechanism for Projects within the Polkadot Ecosystem | [GitHub](https://github.com/KILTprotocol) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Simply VC](https://simply-vc.com.mt/) | P.A.N.I.C. Phase 2 | [GitHub](https://github.com/SimplyVC/panic_polkadot) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Interlay](https://www.interlay.io/) | Trustless BTC-Polkadot Bridge | [GitLab](https://gitlab.com/interlay) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [enfipy](https://github.com/enfipy) | Creator: Mobile Game Framework for Substrate | [GitHub](https://github.com/creator-rs) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Halva](https://github.com/halva-suite) | Halva: Bootstrapping and Scaffolding | [GitHub](https://github.com/halva-suite) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Sunshine Systems](https://sunshine.foundation) | Sunshine Keybase | [GitHub](https://github.com/sunshine-protocol) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Subscan](subscan.io) | Multi-signature Management Tool | [GitHub](https://github.com/itering) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Evercity](https://evercity.io/) | Smart Sustainable Bond Protocol (SSB-P) | [GitHub](https://github.com/EvercityEcosystem/Smart-Sustainable-Bond) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Permiurly](http://permiurly.in) | Polkassembly | [GitHub](https://github.com/premiurly/polkassembly) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Zeropool](https://zeropool.network/) | Private transactions on Polkadot | [GitHub](https://github.com/zeropoolnetwork) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Polkadex](https://github.com/Polkadex-Substrate) | A decentralized, peer-peer, cryptocurrency exchange for DeFi ecosystem in Substrate | [GitHub](https://github.com/Polkadex-Substrate/Polkadex) |
  • [x]
|
  • [x]
|
  • [ ]
| -| [Fractapp](https://fractapp.com) | Messenger with crypto wallet | [GitHub](https://github.com/fractapp) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Equilibrium.io](https://equilibrium.io/en) | All-in-one Interoperable DeFi hub. | [GitHub](https://github.com/equilibrium-eosdt) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Glacier Blockchain Technology](http://www.gbctech.cn/#/) | Starks Network | [GitHub](https://github.com/gbctech) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [SubDEX](http://subdex.io.s3.eu-west-2.amazonaws.com/index.html) | A decentralized cross-chain exchange based on AMM | [GitHub](https://github.com/subdarkdex) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Zenlink](https://zenlink.pro/) | A cross-chain DEX network | [GitHub](https://github.com/zenlinkpro/zenlink_dex_module) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Subscript](https://github.com/slickup) | Substrate smart contract api and sdk in AssemblyScript | [GitHub](https://github.com/slickup/subscript) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Tesseract](https://tesseract.one/) | Swift API | [GitHub](https://github.com/tesseract-one) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Cobo](https://cobo.com/) | Cobo Vault | [GitHub](https://github.com/CoboVault) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [NodeFactory](https://nodefactory.io/) | Vedran: Auto-funded public p2p infrastructure (APPI) | [GitHub](https://github.com/NodeFactoryIo/Vedran) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Adoriasoft](https://adoriasoft.com/) | Cosmos-SDK Parachain Development Kit Phase 2 | [GitHub](https://github.com/adoriasoft/cosmos-sdk) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [sup](https://github.com/clearloop/sup) | Command line tool for generating or upgrading a Substrate node | [GitHub](https://github.com/clearloop/sup) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Shard Labs](https://shardlabs.io) | Tip or Donate KSM Embeddable Button | [GitHub](https://github.com/Shard-Labs) |
  • [ ]
|
  • [x]
|
  • [x]
| - -## :surfing_woman: Wave 8 - Fourth Quarter 2020 +| [Halva](https://github.com/halva-suite) | A toolchain for improving the experience of developing Decentralized Applications based on Substrate | [GitHub](https://github.com/halva-suite) | ☐ | ☒ | ☒ | +| [Subscan](subscan.io) | Substrate explorer | [GitHub](https://github.com/itering/subscan) | ☐ | ☒ | ☒ | +| [t3rn](https://github.com/t3rn/t3rn) | A protocol for blockchain interoperability | [GitHub](https://github.com/t3rn/t3rn) | ☐ | ☒ | ☒ | +| [Stake Technologies](https://stake.co.jp/) | Hardware ECDSA for Polkadot JS | [GitHub](https://github.com/polkadot-js) | ☐ | ☐ | ☐ | +| [Protofire](https://protofire.io/) | Failover mechanism for validators upgrade | [GitHub](https://github.com/protofire) | ☐ | ☒ | ☐ | +| [DappForce](http://dappforce.io) | SubSocial Chapter 2 | [GitHub](https://github.com/dappforce/dappforce-subsocial) | ☐ | ☒ | ☒ | +| [OpenSquare Network](https://www.opensquare.network/) | A blockchain based crowdsourcing and reputation platform | [GitHub](https://github.com/opensquare-network) | ☐ | ☒ | ☒ | +| [Cardinals](https://cardinals.cc/) | Threshold BLS Randomness Beacon for Substrate | [GitLab](https://gitlab.com/cardinals1/threshold-ecdsa) | ☐ | ☒ | ☒ | +| [KILT](https://kilt.io/) | Polimec: A Fundraising Mechanism for Projects within the Polkadot Ecosystem | [GitHub](https://github.com/KILTprotocol) | ☐ | ☐ | ☐ | +| [Simply VC](https://simply-vc.com.mt/) | P.A.N.I.C. Phase 2 | [GitHub](https://github.com/SimplyVC/panic_polkadot) | ☐ | ☐ | ☐ | +| [Interlay](https://www.interlay.io/) | Trustless BTC-Polkadot Bridge | [GitLab](https://gitlab.com/interlay) | ☐ | ☒ | ☐ | +| [enfipy](https://github.com/enfipy) | Creator: Mobile Game Framework for Substrate | [GitHub](https://github.com/creator-rs) | ☐ | ☒ | ☒ | +| [Halva](https://github.com/halva-suite) | Halva: Bootstrapping and Scaffolding | [GitHub](https://github.com/halva-suite) | ☐ | ☒ | ☒ | +| [Sunshine Systems](https://sunshine.foundation) | Sunshine Keybase | [GitHub](https://github.com/sunshine-protocol) | ☐ | ☒ | ☒ | +| [Subscan](subscan.io) | Multi-signature Management Tool | [GitHub](https://github.com/itering) | ☐ | ☒ | ☒ | +| [Evercity](https://evercity.io/) | Smart Sustainable Bond Protocol (SSB-P) | [GitHub](https://github.com/EvercityEcosystem/Smart-Sustainable-Bond) | ☐ | ☒ | ☒ | +| [Permiurly](http://permiurly.in) | Polkassembly | [GitHub](https://github.com/premiurly/polkassembly) | ☐ | ☒ | ☒ | +| [Zeropool](https://zeropool.network/) | Private transactions on Polkadot | [GitHub](https://github.com/zeropoolnetwork) | ☐ | ☒ | ☐ | +| [Polkadex](https://github.com/Polkadex-Substrate) | A decentralized, peer-peer, cryptocurrency exchange for DeFi ecosystem in Substrate | [GitHub](https://github.com/Polkadex-Substrate/Polkadex) | ☒ | ☒ | ☐ | +| [Fractapp](https://fractapp.com) | Messenger with crypto wallet | [GitHub](https://github.com/fractapp) | ☐ | ☒ | ☒ | +| [Equilibrium.io](https://equilibrium.io/en) | All-in-one Interoperable DeFi hub. | [GitHub](https://github.com/equilibrium-eosdt) | ☐ | ☒ | ☒ | +| [Glacier Blockchain Technology](http://www.gbctech.cn/#/) | Starks Network | [GitHub](https://github.com/gbctech) | ☐ | ☒ | ☒ | +| [SubDEX](http://subdex.io.s3.eu-west-2.amazonaws.com/index.html) | A decentralized cross-chain exchange based on AMM | [GitHub](https://github.com/subdarkdex) | ☐ | ☒ | ☒ | +| [Zenlink](https://zenlink.pro/) | A cross-chain DEX network | [GitHub](https://github.com/zenlinkpro/zenlink_dex_module) | ☐ | ☒ | ☒ | +| [Subscript](https://github.com/slickup) | Substrate smart contract api and sdk in AssemblyScript | [GitHub](https://github.com/slickup/subscript) | ☐ | ☒ | ☒ | +| [Tesseract](https://tesseract.one/) | Swift API | [GitHub](https://github.com/tesseract-one) | ☐ | ☒ | ☐ | +| [Cobo](https://cobo.com/) | Cobo Vault | [GitHub](https://github.com/CoboVault) | ☐ | ☒ | ☒ | +| [NodeFactory](https://nodefactory.io/) | Vedran: Auto-funded public p2p infrastructure (APPI) | [GitHub](https://github.com/NodeFactoryIo/Vedran) | ☐ | ☒ | ☒ | +| [Adoriasoft](https://adoriasoft.com/) | Cosmos-SDK Parachain Development Kit Phase 2 | [GitHub](https://github.com/adoriasoft/cosmos-sdk) | ☐ | ☒ | ☒ | +| [sup](https://github.com/clearloop/sup) | Command line tool for generating or upgrading a Substrate node | [GitHub](https://github.com/clearloop/sup) | ☐ | ☒ | ☒ | +| [Shard Labs](https://shardlabs.io) | Tip or Donate KSM Embeddable Button | [GitHub](https://github.com/Shard-Labs) | ☐ | ☒ | ☒ | + +## 🏄‍♀️ Wave 8 - Fourth Quarter 2020 | Team | Project | Link | Terminated | First Delivery | Completed | :--- | :------ | :--- | :--------: | :------------: | :-------: | -| [Sean Young](https://www.mess.org/) | Solidity to WASM compiler Phase 2 | [GitHub](https://github.com/hyperledger-labs/solang) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Nuclei Studio](https://nuclei.studio/) | Governance OS | [GitHub](https://github.com/NucleiStudio) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [NBLTrust](https://www.nbltrust.com/#/en/home) | Dart SCALE Codec | [GitHub](https://github.com/nbltrust/dart-scale-codec) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Nsure.Network](https://nsure.network/) | Open Insurance Platform for Open Finance | [GitHub](https://github.com/nsure-tech) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Kylin Network](https://kylin.network/) | Cross-chain Platform for the Data Economy | [GitHub](https://github.com/Kylin-Network) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Bit.Country](http://bit.country/) | A decentralized world | [GitHub](https://github.com/bit-country) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [MIDL.dev](https://MIDL.dev) | Polkashots.io: Snapshot website for Polkadot and Kusama | [GitHub](https://github.com/midl-dev) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Ares Protocol](https://www.aresprotocol.com/) | Decentralized Oracle Protocol | [GitHub](https://github.com/aresprotocols/ares) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Saito](https://saito.io/) | Polkadot Gaming Protocol and Library | [GitHub](https://github.com/SaitoTech) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [LimeChain](https://github.com/LimeChain) | Subsembly: Framework for building AssemblyScript Runtimes | [GitHub](https://github.com/LimeChain) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Wificoin](https://wificoin.com/) | PESA: On-ramp/off-ramp to crypto/local currencies for Polkadot | |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [WalletConnect](https://walletconnect.org/) | Open protocol for connecting Wallets to Dapps | [GitHub](https://github.com/walletconnect) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Citadel.one](https://citadel.one/) | Non-custodial Proof-of-Stake platform | |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Geometry Labs](https://geometrylabs.io/) | Load Balanced Endpoints Phase 2 | [GitHub](https://github.com/geometry-labs) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [MAP labs](https://www.maplabs.io/) | Map Bridge: Connect Polkadot and other PoW chains | [GitHub](https://github.com/Philasande-map/mapbridge) |
  • [x]
|
  • [ ]
|
  • [ ]
| -| [RareLink](http://rarelink.network/) | Dynamic non-fungible token (NFT) Protocol | [GitHub](https://github.com/RareLink) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Cere Network](http://cere.network/) | Turnkey Private Blockchain Network | [GitHub](https://github.com/Cerebellum-Network) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [SubDAO Labs](https://www.subdao.network/) | SubDAO is a Cross-chain Platform to link DAO and DApp on Polkadot | [GitHub](https://github.com/subdao-network) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Idavoll Network](https://idavoll.network/) | Decentralized organization platform | [GitHub](https://github.com/idavollnetwork) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Zenlink](https://zenlink.pro/) | DEX Ink! smart contract | [GitHub](https://github.com/zenlinkpro/zenlink_dex_module) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Setheum](https://setheum.xyz/) | Setheum Elastic Reserve Protocol | [GitHub](https://github.com/Setheum-Labs/Setheum) |
  • [x]
|
  • [ ]
|
  • [ ]
| -| [everstake](https://everstake.one/) | DKG msig wallet | [GitHub](https://github.com/everstake) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Coinversation](http://coinversation.cn/) | Decentralized exchange for trading synthetic assets | [GitHub](https://github.com/Coinversation) |
  • [x]
|
  • [ ]
|
  • [ ]
| -| [Manta Network](https://www.manta.network/) | A Privacy Preserving Decentralized Exchange | [GitHub](https://github.com/Manta-Network) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Stake Technologies](https://stake.co.jp/en/) | ZK Rollups Pallet | [GitHub](https://github.com/staketechnologies) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Apron Network](https://apron.network/) | Decentralized infrastructure provider | [GitHub](https://github.com/apron-network) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Pocket 4D](https://pocket4d.io) | Substrate Dart API client | [GitHub](https://github.com/Pocket4D) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Listen](https://listen.io/) | Decentralized social network focusing on sound | [GitHub](https://github.com/ListenTeam) |
  • [x]
|
  • [ ]
|
  • [ ]
| -| [Protofire](https://protofire.io/) | Polkadot Mempool Explorer | [GitHub](https://github.com/protofire) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Fuzhou Wakanda Information Technology](https://www.heizuan.com/) | Black Diamond Wallet | [GitHub](https://github.com/bdwallet) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Konomi](http://konomi.network/) | Pool Lending Module | [GitHub](https://github.com/konomi-network) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Acala](https://acala.network/) | Bodhi:Composable & Innovative Stack for EVM | [GitHub](https://github.com/AcalaNetwork/bodhi.js) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Pontem Network](https://pontem.network/) | Move smart contract pallet | [GitHub](https://github.com/dfinance) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [SpiderDAO](https://spiderdao.io) | Hardware-based DAO governance | [GitHub](https://github.com/SpiderDAO) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [onfinality](https://onfinality.io) | Subquery: Open-source tool to process and query data | [GitHub](https://github.com/onfinality-io) |
  • [ ]
|
  • [x]
|
  • [x]
| -| FOS Foundation LTD | Pacific store: OpenSea.js on polkadot | [GitHub](https://github.com/vlbos) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Polkadot Technology Alliance](https://polkachina.org) | Shadows Network: synthetic assets | [GitHub](https://github.com/ShadowsNetwork) |
  • [x]
|
  • [x]
|
  • [ ]
| -| [BLDG BLOX](https://bldg.app/) | ESG (Environmental, Social, and Corporate Governance) ratings dashboard | [GitHub](https://github.com/BLDG-BLOX/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [DEIPWORLD](https://deip.world/) | IP Management/Governance Module | [GitHub](https://github.com/DEIPworld) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Deeper.Network](https://deeper.network/) | Micropayments pallet | [GitHub](https://github.com/e2chain-dev/deeper-chain) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Evanesco](https://evanesco.org/) | Private network protocol | [GitHub](https://github.com/Evanesco-Labs) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [HugoByte](https://hugobyte.com/) | Project Aurras: Event Manager | [GitHub](https://github.com/HugoByte) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Bounce Protocol](https://bounce.finance/) | Decentralized Auction Protocol | [GitHub](https://github.com/bouncefinance/bounce-network) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [Sean Young](https://www.mess.org/) | Solidity to WASM compiler Phase 2 | [GitHub](https://github.com/hyperledger-labs/solang) | ☐ | ☒ | ☒ | +| [Nuclei Studio](https://nuclei.studio/) | Governance OS | [GitHub](https://github.com/NucleiStudio) | ☐ | ☒ | ☒ | +| [NBLTrust](https://www.nbltrust.com/#/en/home) | Dart SCALE Codec | [GitHub](https://github.com/nbltrust/dart-scale-codec) | ☐ | ☒ | ☒ | +| [Nsure.Network](https://nsure.network/) | Open Insurance Platform for Open Finance | [GitHub](https://github.com/nsure-tech) | ☐ | ☒ | ☐ | +| [Kylin Network](https://kylin.network/) | Cross-chain Platform for the Data Economy | [GitHub](https://github.com/Kylin-Network) | ☐ | ☒ | ☒ | +| [Bit.Country](http://bit.country/) | A decentralized world | [GitHub](https://github.com/bit-country) | ☐ | ☒ | ☒ | +| [MIDL.dev](https://MIDL.dev) | Polkashots.io: Snapshot website for Polkadot and Kusama | [GitHub](https://github.com/midl-dev) | ☐ | ☒ | ☒ | +| [Ares Protocol](https://www.aresprotocol.com/) | Decentralized Oracle Protocol | [GitHub](https://github.com/aresprotocols/ares) | ☐ | ☒ | ☒ | +| [Saito](https://saito.io/) | Polkadot Gaming Protocol and Library | [GitHub](https://github.com/SaitoTech) | ☐ | ☒ | ☐ | +| [LimeChain](https://github.com/LimeChain) | Subsembly: Framework for building AssemblyScript Runtimes | [GitHub](https://github.com/LimeChain) | ☐ | ☒ | ☐ | +| [Wificoin](https://wificoin.com/) | PESA: On-ramp/off-ramp to crypto/local currencies for Polkadot | | ☐ | ☐ | ☐ | +| [WalletConnect](https://walletconnect.org/) | Open protocol for connecting Wallets to Dapps | [GitHub](https://github.com/walletconnect) | ☐ | ☒ | ☐ | +| [Citadel.one](https://citadel.one/) | Non-custodial Proof-of-Stake platform | | ☐ | ☒ | ☒ | +| [Geometry Labs](https://geometrylabs.io/) | Load Balanced Endpoints Phase 2 | [GitHub](https://github.com/geometry-labs) | ☐ | ☒ | ☒ | +| [MAP labs](https://www.maplabs.io/) | Map Bridge: Connect Polkadot and other PoW chains | [GitHub](https://github.com/Philasande-map/mapbridge) | ☒ | ☐ | ☐ | +| [RareLink](http://rarelink.network/) | Dynamic non-fungible token (NFT) Protocol | [GitHub](https://github.com/RareLink) | ☐ | ☐ | ☐ | +| [Cere Network](http://cere.network/) | Turnkey Private Blockchain Network | [GitHub](https://github.com/Cerebellum-Network) | ☐ | ☒ | ☒ | +| [SubDAO Labs](https://www.subdao.network/) | SubDAO is a Cross-chain Platform to link DAO and DApp on Polkadot | [GitHub](https://github.com/subdao-network) | ☐ | ☒ | ☒ | +| [Idavoll Network](https://idavoll.network/) | Decentralized organization platform | [GitHub](https://github.com/idavollnetwork) | ☐ | ☒ | ☒ | +| [Zenlink](https://zenlink.pro/) | DEX Ink! smart contract | [GitHub](https://github.com/zenlinkpro/zenlink_dex_module) | ☐ | ☐ | ☐ | +| [Setheum](https://setheum.xyz/) | Setheum Elastic Reserve Protocol | [GitHub](https://github.com/Setheum-Labs/Setheum) | ☒ | ☐ | ☐ | +| [everstake](https://everstake.one/) | DKG msig wallet | [GitHub](https://github.com/everstake) | ☐ | ☐ | ☐ | +| [Coinversation](http://coinversation.cn/) | Decentralized exchange for trading synthetic assets | [GitHub](https://github.com/Coinversation) | ☒ | ☐ | ☐ | +| [Manta Network](https://www.manta.network/) | A Privacy Preserving Decentralized Exchange | [GitHub](https://github.com/Manta-Network) | ☐ | ☒ | ☐ | +| [Stake Technologies](https://stake.co.jp/en/) | ZK Rollups Pallet | [GitHub](https://github.com/staketechnologies) | ☐ | ☒ | ☐ | +| [Apron Network](https://apron.network/) | Decentralized infrastructure provider | [GitHub](https://github.com/apron-network) | ☐ | ☒ | ☒ | +| [Pocket 4D](https://pocket4d.io) | Substrate Dart API client | [GitHub](https://github.com/Pocket4D) | ☐ | ☒ | ☐ | +| [Listen](https://listen.io/) | Decentralized social network focusing on sound | [GitHub](https://github.com/ListenTeam) | ☒ | ☐ | ☐ | +| [Protofire](https://protofire.io/) | Polkadot Mempool Explorer | [GitHub](https://github.com/protofire) | ☐ | ☒ | ☒ | +| [Fuzhou Wakanda Information Technology](https://www.heizuan.com/) | Black Diamond Wallet | [GitHub](https://github.com/bdwallet) | ☐ | ☐ | ☐ | +| [Konomi](http://konomi.network/) | Pool Lending Module | [GitHub](https://github.com/konomi-network) | ☐ | ☒ | ☒ | +| [Acala](https://acala.network/) | Bodhi:Composable & Innovative Stack for EVM | [GitHub](https://github.com/AcalaNetwork/bodhi.js) | ☐ | ☒ | ☒ | +| [Pontem Network](https://pontem.network/) | Move smart contract pallet | [GitHub](https://github.com/dfinance) | ☐ | ☒ | ☒ | +| [SpiderDAO](https://spiderdao.io) | Hardware-based DAO governance | [GitHub](https://github.com/SpiderDAO) | ☐ | ☐ | ☐ | +| [onfinality](https://onfinality.io) | Subquery: Open-source tool to process and query data | [GitHub](https://github.com/onfinality-io) | ☐ | ☒ | ☒ | +| FOS Foundation LTD | Pacific store: OpenSea.js on polkadot | [GitHub](https://github.com/vlbos) | ☐ | ☒ | ☐ | +| [Polkadot Technology Alliance](https://polkachina.org) | Shadows Network: synthetic assets | [GitHub](https://github.com/ShadowsNetwork) | ☒ | ☒ | ☐ | +| [BLDG BLOX](https://bldg.app/) | ESG (Environmental, Social, and Corporate Governance) ratings dashboard | [GitHub](https://github.com/BLDG-BLOX/) | ☐ | ☐ | ☐ | +| [DEIPWORLD](https://deip.world/) | IP Management/Governance Module | [GitHub](https://github.com/DEIPworld) | ☐ | ☒ | ☐ | +| [Deeper.Network](https://deeper.network/) | Micropayments pallet | [GitHub](https://github.com/e2chain-dev/deeper-chain) | ☐ | ☒ | ☒ | +| [Evanesco](https://evanesco.org/) | Private network protocol | [GitHub](https://github.com/Evanesco-Labs) | ☐ | ☒ | ☒ | +| [HugoByte](https://hugobyte.com/) | Project Aurras: Event Manager | [GitHub](https://github.com/HugoByte) | ☐ | ☒ | ☒ | +| [Bounce Protocol](https://bounce.finance/) | Decentralized Auction Protocol | [GitHub](https://github.com/bouncefinance/bounce-network) | ☐ | ☐ | ☐ | # 2021 -## :surfing_woman: Wave 9 - First Quarter 2021 +## 🏄‍♀️ Wave 9 - First Quarter 2021 | Team | Project | Link | Terminated | First Delivery | Completed | :--- | :------ | :--- | :--------: | :------------: | :-------: | -| [Zenlink](https://zenlink.pro/) | Cross-chain DEX | [GitHub](https://github.com/zenlinkpro/zenlink_dex_module) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [NFTT Studio](https://github.com/NFTT-studio) | NFT Store Pallet and Front End | [GitHub](https://github.com/NFTT-studio) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [SubGame Network](https://subgame.org) | A decentralized game platform | [GitHub](https://github.com/SubGame-Network) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Parami](https://parami.io) | Blockchain-empowered advertising alliance | [GitHub](https://github.com/parami-protocol/parami) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Sunrise Protocol](https://sunriseprotocol.com) | Sunrise DEX | [GitHub](https://github.com/sunriseprotocol) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Cobo](https://cobo.com/) | Cobo Vault Phase 2 | [GitHub](https://github.com/CoboVault) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [OxyDev](https://oxydev.ir) | SubsCrypt: Managing subscriptions | [GitHub](https://github.com/oxydev) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [DNFT-Team](https://github.com/DNFT-Team) | Data framework between personal data and AI models | [GitHub](https://github.com/DNFT-Team) |
  • [x]
|
  • [ ]
|
  • [ ]
| -| [UMC Labs](https://umc.network) | Secured token subscription | [GitHub](https://github.com/umc-network) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Perpetual Altruism Ltd](https://cryptograph.co/) | IP-Rights compliant NFT bridge protocol | [GitHub](https://github.com/Perpetual-Altruism-Ltd) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Clover](https://clover.finance/) | Easy-to-use blockchain infrastructure | [GitHub](https://github.com/clover-network/) |
  • [x]
|
  • [x]
|
  • [ ]
| -| [DoraHacks](https://dorahacks.com/) | Quadratic Funding Pallet | [GitHub](https://github.com/dorahacksglobal) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [SEOR](https://www.seor.io) | Multi-chain smart contract development platform | [GitHub](https://github.com/SealSC) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Polkastarter](https://polkastarter.com/) | Crowdloan UI | [GitHub](https://github.com/polkastarter) |
  • [x]
|
  • [ ]
|
  • [ ]
| -| [Equilibrium.io](https://equilibrium.io/en) | Curve AMM Pallet | [GitHub](https://github.com/equilibrium-eosdt) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Zondax](https://zondax.ch/) | Ledger maintenance + recovery extensions + support | [GitHub](https://github.com/Zondax) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Nuclei Studio](https://nuclei.studio/) | Voting Pallets | [GitHub](https://github.com/NucleiStudio) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [RAMP DEFI](https://app.rampdefi.com/#/) | Polkakeeper - A Community-Led Value Assurance Protocol | [GitHub](https://github.com/RAMP-DEFI) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Stone](https://stonedefi.io) | Index project which aims to track the portfolio of multiple digital assets | [GitHub](https://github.com/stonedefi/) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Reserve Labs](https://github.com/ReserveLabs) | AlgoCash - An algorithmic stablecoin | [GitHub](https://github.com/ReserveLabs/AlgoCash) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [gmajor](https://github.com/gmajor-encrypt) | PHP Scale Codec | [GitHub](https://github.com/gmajor-encrypt/php-scale-codec) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Trust Fractal GmbH](https://trustfractal.com/) | ink! Smart Contract Upgradeability | [GitHub](https://github.com/trustfractal/ink-upgrade-template) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Starry Network](https://github.com/Starry-Network) | Splittable NFTs | [GitHub](https://github.com/Starry-Network) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Equilibrium](https://equilibrium.co/) | Research Storage Network| [GitHub](https://github.com/eqlabs) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Ajuna](https://ajuna.io/) | Substrate .NET API | [GitHub](https://github.com/dotmog/SubstrateNetApi) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [NewOmega](https://github.com/WiktorStarczewski/newomega.trinity ) | A blockchain game that cannot be shut down | [GitHub](https://github.com/WiktorStarczewski/newomega.trinity ) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Bright Inventions](https://brightinventions.pl/) | Treasury Web application| [GitHub](https://github.com/bright/bright-tresury) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Standard protocol](https://github.com/standardweb3/standard-substrate) | A collateralized algorithmic stablecoin protocol for synthetic assets | [GitHub](https://github.com/standardweb3/standard-substrate) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Skye Kiwi](https://skye.kiwi/) | SkyePass: A decentralized, open source password manager | [GitHub](https://github.com/skyekiwi) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [RidOne Technologies](https://github.com/RidOne-technologies) | Polkadot UI Web + Angular Identicon | [GitHub](https://github.com/RidOne-technologies) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Zeropool](https://zeropool.network/) | Private transactions on Polkadot Phase 2 | [GitHub](https://github.com/zeropoolnetwork) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [OAK Foundation](https://oak.tech) | Quadratic Funding Module and Dapp Application | [GitHub](https://github.com/OAK-Foundation/) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Commonwealth Labs](https://commonwealth.im/) | Webb Mixer| [GitHub](https://github.com/edgeware-builders) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [TEA Project](http://teaproject.org/) | Gluon - Decentralized Hardware Crypto Wallet Services | [GitHub](https://github.com/tearust) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Cycan Technologies](http://cycan.network/) | Everlasting Cash: A hybrid of a crypto-collateralized and an algorithmic stablecoin | [GitHub](https://github.com/CycanTech) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Shard Labs](https://shardlabs.io) | Substrate Identity Directory | [GitHub](https://github.com/Shard-Labs) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Lumena](https://www.lumena.tech) | A blockchain based EV charging platform | [GitHub](https://github.com/Delmonicos/charger-node) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [DEGO](https://dego.finance/) | Treasureland: An NFT publishing and trading platform | [GitHub](https://github.com/dego-labs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [AIKON](https://aikon.com/) | ChainJS integration | [GitHub](https://github.com/TeamAikon/chain-js) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Nathan Schwermann](https://github.com/nschwermann) | PolkaJ Android Support | [GitHub](https://github.com/nschwermann) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Acala](https://acala.network/) | xtokens - XCM Implementation for Fungible Assets | [GitHub](https://github.com/open-web3-stack/open-runtime-module-library/tree/master/xtokens) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [NUTS Finance](https://nuts.finance/) | Stable Asset | [GitHub](https://github.com/nutsfinance) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [MVP Workshop](https://mvpworkshop.co/) | pallet-maci (Minimal Anti Collusion Infrastructure) | [GitHub](https://github.com/MVPWorkshop) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [X-Predict](https://x-predict.com/) | Decentralized prediction market | [GitHub](https://github.com/XPredictMarket) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Chevdor](https://www.chevdor.com/) | SRTOOL App | [GitLab](https://gitlab.com/chevdor/srtool-app) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Bit.Country](http://bit.country/) | A decentralized world - Phase 2 | [GitHub](https://github.com/bit-country) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Vera](https://veraprotocol.org/) | NFT Lending + Exchange | [GitHub](https://github.com/veraprotocol) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Parallel Finance](https://parallel.fi/#/) | Decentralized lending/borrowing and staking protocol | [GitHub](https://github.com/parallel-finance/parallel) |
  • [ ]
|
  • [x]
|
  • [x]
| - -## :surfing_woman: Wave 10 - Second Quarter 2021 +| [Zenlink](https://zenlink.pro/) | Cross-chain DEX | [GitHub](https://github.com/zenlinkpro/zenlink_dex_module) | ☐ | ☐ | ☐ | +| [NFTT Studio](https://github.com/NFTT-studio) | NFT Store Pallet and Front End | [GitHub](https://github.com/NFTT-studio) | ☐ | ☒ | ☒ | +| [SubGame Network](https://subgame.org) | A decentralized game platform | [GitHub](https://github.com/SubGame-Network) | ☐ | ☒ | ☒ | +| [Parami](https://parami.io) | Blockchain-empowered advertising alliance | [GitHub](https://github.com/parami-protocol/parami) | ☐ | ☐ | ☐ | +| [Sunrise Protocol](https://sunriseprotocol.com) | Sunrise DEX | [GitHub](https://github.com/sunriseprotocol) | ☐ | ☐ | ☐ | +| [Cobo](https://cobo.com/) | Cobo Vault Phase 2 | [GitHub](https://github.com/CoboVault) | ☐ | ☒ | ☐ | +| [OxyDev](https://oxydev.ir) | SubsCrypt: Managing subscriptions | [GitHub](https://github.com/oxydev) | ☐ | ☒ | ☐ | +| [DNFT-Team](https://github.com/DNFT-Team) | Data framework between personal data and AI models | [GitHub](https://github.com/DNFT-Team) | ☒ | ☐ | ☐ | +| [UMC Labs](https://umc.network) | Secured token subscription | [GitHub](https://github.com/umc-network) | ☐ | ☐ | ☐ | +| [Perpetual Altruism Ltd](https://cryptograph.co/) | IP-Rights compliant NFT bridge protocol | [GitHub](https://github.com/Perpetual-Altruism-Ltd) | ☐ | ☐ | ☐ | +| [Clover](https://clover.finance/) | Easy-to-use blockchain infrastructure | [GitHub](https://github.com/clover-network/) | ☒ | ☒ | ☐ | +| [DoraHacks](https://dorahacks.com/) | Quadratic Funding Pallet | [GitHub](https://github.com/dorahacksglobal) | ☐ | ☒ | ☒ | +| [SEOR](https://www.seor.io) | Multi-chain smart contract development platform | [GitHub](https://github.com/SealSC) | ☐ | ☒ | ☐ | +| [Polkastarter](https://polkastarter.com/) | Crowdloan UI | [GitHub](https://github.com/polkastarter) | ☒ | ☐ | ☐ | +| [Equilibrium.io](https://equilibrium.io/en) | Curve AMM Pallet | [GitHub](https://github.com/equilibrium-eosdt) | ☐ | ☒ | ☒ | +| [Zondax](https://zondax.ch/) | Ledger maintenance + recovery extensions + support | [GitHub](https://github.com/Zondax) | ☐ | ☒ | ☒ | +| [Nuclei Studio](https://nuclei.studio/) | Voting Pallets | [GitHub](https://github.com/NucleiStudio) | ☐ | ☒ | ☒ | +| [RAMP DEFI](https://app.rampdefi.com/#/) | Polkakeeper - A Community-Led Value Assurance Protocol | [GitHub](https://github.com/RAMP-DEFI) | ☐ | ☐ | ☐ | +| [Stone](https://stonedefi.io) | Index project which aims to track the portfolio of multiple digital assets | [GitHub](https://github.com/stonedefi/) | ☐ | ☒ | ☐ | +| [Reserve Labs](https://github.com/ReserveLabs) | AlgoCash - An algorithmic stablecoin | [GitHub](https://github.com/ReserveLabs/AlgoCash) | ☐ | ☒ | ☒ | +| [gmajor](https://github.com/gmajor-encrypt) | PHP Scale Codec | [GitHub](https://github.com/gmajor-encrypt/php-scale-codec) | ☐ | ☒ | ☒ | +| [Trust Fractal GmbH](https://trustfractal.com/) | ink! Smart Contract Upgradeability | [GitHub](https://github.com/trustfractal/ink-upgrade-template) | ☐ | ☒ | ☒ | +| [Starry Network](https://github.com/Starry-Network) | Splittable NFTs | [GitHub](https://github.com/Starry-Network) | ☐ | ☒ | ☒ | +| [Equilibrium](https://equilibrium.co/) | Research Storage Network| [GitHub](https://github.com/eqlabs) | ☐ | ☒ | ☒ | +| [Ajuna](https://ajuna.io/) | Substrate .NET API | [GitHub](https://github.com/dotmog/SubstrateNetApi) | ☐ | ☒ | ☒ | +| [NewOmega](https://github.com/WiktorStarczewski/newomega.trinity ) | A blockchain game that cannot be shut down | [GitHub](https://github.com/WiktorStarczewski/newomega.trinity ) | ☐ | ☒ | ☒ | +| [Bright Inventions](https://brightinventions.pl/) | Treasury Web application| [GitHub](https://github.com/bright/bright-tresury) | ☐ | ☒ | ☒ | +| [Standard protocol](https://github.com/standardweb3/standard-substrate) | A collateralized algorithmic stablecoin protocol for synthetic assets | [GitHub](https://github.com/standardweb3/standard-substrate) | ☐ | ☒ | ☐ | +| [Skye Kiwi](https://skye.kiwi/) | SkyePass: A decentralized, open source password manager | [GitHub](https://github.com/skyekiwi) | ☐ | ☒ | ☐ | +| [RidOne Technologies](https://github.com/RidOne-technologies) | Polkadot UI Web + Angular Identicon | [GitHub](https://github.com/RidOne-technologies) | ☐ | ☒ | ☒ | +| [Zeropool](https://zeropool.network/) | Private transactions on Polkadot Phase 2 | [GitHub](https://github.com/zeropoolnetwork) | ☐ | ☐ | ☐ | +| [OAK Foundation](https://oak.tech) | Quadratic Funding Module and Dapp Application | [GitHub](https://github.com/OAK-Foundation/) | ☐ | ☒ | ☒ | +| [Commonwealth Labs](https://commonwealth.im/) | Webb Mixer| [GitHub](https://github.com/edgeware-builders) | ☐ | ☒ | ☒ | +| [TEA Project](http://teaproject.org/) | Gluon - Decentralized Hardware Crypto Wallet Services | [GitHub](https://github.com/tearust) | ☐ | ☒ | ☐ | +| [Cycan Technologies](http://cycan.network/) | Everlasting Cash: A hybrid of a crypto-collateralized and an algorithmic stablecoin | [GitHub](https://github.com/CycanTech) | ☐ | ☐ | ☐ | +| [Shard Labs](https://shardlabs.io) | Substrate Identity Directory | [GitHub](https://github.com/Shard-Labs) | ☐ | ☒ | ☐ | +| [Lumena](https://www.lumena.tech) | A blockchain based EV charging platform | [GitHub](https://github.com/Delmonicos/charger-node) | ☐ | ☒ | ☒ | +| [DEGO](https://dego.finance/) | Treasureland: An NFT publishing and trading platform | [GitHub](https://github.com/dego-labs) | ☐ | ☐ | ☐ | +| [AIKON](https://aikon.com/) | ChainJS integration | [GitHub](https://github.com/TeamAikon/chain-js) | ☐ | ☐ | ☐ | +| [Nathan Schwermann](https://github.com/nschwermann) | PolkaJ Android Support | [GitHub](https://github.com/nschwermann) | ☐ | ☒ | ☐ | +| [Acala](https://acala.network/) | xtokens - XCM Implementation for Fungible Assets | [GitHub](https://github.com/open-web3-stack/open-runtime-module-library/tree/master/xtokens) | ☐ | ☒ | ☒ | +| [NUTS Finance](https://nuts.finance/) | Stable Asset | [GitHub](https://github.com/nutsfinance) | ☐ | ☒ | ☒ | +| [MVP Workshop](https://mvpworkshop.co/) | pallet-maci (Minimal Anti Collusion Infrastructure) | [GitHub](https://github.com/MVPWorkshop) | ☐ | ☐ | ☐ | +| [X-Predict](https://x-predict.com/) | Decentralized prediction market | [GitHub](https://github.com/XPredictMarket) | ☐ | ☐ | ☐ | +| [Chevdor](https://www.chevdor.com/) | SRTOOL App | [GitLab](https://gitlab.com/chevdor/srtool-app) | ☐ | ☒ | ☒ | +| [Bit.Country](http://bit.country/) | A decentralized world - Phase 2 | [GitHub](https://github.com/bit-country) | ☐ | ☒ | ☒ | +| [Vera](https://veraprotocol.org/) | NFT Lending + Exchange | [GitHub](https://github.com/veraprotocol) | ☐ | ☒ | ☒ | +| [Parallel Finance](https://parallel.fi/#/) | Decentralized lending/borrowing and staking protocol | [GitHub](https://github.com/parallel-finance/parallel) | ☐ | ☒ | ☒ | + +## 🏄‍♀️ Wave 10 - Second Quarter 2021 | Team | Project | Link | Terminated | First Delivery | Completed | :--- | :------ | :--- | :--------: | :------------: | :-------: | -| [GamePower](https://gamepower.network) | NFT Collectibles Wallet | [GitHub](https://github.com/GamePowerNetwork) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Subspace Labs](https://www.subspace.network/) | Proof-of-Capacity Consensus for Substrate | [GitHub](https://github.com/subspace) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [ChainSafe](https://chainsafe.io/) | Go implementation of Cumulus | [GitHub](https://github.com/ChainSafeSystems) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Polkadotters](https://polkadotters.medium.com/) | Subauction| [GitHub](https://github.com/polkadotters/SubAuction) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Phala Network](https://phala.network/) | Open Node Framework| [GitHub](https://github.com/Tenet-X) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Ruby Protocol](http://rubyprotocol.com/) | Cryptographic Infrastructure for Data Monetization | [GitHub](https://github.com/Ruby-Protocol) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Find Signal Studio PTE. LTD.](https://yieldscan.app/) | YieldScan Phase 2 | [GitHub](https://github.com/yieldscan) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [PolkaMusic](https://polkamusic.io/) | Operating decentralized music businesses on blockchain | [GitHub](https://github.com/polkamusic/PolkaMusic) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [element36](https://element36.io) | FIAT on-off-ramp | [GitHub](https://github.com/element36-io) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Zondax](https://zondax.ch/) | Ledger Asset App | [GitHub](https://github.com/Zondax) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Moonbeam Network](https://moonbeam.network/) | Pallet-dPoS for Parachain Staking | [GitHub](https://github.com/PureStake/moonbeam) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Dora Factory](https://dorafactory.org/) | MolochDAO substrate pallets v1 and v2 | [GitHub](https://github.com/DoraFactory) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| BCANN | Blockchain system for Assigned Names And Numbers | [GitHub](https://github.com/weitaolee) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [MyBank Labs](https://mybank.network/) | Platform Bank, Social Network Bank, MyDeX and Credit Scoring System | [GitHub](https://github.com/mybank-network/mybank-network) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [ChainBridge Network](https://github.com/ChainBridgeNetworkTeam) | Doter: A browser extension wallet for Polkadot | [GitHub](https://github.com/ChainBridgeNetworkTeam) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [SubDAO Labs](https://www.subdao.network/) | SubDAO Chrome Extension | [GitHub](https://github.com/subdao-network) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Sukhavati Labs](https://sukhavati.io/) | Sukhavati PoC Module | [GitHub](https://github.com/Sukhavati-Labs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [HypeLabs Inc.](https://hypelabs.io) | UpLink - Decentralized and infrastructure-free approach to peer-to-peer connectivity | [GitHub](https://github.com/Hype-Labs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| Jackson Harris III | Staking Rewards Viewer | [GitHub](https://github.com/jackson-harris-iii/staking-rewards-viewer) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Klevoya](https://klevoya.com/) | WASM Smart Contract Fuzzer | [GitHub](https://github.com/klevoya/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Perun Network](https://perun.network/) | Perun Channels | [GitHub](https://github.com/perun-network/) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [NewOmega](https://github.com/WiktorStarczewski/newomega.trinity ) | A blockchain game that cannot be shut down (Milestone 3 and 4) | [GitHub](https://github.com/WiktorStarczewski/newomega.trinity ) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Webb Tech](https://www.webb.tools/) | Webb Mixer Extended | [GitHub](https://github.com/webb-tools) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Ajuna](https://ajuna.io/) | UnitySDK for Substrate | [GitHub](https://github.com/JetonNetwork) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Canyon Labs](https://canyon-network.io) | Permanent decentralized storage | [GitHub](https://github.com/canyon-network) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [ZeroDAO Network](https://zerodao.net/) | Decentralised reputation systems and social networks | [GitHub](https://github.com/ZeroDAO) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Stake Technologies](https://stake.co.jp/) | ZK Plonk Pallet | [GitHub](https://github.com/PlasmNetwork) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [CryptoLab](https://www.cryptolab.network) | Staking Reward Collector | [GitHub](https://github.com/cryptolab-network) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Yatima Inc](https://github.com/yatima-inc/yatima) | Lambda-VM and programming language for Substrate | [GitHub](https://github.com/yatima-inc/yatima) |
  • [ ]
|
  • [x]
|
  • [x]
| - -## :surfing_woman: Wave 11 - Third Quarter 2021 +| [GamePower](https://gamepower.network) | NFT Collectibles Wallet | [GitHub](https://github.com/GamePowerNetwork) | ☐ | ☒ | ☐ | +| [Subspace Labs](https://www.subspace.network/) | Proof-of-Capacity Consensus for Substrate | [GitHub](https://github.com/subspace) | ☐ | ☒ | ☒ | +| [ChainSafe](https://chainsafe.io/) | Go implementation of Cumulus | [GitHub](https://github.com/ChainSafeSystems) | ☐ | ☐ | ☐ | +| [Polkadotters](https://polkadotters.medium.com/) | Subauction| [GitHub](https://github.com/polkadotters/SubAuction) | ☐ | ☒ | ☒ | +| [Phala Network](https://phala.network/) | Open Node Framework| [GitHub](https://github.com/Tenet-X) | ☐ | ☐ | ☐ | +| [Ruby Protocol](http://rubyprotocol.com/) | Cryptographic Infrastructure for Data Monetization | [GitHub](https://github.com/Ruby-Protocol) | ☐ | ☒ | ☒ | +| [Find Signal Studio PTE. LTD.](https://yieldscan.app/) | YieldScan Phase 2 | [GitHub](https://github.com/yieldscan) | ☐ | ☒ | ☒ | +| [PolkaMusic](https://polkamusic.io/) | Operating decentralized music businesses on blockchain | [GitHub](https://github.com/polkamusic/PolkaMusic) | ☐ | ☒ | ☐ | +| [element36](https://element36.io) | FIAT on-off-ramp | [GitHub](https://github.com/element36-io) | ☐ | ☒ | ☐ | +| [Zondax](https://zondax.ch/) | Ledger Asset App | [GitHub](https://github.com/Zondax) | ☐ | ☒ | ☒ | +| [Moonbeam Network](https://moonbeam.network/) | Pallet-dPoS for Parachain Staking | [GitHub](https://github.com/PureStake/moonbeam) | ☐ | ☒ | ☒ | +| [Dora Factory](https://dorafactory.org/) | MolochDAO substrate pallets v1 and v2 | [GitHub](https://github.com/DoraFactory) | ☐ | ☒ | ☐ | +| BCANN | Blockchain system for Assigned Names And Numbers | [GitHub](https://github.com/weitaolee) | ☐ | ☐ | ☐ | +| [MyBank Labs](https://mybank.network/) | Platform Bank, Social Network Bank, MyDeX and Credit Scoring System | [GitHub](https://github.com/mybank-network/mybank-network) | ☐ | ☐ | ☐ | +| [ChainBridge Network](https://github.com/ChainBridgeNetworkTeam) | Doter: A browser extension wallet for Polkadot | [GitHub](https://github.com/ChainBridgeNetworkTeam) | ☐ | ☒ | ☒ | +| [SubDAO Labs](https://www.subdao.network/) | SubDAO Chrome Extension | [GitHub](https://github.com/subdao-network) | ☐ | ☒ | ☒ | +| [Sukhavati Labs](https://sukhavati.io/) | Sukhavati PoC Module | [GitHub](https://github.com/Sukhavati-Labs) | ☐ | ☐ | ☐ | +| [HypeLabs Inc.](https://hypelabs.io) | UpLink - Decentralized and infrastructure-free approach to peer-to-peer connectivity | [GitHub](https://github.com/Hype-Labs) | ☐ | ☐ | ☐ | +| Jackson Harris III | Staking Rewards Viewer | [GitHub](https://github.com/jackson-harris-iii/staking-rewards-viewer) | ☐ | ☐ | ☐ | +| [Klevoya](https://klevoya.com/) | WASM Smart Contract Fuzzer | [GitHub](https://github.com/klevoya/) | ☐ | ☐ | ☐ | +| [Perun Network](https://perun.network/) | Perun Channels | [GitHub](https://github.com/perun-network/) | ☐ | ☒ | ☒ | +| [NewOmega](https://github.com/WiktorStarczewski/newomega.trinity ) | A blockchain game that cannot be shut down (Milestone 3 and 4) | [GitHub](https://github.com/WiktorStarczewski/newomega.trinity ) | ☐ | ☒ | ☒ | +| [Webb Tech](https://www.webb.tools/) | Webb Mixer Extended | [GitHub](https://github.com/webb-tools) | ☐ | ☒ | ☒ | +| [Ajuna](https://ajuna.io/) | UnitySDK for Substrate | [GitHub](https://github.com/JetonNetwork) | ☐ | ☒ | ☐ | +| [Canyon Labs](https://canyon-network.io) | Permanent decentralized storage | [GitHub](https://github.com/canyon-network) | ☐ | ☒ | ☒ | +| [ZeroDAO Network](https://zerodao.net/) | Decentralised reputation systems and social networks | [GitHub](https://github.com/ZeroDAO) | ☐ | ☒ | ☒ | +| [Stake Technologies](https://stake.co.jp/) | ZK Plonk Pallet | [GitHub](https://github.com/PlasmNetwork) | ☐ | ☒ | ☒ | +| [CryptoLab](https://www.cryptolab.network) | Staking Reward Collector | [GitHub](https://github.com/cryptolab-network) | ☐ | ☒ | ☒ | +| [Yatima Inc](https://github.com/yatima-inc/yatima) | Lambda-VM and programming language for Substrate | [GitHub](https://github.com/yatima-inc/yatima) | ☐ | ☒ | ☒ | + +## 🏄‍♀️ Wave 11 - Third Quarter 2021 | Team | Project | Link | Terminated | First Delivery | Completed | :--- | :------ | :--- | :--------: | :------------: | :-------: | -| [Pawn](https://github.com/pawnz0) | NuLink | [GitHub](https://github.com/pawnz0/NuLink) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Cyril Carlier](https://github.com/CrommVardek) | Polk-Auction Website | [GitHub](https://github.com/CrommVardek) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Uddug](https://uddug.com/) | JuniDB - Peer-to-Peer Databases | [GitHub](http://github.com/uddugteam/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Canyon Labs](https://canyon-network.io) | Permanent decentralized storage Phase 2 | [GitHub](https://github.com/canyon-network) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Skynet Labs](https://siasky.net/) | Pallet for Decentralized Off-Chain Storage on Skynet | [GitHub](https://gitlab.com/SkynetLabs) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Uniwrap/1001 Group](https://uniwrap.io/) | Project 1001 | [GitHub](https://github.com/uniwrap-protocol) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [YibanChen](https://yibanchen.com) | Notes DApp & Site-Pallet | [GitHub](https://github.com/YibanChen/) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [SuperColony](https://github.com/Supercolony-net) | OpenBrush - Secure smart-contract development on ink! | [GitHub](https://github.com/Supercolony-net) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Banksy Finance](http://www.banksy.finance/) | NFT Pool-Based Lending Hub | [GitHub](https://github.com/Banksy-Finance) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [SubDAO Labs](https://www.subdao.network/) | PolkaSign - Web3.0 app for electronic agreements | [GitHub](https://github.com/subdao-network) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Valibre](https://valibre.org) | People Local Interactions Protocol (PLIP) | [GitHub](https://github.com/valibre-org/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Reaudito](https://shivarthu.reaudito.com/#/) | Shivarthu: A blockchain-based decentralized governance system | [GitHub](https://github.com/amiyatulu/shivarthu) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| Uniscan | NFT Explorer | [GitHub](https://github.com/wuminzhe) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [LimeChain](https://limechain.tech) | Subsembly - Support for GRANDPA | [GitHub](https://github.com/LimeChain) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [OpenSquare](https://www.opensquare.network) | Off-chain voting platform | [GitHub](https://github.com/opensquare-network/) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Health Hero](https://www.gohealthhero.com/) | NFT Product Analytics Suite | |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Tesseract](https://tesseract.one/) | Mobile dApps/Wallet Connection | [GitHub](https://github.com/tesseract-one) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Wow Labz](http://www.wowlabz.com) | Dot Marketplace | [GitHub](https://github.com/WowLabz) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Perun Network](https://perun.network/) | Perun Channels - Integration with go-perun | [GitHub](https://github.com/perun-network/) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [InvArchitects](https://www.invarch.io/) | InvArch - IP Infrastructure for Substrate | [GitHub](https://github.com/InvArch) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [SubGame Network](https://subgame.org) | A decentralized game platform Phase 2| [GitHub](https://github.com/SubGame-Network) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [CESS LAB](https://www.cess.cloud/) | Cumulus Encrypted Storage System (CESS) | [GitHub](https://github.com/Cumulus2021/Whitepaper) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [CheersLand Labs](https://cheersland.org/) | Multi-game Platform for Polkadot & Kusama | [GitHub](https://github.com/cheersland) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [UNI-ARTS](https://app.uniarts.network/) | Ruby Substate Client | [GitHub](https://github.com/uni-arts-chain/sr25519) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Skye Kiwi](https://skye.kiwi/) | SkyeKiwi Protocol | [GitHub](https://github.com/skyekiwi) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Evercity](https://evercity.io/) | Sustainable Finance Protocol | [GitHub](https://github.com/EvercityEcosystem) |
  • [ ]
|
  • [x]
|
  • [x]
| - -## :surfing_woman: Wave 12 - Fourth Quarter 2021 +| [Pawn](https://github.com/pawnz0) | NuLink | [GitHub](https://github.com/pawnz0/NuLink) | ☐ | ☒ | ☒ | +| [Cyril Carlier](https://github.com/CrommVardek) | Polk-Auction Website | [GitHub](https://github.com/CrommVardek) | ☐ | ☒ | ☒ | +| [Uddug](https://uddug.com/) | JuniDB - Peer-to-Peer Databases | [GitHub](http://github.com/uddugteam/) | ☐ | ☐ | ☐ | +| [Canyon Labs](https://canyon-network.io) | Permanent decentralized storage Phase 2 | [GitHub](https://github.com/canyon-network) | ☐ | ☒ | ☒ | +| [Skynet Labs](https://siasky.net/) | Pallet for Decentralized Off-Chain Storage on Skynet | [GitHub](https://gitlab.com/SkynetLabs) | ☐ | ☒ | ☒ | +| [Uniwrap/1001 Group](https://uniwrap.io/) | Project 1001 | [GitHub](https://github.com/uniwrap-protocol) | ☐ | ☐ | ☐ | +| [YibanChen](https://yibanchen.com) | Notes DApp & Site-Pallet | [GitHub](https://github.com/YibanChen/) | ☐ | ☒ | ☐ | +| [SuperColony](https://github.com/Supercolony-net) | OpenBrush - Secure smart-contract development on ink! | [GitHub](https://github.com/Supercolony-net) | ☐ | ☒ | ☒ | +| [Banksy Finance](http://www.banksy.finance/) | NFT Pool-Based Lending Hub | [GitHub](https://github.com/Banksy-Finance) | ☐ | ☐ | ☐ | +| [SubDAO Labs](https://www.subdao.network/) | PolkaSign - Web3.0 app for electronic agreements | [GitHub](https://github.com/subdao-network) | ☐ | ☒ | ☒ | +| [Valibre](https://valibre.org) | People Local Interactions Protocol (PLIP) | [GitHub](https://github.com/valibre-org/) | ☐ | ☐ | ☐ | +| [Reaudito](https://shivarthu.reaudito.com/#/) | Shivarthu: A blockchain-based decentralized governance system | [GitHub](https://github.com/amiyatulu/shivarthu) | ☐ | ☒ | ☐ | +| Uniscan | NFT Explorer | [GitHub](https://github.com/wuminzhe) | ☐ | ☒ | ☒ | +| [LimeChain](https://limechain.tech) | Subsembly - Support for GRANDPA | [GitHub](https://github.com/LimeChain) | ☐ | ☐ | ☐ | +| [OpenSquare](https://www.opensquare.network) | Off-chain voting platform | [GitHub](https://github.com/opensquare-network/) | ☐ | ☒ | ☒ | +| [Health Hero](https://www.gohealthhero.com/) | NFT Product Analytics Suite | N/A | ☐ | ☐ | ☐ | +| [Tesseract](https://tesseract.one/) | Mobile dApps/Wallet Connection | [GitHub](https://github.com/tesseract-one) | ☐ | ☒ | ☐ | +| [Wow Labz](http://www.wowlabz.com) | Dot Marketplace | [GitHub](https://github.com/WowLabz) | ☐ | ☒ | ☒ | +| [Perun Network](https://perun.network/) | Perun Channels - Integration with go-perun | [GitHub](https://github.com/perun-network/) | ☐ | ☒ | ☒ | +| [InvArchitects](https://www.invarch.io/) | InvArch - IP Infrastructure for Substrate | [GitHub](https://github.com/InvArch) | ☐ | ☒ | ☒ | +| [SubGame Network](https://subgame.org) | A decentralized game platform Phase 2| [GitHub](https://github.com/SubGame-Network) | ☐ | ☒ | ☒ | +| [CESS LAB](https://www.cess.cloud/) | Cumulus Encrypted Storage System (CESS) | [GitHub](https://github.com/Cumulus2021/Whitepaper) | ☐ | ☒ | ☒ | +| [CheersLand Labs](https://cheersland.org/) | Multi-game Platform for Polkadot & Kusama | [GitHub](https://github.com/cheersland) | ☐ | ☐ | ☐ | +| [UNI-ARTS](https://app.uniarts.network/) | Ruby Substate Client | [GitHub](https://github.com/uni-arts-chain/sr25519) | ☐ | ☒ | ☐ | +| [Skye Kiwi](https://skye.kiwi/) | SkyeKiwi Protocol | [GitHub](https://github.com/skyekiwi) | ☐ | ☒ | ☒ | +| [Evercity](https://evercity.io/) | Sustainable Finance Protocol | [GitHub](https://github.com/EvercityEcosystem) | ☐ | ☒ | ☒ | + +## 🏄‍♀️ Wave 12 - Fourth Quarter 2021 | Team | Project | Link | Terminated | First Delivery | Completed | :--- | :------ | :--- | :--------: | :------------: | :-------: | -| Matthew Darnell | cScale | [GitHub](https://github.com/MatthewDarnell/cScale) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Web3go](https://web3go.xyz/) | Web3go | [GitHub](https://github.com/web3go-xyz) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Prosopo Limited](https://prosopo.io) | Prosopo: Human Verification Marketplace | [GitHub](https://github.com/prosopo-io) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Litentry](www.litentry.com) | Polka SignIn | [GitHub](https://github.com/litentry) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [gmajor](https://github.com/gmajor-encrypt) | PHP RPC Lib | [GitHub](https://github.com/gmajor-encrypt/) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [logion](https://logion.network/) | Logion wallet | [GitHub](https://github.com/logion-network) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [SuperColony](https://www.supercolony.net/) | OpenBrush - Secure smart-contract development on ink! Phase 2 | [GitHub](https://github.com/Supercolony-net) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Nitor Infotech](https://www.nitorinfotech.com/) | Php substrate api | [GitHub](https://github.com/nitor-infotech-oss) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [@agryaznov](https://github.com/agryaznov) | Candle Auctions on Ink! | [GitHub](https://github.com/agryaznov/candle-auction-ink) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Iridium Industries](http://www.iridium.industries) | Iris: Decentralized storage network for substrate-based chains | [GitHub](https://github.com/iridium-labs/iris) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [DICO Team](https://dico.io/) | DICO: Decentralized and governable ICO platform | [GitHub](https://github.com/DICO-TEAM/dico-chain) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [DodoRare, Inc.](https://dodorare.com) | Crossbow - Cross-Platform Rust Toolkit for Games | [GitHub](https://github.com/dodorare) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Rainbowcity Foundation](http://www.rainbowcity.io/) | RainbowDAO Protocol ink! Phase 1 | [GitHub](https://github.com/RainbowcityFoundation/RainbowcityDAO) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Web Registry DAO](www.wika.network) | Wika Network | [GitHub](https://github.com/randombishop/wika_node) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Helikon Labs](http://www.helikon.tech/) | SubVT Telegram Bot for Kusama and Polkadot | [GitHub](https://github.com/helikon-labs/polkadot-kusama-1kv-telegram-bot) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Elamin LTD](http://imbue.network/) | Imbue Network | [GitHub](https://github.com/ImbueNetwork) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Koi Metaverse](https://koi.io/) | Building the Digital Collectibles Platform for Virtual GameFi NFTs | [GitHub](https://github.com/KoiMetaverse) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Health Hero](https://www.gohealthhero.com/) | Decentralized Well-being Game API | [GitHub](https://github.com/iumairazhar) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [UNIVERSALDOT FOUNDATION](https://universaldot.foundation) | A freelancing decentralized application | [GitHub](https://github.com/UniversalDot) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [AdMeta](https://admeta.network/) | A privacy-preserving Ad Platform | [GitHub](https://github.com/AdMetaNetwork/admeta) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| Crypto Pay Lab (CPL)) | Dotpay a github paid task platform using DOT | [GitHub](https://github.com/bytepayment) |
  • [ ]
|
  • [x]
|
  • [ ]
| +| Matthew Darnell | cScale | [GitHub](https://github.com/MatthewDarnell/cScale) | ☐ | ☒ | ☐ | +| [Web3go](https://web3go.xyz/) | Web3go | [GitHub](https://github.com/web3go-xyz) | ☐ | ☒ | ☐ | +| [Prosopo Limited](https://prosopo.io) | Prosopo: Human Verification Marketplace | [GitHub](https://github.com/prosopo-io) | ☐ | ☒ | ☒ | +| [Litentry](www.litentry.com) | Polka SignIn | [GitHub](https://github.com/litentry) | ☐ | ☐ | ☐ | +| [gmajor](https://github.com/gmajor-encrypt) | PHP RPC Lib | [GitHub](https://github.com/gmajor-encrypt/) | ☐ | ☒ | ☒ | +| [logion](https://logion.network/) | Logion wallet | [GitHub](https://github.com/logion-network) | ☐ | ☒ | ☒ | +| [SuperColony](https://www.supercolony.net/) | OpenBrush - Secure smart-contract development on ink! Phase 2 | [GitHub](https://github.com/Supercolony-net) | ☐ | ☒ | ☐ | +| [Nitor Infotech](https://www.nitorinfotech.com/) | Php substrate api | [GitHub](https://github.com/nitor-infotech-oss) | ☐ | ☒ | ☒ | +| [@agryaznov](https://github.com/agryaznov) | Candle Auctions on Ink! | [GitHub](https://github.com/agryaznov/candle-auction-ink) | ☐ | ☒ | ☒ | +| [Iridium Industries](http://www.iridium.industries) | Iris: Decentralized storage network for substrate-based chains | [GitHub](https://github.com/iridium-labs/iris) | ☐ | ☒ | ☒ | +| [DICO Team](https://dico.io/) | DICO: Decentralized and governable ICO platform | [GitHub](https://github.com/DICO-TEAM/dico-chain) | ☐ | ☐ | ☐ | +| [DodoRare, Inc.](https://dodorare.com) | Crossbow - Cross-Platform Rust Toolkit for Games | [GitHub](https://github.com/dodorare) | ☐ | ☒ | ☒ | +| [Rainbowcity Foundation](http://www.rainbowcity.io/) | RainbowDAO Protocol ink! Phase 1 | [GitHub](https://github.com/RainbowcityFoundation/RainbowcityDAO) | ☐ | ☒ | ☒ | +| [Web Registry DAO](www.wika.network) | Wika Network | [GitHub](https://github.com/randombishop/wika_node) | ☐ | ☒ | ☐ | +| [Helikon Labs](http://www.helikon.tech/) | SubVT Telegram Bot for Kusama and Polkadot | [GitHub](https://github.com/helikon-labs/polkadot-kusama-1kv-telegram-bot) | ☐ | ☒ | ☒ | +| [Elamin LTD](http://imbue.network/) | Imbue Network | [GitHub](https://github.com/ImbueNetwork) | ☐ | ☒ | ☒ | +| [Koi Metaverse](https://koi.io/) | Building the Digital Collectibles Platform for Virtual GameFi NFTs | [GitHub](https://github.com/KoiMetaverse) | ☐ | ☐ | ☐ | +| [Health Hero](https://www.gohealthhero.com/) | Decentralized Well-being Game API | [GitHub](https://github.com/iumairazhar) | ☐ | ☐ | ☐ | +| [UNIVERSALDOT FOUNDATION](https://universaldot.foundation) | A freelancing decentralized application | [GitHub](https://github.com/UniversalDot) | ☐ | ☒ | ☒ | +| [AdMeta](https://admeta.network/) | A privacy-preserving Ad Platform | [GitHub](https://github.com/AdMetaNetwork/admeta) | ☐ | ☐ | ☐ | +| Crypto Pay Lab (CPL)) | Dotpay a github paid task platform using DOT | [GitHub](https://github.com/bytepayment) | ☐ | ☒ | ☐ | # 2022 -## :surfing_woman: Wave 13 - First Quarter 2022 +## 🏄‍♀️ Wave 13 - First Quarter 2022 | Team | Project | Link | Terminated | First Delivery | Completed | :--- | :------ | :--- | :--------: | :------------: | :-------: | -| [Chainify](https://github.com/chainify) | Nolik | [GitHub](https://github.com/chainify) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Pennsylvania State University](https://www.psu.edu/) | Avoiding Rust Deadlocks via Lifetime Visualization | [GitHub](https://songlh.github.io/) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Anagolay](https://anagolay.network/) | Project Idiyanale | [GitHub](https://github.com/anagolay) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Fennel Labs](https://fennellabs.com/) | Fennel Protocol | [GitHub](https://github.com/fennelLabs) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Valletech AB](https://valletech.eu/) | Polkawatch | [GitHub](https://gitlab.com/polkawatch) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [EzCode](https://ezcode.co/) | Polkadot.js NoCode Plugin | [GitHub](https://github.com/inartin) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Virto Network](https://virto.network/) | LIP payments pallet | [GitHub](https://github.com/virto-network/) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Kami Ekbatanifard](https://github.com/Nick-1979/) | Polkadot.js Plus Extension | [GitHub](https://github.com/Nick-1979/polkadot-Js-Plus-extension/wiki) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Dora Factory](https://dorafactory.org/) | Multisig UI | [GitHub](https://github.com/DoraFactory) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Blackprint](https://github.com/Blackprint) | Integrating Polkadot.js with Blackprint | [GitHub](https://github.com/Blackprint) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [OpenSquare Network](https://www.opensquare.network/) | OpenSquare Paid QA protocol | [GitHub](https://github.com/opensquare-network/) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [@Scale Technologies](https://atscale.xyz) | Libra - Decentralized Payment Network | [GitHub](https://github.com/atscaletech/) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Interstellar](https://www.interstellar.gg/) | Interstellar - Wallet Phase 1 | [GitHub](https://github.com/Interstellar-Network) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Pendulum](https://pendulumchain.org/) | Spacewalk: a Stellar bridge | [GitHub](https://github.com/pendulum-chain) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Dmitrii Koshelev](https://github.com/dishport) | Implementation of the new hash function to BLS12 curves | [GitHub](https://github.com/dishport) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Hamster](https://github.com/orgs/hamster-shared) | Hamster - A decentralized computing network | [GitHub](https://github.com/orgs/hamster-shared) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Papers GmbH](https://papers.ch/en/) | Zaturn - A Generic Attestable Oracle parachain Phase 1 | [GitHub](https://github.com/airgap-it) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Slonigiraf](https://www.slonigiraf.org/) | SLON - a recommendation letter system| [GitHub](https://github.com/slonigiraf) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Helixstreet](https://helixstreet.io/) | Helixstreet Module | [GitHub](https://github.com/helixstreet) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Cryptoviet](https://team.cryptoviet.com/) | Gafi Network - The Network of Game Finance | [GitHub](https://github.com/cryptoviet/gafi) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Asylum](https://asylum.space/) | Metaverse for next generation gaming | [GitHub](https://gitlab.com/asylum-space/) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [CESS LAB](https://www.cess.cloud/) | Data Store Pallet | [GitHub](https://github.com/CESSProject/cess) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [ChainSafe](https://chainsafe.io/) | Substrate Core Polywrapper | [GitHub](https://github.com/polywrap) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Bela Supernova](https://bsn.si/en/home/) | On-chain cash exchange (OCEX) | |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Second State](https://www.secondstate.io/) | WasmEdge for Substrate | [GitHub](https://github.com/wasmedge) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Wow Labz](https://www.wowlabz.com/) | Dot Marketplace Phase 2 | [GitHub](https://github.com/WowLabz) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Stardust Labs Inc.](https://stardust.finance/) | Uncollateralized Stablecoin Research and Design | [GitHub](https://github.com/adit313/) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Hashed Systems](https://hashed.io) | Native Bitcoin Vaults (NBV) | [GitHub](https://github.com/hashed-io) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Setheum](https://setheum.xyz/) | Setheum HighEnd LaunchPad Crowdsales Module | [GitHub](https://github.com/Setheum-Labs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [SaaS3 Lab](https://www.saas3.io) | SaaS3 | [GitHub](https://github.com/SaaS3Lab) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [NUTS Finance](https://nuts.finance) | DOT-pegged derivative built on top of the stable asset protocol | [GitHub](https://github.com/nutsfinance/) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Strategy Object](https://strategyobject.com/) | Substrate Client for Java | [GitHub](https://github.com/strategyobject/substrate-client-java) |
  • [ ]
|
  • [x]
|
  • [ ]
| - -## :surfing_woman: Wave 14 - Second Quarter 2022 +| [Chainify](https://github.com/chainify) | Nolik | [GitHub](https://github.com/chainify) | ☐ | ☒ | ☒ | +| [Pennsylvania State University](https://www.psu.edu/) | Avoiding Rust Deadlocks via Lifetime Visualization | [GitHub](https://songlh.github.io/) | ☐ | ☒ | ☒ | +| [Anagolay](https://anagolay.network/) | Project Idiyanale | [GitHub](https://github.com/anagolay) | ☐ | ☒ | ☒ | +| [Fennel Labs](https://fennellabs.com/) | Fennel Protocol | [GitHub](https://github.com/fennelLabs) | ☐ | ☒ | ☒ | +| [Valletech AB](https://valletech.eu/) | Polkawatch | [GitHub](https://gitlab.com/polkawatch) | ☐ | ☒ | ☒ | +| [EzCode](https://ezcode.co/) | Polkadot.js NoCode Plugin | [GitHub](https://github.com/inartin) | ☐ | ☒ | ☒ | +| [Virto Network](https://virto.network/) | LIP payments pallet | [GitHub](https://github.com/virto-network/) | ☐ | ☒ | ☒ | +| [Kami Ekbatanifard](https://github.com/Nick-1979/) | Polkadot.js Plus Extension | [GitHub](https://github.com/Nick-1979/polkadot-Js-Plus-extension/wiki) | ☐ | ☒ | ☒ | +| [Dora Factory](https://dorafactory.org/) | Multisig UI | [GitHub](https://github.com/DoraFactory) | ☐ | ☒ | ☒ | +| [Blackprint](https://github.com/Blackprint) | Integrating Polkadot.js with Blackprint | [GitHub](https://github.com/Blackprint) | ☐ | ☒ | ☒ | +| [OpenSquare Network](https://www.opensquare.network/) | OpenSquare Paid QA protocol | [GitHub](https://github.com/opensquare-network/) | ☐ | ☒ | ☒ | +| [@Scale Technologies](https://atscale.xyz) | Libra - Decentralized Payment Network | [GitHub](https://github.com/atscaletech/) | ☐ | ☒ | ☐ | +| [Interstellar](https://www.interstellar.gg/) | Interstellar - Wallet Phase 1 | [GitHub](https://github.com/Interstellar-Network) | ☐ | ☒ | ☐ | +| [Pendulum](https://pendulumchain.org/) | Spacewalk: a Stellar bridge | [GitHub](https://github.com/pendulum-chain) | ☐ | ☒ | ☐ | +| [Dmitrii Koshelev](https://github.com/dishport) | Implementation of the new hash function to BLS12 curves | [GitHub](https://github.com/dishport) | ☐ | ☒ | ☐ | +| [Hamster](https://github.com/orgs/hamster-shared) | Hamster - A decentralized computing network | [GitHub](https://github.com/orgs/hamster-shared) | ☐ | ☒ | ☒ | +| [Papers GmbH](https://papers.ch/en/) | Zaturn - A Generic Attestable Oracle parachain Phase 1 | [GitHub](https://github.com/airgap-it) | ☐ | ☐ | ☐ | +| [Slonigiraf](https://www.slonigiraf.org/) | SLON - a recommendation letter system| [GitHub](https://github.com/slonigiraf) | ☐ | ☒ | ☒ | +| [Helixstreet](https://helixstreet.io/) | Helixstreet Module | [GitHub](https://github.com/helixstreet) | ☐ | ☐ | ☐ | +| [Cryptoviet](https://team.cryptoviet.com/) | Gafi Network - The Network of Game Finance | [GitHub](https://github.com/cryptoviet/gafi) | ☐ | ☒ | ☐ | +| [Asylum](https://asylum.space/) | Metaverse for next generation gaming | [GitHub](https://gitlab.com/asylum-space/) | ☐ | ☒ | ☒ | +| [CESS LAB](https://www.cess.cloud/) | Data Store Pallet | [GitHub](https://github.com/CESSProject/cess) | ☐ | ☒ | ☒ | +| [ChainSafe](https://chainsafe.io/) | Substrate Core Polywrapper | [GitHub](https://github.com/polywrap) | ☐ | ☐ | ☐ | +| [Bela Supernova](https://bsn.si/en/home/) | On-chain cash exchange (OCEX) | N/A | ☐ | ☒ | ☒ | +| [Second State](https://www.secondstate.io/) | WasmEdge for Substrate | [GitHub](https://github.com/wasmedge) | ☐ | ☒ | ☐ | +| [Wow Labz](https://www.wowlabz.com/) | Dot Marketplace Phase 2 | [GitHub](https://github.com/WowLabz) | ☐ | ☒ | ☒ | +| [Stardust Labs Inc.](https://stardust.finance/) | Uncollateralized Stablecoin Research and Design | [GitHub](https://github.com/adit313/) | ☐ | ☒ | ☒ | +| [Hashed Systems](https://hashed.io) | Native Bitcoin Vaults (NBV) | [GitHub](https://github.com/hashed-io) | ☐ | ☒ | ☒ | +| [Setheum](https://setheum.xyz/) | Setheum HighEnd LaunchPad Crowdsales Module | [GitHub](https://github.com/Setheum-Labs) | ☐ | ☐ | ☐ | +| [SaaS3 Lab](https://www.saas3.io) | SaaS3 | [GitHub](https://github.com/SaaS3Lab) | ☐ | ☐ | ☐ | +| [NUTS Finance](https://nuts.finance) | DOT-pegged derivative built on top of the stable asset protocol | [GitHub](https://github.com/nutsfinance/) | ☐ | ☒ | ☒ | +| [Strategy Object](https://strategyobject.com/) | Substrate Client for Java | [GitHub](https://github.com/strategyobject/substrate-client-java) | ☐ | ☒ | ☐ | + +## 🏄‍♀️ Wave 14 - Second Quarter 2022 | Team | Project | Link | Terminated | First Delivery | Completed | :--- | :------ | :--- | :--------: | :------------: | :-------: | -| [TDSoftware](https://www.tdsoftware.de/) | SubIdentity | [GitHub](https://github.com/TDSoftware) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [ChainSafe Systems](https://chainsafe.io/) | SubstrateSnap Maintenance Proposal | [GitHub](https://github.com/ChainSafe/metamask-snap-polkadot) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [HugoByte](https://hugobyte.com/) | Project Aurras - MVP - Phase 2 | [GitHub](https://github.com/HugoByte) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Perun Network](https://perun.network/) | Perun App Channels | [GitHub](https://github.com/perun-network/) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [ChainSafe Systems](https://chainsafe.io/) | Privacy enhancement for Polkadot-js extension | [GitHub](https://github.com/ChainSafe) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [BQP](https://qbitcoin.tech/) | Quantum Lock for QBITCOIN | [GitHub](https://github.com/bqpquantum/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Simply VC](https://simply-vc.com.mt/) | PANIC Monitoring and Alerting For Blockchains | [GitHub](https://github.com/SimplyVC/panic) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Artree LLC](https://artree.co.jp/) | Zero Network | [GitHub](https://github.com/zero-network) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [sigma prime](https://sigmaprime.io/) | Differential Fuzzer | [GitHub](https://github.com/sigp) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [t3rn](https://www.t3rn.io/) | XBI - xcm-based high-level standard and interface (ABI) for smart contracts | [GitHub](https://github.com/t3rn/t3rn) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Dante Network](https://www.dantechain.com/) | Dante Network | [GitHub](https://github.com/dantenetwork) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Verida](https://www.verida.io/) | Single Sign-On for Apps | [GitHub](https://github.com/verida) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Kami Ekbatanifard](https://github.com/Nick-1979/) | Polkadot js plus / Nomination pools | [GitHub](https://github.com/Nick-1979/polkadot-Js-Plus-extension/wiki) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Afloat Inc](https://stayafloat.io/#/) | Tax Infrastructure Polkadot Integration | N/A |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [gmajor](https://github.com/gmajor-encrypt) | SCALE Codec Comparator | [GitHub](https://github.com/gmajor-encrypt) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Rusty Crewmates](http://rustycrewmates.com/) | Substrate Tutorials | [GitHub](https://github.com/rusty-crewmates/substrate-tutorials) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Sequester](https://github.com/SequesterChain) | A Common-Good Carbon Sink on Polkadot | [GitHub](https://github.com/SequesterChain/pallets) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Keysafe Network](https://github.com/keysafe-protocol) | A decentralized protocol for private key custody and crypto asset management | [GitHub](https://github.com/keysafe-protocol) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Fennel Labs](https://fennellabs.com/) | Whiteflag on Fennel Protocol | [GitHub](https://github.com/fennelLabs) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Relationlabs](https://relationlabs.ai/#/home) | Relation Graph | [GitHub](https://github.com/relationlabs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Decentration](https://kabocha.network) | Supersig | [GitHub](https://github.com/kabocha-network) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Web3 Labs Ltd](https://www.web3labs.com/epirus-explorer) | Epirus Substrate Explorer | [GitHub](https://github.com/web3labs) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [SuperColony](https://github.com/Supercolony-net) | Sol2Ink | [GitHub](https://github.com/Supercolony-net) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [SuperColony](https://github.com/Supercolony-net) | OpenBrush Phase 3 | [GitHub](https://github.com/Supercolony-net) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [FS](https://fair-squares.nl/) | Fair Squares | [GitHub](https://github.com/Fair-squares) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Ideal Labs](https://www.idealabs.network/) | Iris: Phase 2 | [GitHub](https://github.com/ideal-lab5) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [NeoPower](https://www.neopower.digital/) | Roloi: Stream money from one wallet to another | [GitHub](https://github.com/RoloiMoney) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Tribal Protocol Labs](https://www.tribal.fyi/) | Tribal Protocol Smart Contract Development | [GitHub](https://github.com/tribal-protocol) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Yahuang Wu](https://github.com/wuyahuang) | Dual-Key Stealth Address Protocol | [GitHub](https://github.com/wuyahuang) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [UNIVERSALDOT FOUNDATION](https://universaldot.foundation) | Universaldot.me Phase 2 | [GitHub](https://github.com/UniversalDot) |
  • [x]
|
  • [ ]
|
  • [ ]
| -| [Societal Labs Ltd.](https://www.sctl.xyz/) | Societal - MVP - Phase 1 | [GitHub](https://github.com/sctllabs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Faceless Protocol](https://github.com/HeisenbergLin22) | Faceless Protocol | [GitHub](https://github.com/HeisenbergLin22) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [SuperColony](https://github.com/Supercolony-net) | Typechain | [GitHub](https://github.com/Supercolony-net/typechain-polkadot) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Codelight](https://massbit.io/) | Massbit Route | [GitHub](https://github.com/massbitprotocol/massbitroute) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Hypha Hashed Partners](https://hypha.earth/) | Social Recovery Wallet | [GitHub](https://github.com/hypha-dao) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [MangoBOX labs](http://mangobox.xyz/) | MangoBOX Protocol | [GitHub](https://github.com/Mangoboxlabs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| - -## :surfing_woman: Wave 15 - Third Quarter 2022 +| [TDSoftware](https://www.tdsoftware.de/) | SubIdentity | [GitHub](https://github.com/TDSoftware) | ☐ | ☒ | ☒ | +| [ChainSafe Systems](https://chainsafe.io/) | SubstrateSnap Maintenance Proposal | [GitHub](https://github.com/ChainSafe/metamask-snap-polkadot) | ☐ | ☒ | ☒ | +| [HugoByte](https://hugobyte.com/) | Project Aurras - MVP - Phase 2 | [GitHub](https://github.com/HugoByte) | ☐ | ☐ | ☐ | +| [Perun Network](https://perun.network/) | Perun App Channels | [GitHub](https://github.com/perun-network/) | ☐ | ☒ | ☒ | +| [ChainSafe Systems](https://chainsafe.io/) | Privacy enhancement for Polkadot-js extension | [GitHub](https://github.com/ChainSafe) | ☐ | ☒ | ☒ | +| [BQP](https://qbitcoin.tech/) | Quantum Lock for QBITCOIN | [GitHub](https://github.com/bqpquantum/) | ☐ | ☐ | ☐ | +| [Simply VC](https://simply-vc.com.mt/) | PANIC Monitoring and Alerting For Blockchains | [GitHub](https://github.com/SimplyVC/panic) | ☐ | ☒ | ☒ | +| [Artree LLC](https://artree.co.jp/) | Zero Network | [GitHub](https://github.com/zero-network) | ☐ | ☐ | ☐ | +| [sigma prime](https://sigmaprime.io/) | Differential Fuzzer | [GitHub](https://github.com/sigp) | ☐ | ☐ | ☐ | +| [t3rn](https://www.t3rn.io/) | XBI - xcm-based high-level standard and interface (ABI) for smart contracts | [GitHub](https://github.com/t3rn/t3rn) | ☐ | ☒ | ☒ | +| [Dante Network](https://www.dantechain.com/) | Dante Network | [GitHub](https://github.com/dantenetwork) | ☐ | ☒ | ☐ | +| [Verida](https://www.verida.io/) | Single Sign-On for Apps | [GitHub](https://github.com/verida) | ☐ | ☐ | ☐ | +| [Kami Ekbatanifard](https://github.com/Nick-1979/) | Polkadot js plus / Nomination pools | [GitHub](https://github.com/Nick-1979/polkadot-Js-Plus-extension/wiki) | ☐ | ☒ | ☒ | +| [Afloat Inc](https://stayafloat.io/#/) | Tax Infrastructure Polkadot Integration | N/A | ☐ | ☒ | ☐ | +| [gmajor](https://github.com/gmajor-encrypt) | SCALE Codec Comparator | [GitHub](https://github.com/gmajor-encrypt) | ☐ | ☒ | ☐ | +| [Rusty Crewmates](http://rustycrewmates.com/) | Substrate Tutorials | [GitHub](https://github.com/rusty-crewmates/substrate-tutorials) | ☐ | ☒ | ☐ | +| [Sequester](https://github.com/SequesterChain) | A Common-Good Carbon Sink on Polkadot | [GitHub](https://github.com/SequesterChain/pallets) | ☐ | ☒ | ☒ | +| [Keysafe Network](https://github.com/keysafe-protocol) | A decentralized protocol for private key custody and crypto asset management | [GitHub](https://github.com/keysafe-protocol) | ☐ | ☐ | ☐ | +| [Fennel Labs](https://fennellabs.com/) | Whiteflag on Fennel Protocol | [GitHub](https://github.com/fennelLabs) | ☐ | ☒ | ☒ | +| [Relationlabs](https://relationlabs.ai/#/home) | Relation Graph | [GitHub](https://github.com/relationlabs) | ☐ | ☐ | ☐ | +| [Decentration](https://kabocha.network) | Supersig | [GitHub](https://github.com/kabocha-network) | ☐ | ☒ | ☐ | +| [Web3 Labs Ltd](https://www.web3labs.com/epirus-explorer) | Epirus Substrate Explorer | [GitHub](https://github.com/web3labs) | ☐ | ☒ | ☒ | +| [SuperColony](https://github.com/Supercolony-net) | Sol2Ink | [GitHub](https://github.com/Supercolony-net) | ☐ | ☐ | ☐ | +| [SuperColony](https://github.com/Supercolony-net) | OpenBrush Phase 3 | [GitHub](https://github.com/Supercolony-net) | ☐ | ☒ | ☐ | +| [FS](https://fair-squares.nl/) | Fair Squares | [GitHub](https://github.com/Fair-squares) | ☐ | ☒ | ☐ | +| [Ideal Labs](https://www.idealabs.network/) | Iris: Phase 2 | [GitHub](https://github.com/ideal-lab5) | ☐ | ☒ | ☐ | +| [NeoPower](https://www.neopower.digital/) | Roloi: Stream money from one wallet to another | [GitHub](https://github.com/RoloiMoney) | ☐ | ☒ | ☒ | +| [Tribal Protocol Labs](https://www.tribal.fyi/) | Tribal Protocol Smart Contract Development | [GitHub](https://github.com/tribal-protocol) | ☐ | ☒ | ☐ | +| [Yahuang Wu](https://github.com/wuyahuang) | Dual-Key Stealth Address Protocol | [GitHub](https://github.com/wuyahuang) | ☐ | ☒ | ☒ | +| [UNIVERSALDOT FOUNDATION](https://universaldot.foundation) | Universaldot.me Phase 2 | [GitHub](https://github.com/UniversalDot) | ☒ | ☐ | ☐ | +| [Societal Labs Ltd.](https://www.sctl.xyz/) | Societal - MVP - Phase 1 | [GitHub](https://github.com/sctllabs) | ☐ | ☐ | ☐ | +| [Faceless Protocol](https://github.com/HeisenbergLin22) | Faceless Protocol | [GitHub](https://github.com/HeisenbergLin22) | ☐ | ☒ | ☐ | +| [SuperColony](https://github.com/Supercolony-net) | Typechain | [GitHub](https://github.com/Supercolony-net/typechain-polkadot) | ☐ | ☒ | ☒ | +| [Codelight](https://massbit.io/) | Massbit Route | [GitHub](https://github.com/massbitprotocol/massbitroute) | ☐ | ☒ | ☐ | +| [Hypha Hashed Partners](https://hypha.earth/) | Social Recovery Wallet | [GitHub](https://github.com/hypha-dao) | ☐ | ☒ | ☐ | +| [MangoBOX labs](http://mangobox.xyz/) | MangoBOX Protocol | [GitHub](https://github.com/Mangoboxlabs) | ☐ | ☐ | ☐ | + +## 🏄‍♀️ Wave 15 - Third Quarter 2022 | Team | Project | Link | Terminated | First Delivery | Completed | :--- | :------ | :--- | :--------: | :------------: | :-------: | -| [QRUCIAL OÜ](https://qrucial.io/) | QRUCIAL DAO | [GitHub](https://github.com/Qrucial/QRUCIAL-DAO) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Polkadot js plus](http://polkadotjs.plus/) | Polkadot js plus / Social Recovery Wallet | [GitHub](https://github.com/Nick-1979/polkadot-Js-Plus-extension/wiki) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Lee](https://github.com/rust-0x0) | Hex Space Social Graph | [GitHub](https://github.com/rust-0x0) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Liberland LLC](https://liberland.org/en/) | Liberland Pallets | [GitHub](https://github.com/liberland/liberland_substrate) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Standard Protocol](https://standard.tech/) | Signac - a monorepo plugin for developing multiple Parity ink! smart contracts | [GitHub](https://github.com/standardweb3/signac) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [B-Datagray](https://www.b-datagray.com/) | Datagen Project | [GitHub](https://github.com/Datagen-Project) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Colorful Notion](https://polkaholic.io/#chains) | Polkaholic.io's Multi-Chain Substrate Block Explorer | [GitHub](https://github.com/colorfulnotion/polkaholic/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Common Orbit LLC](https://brson.github.io) | `wasm-opt` for Rust | [GitHub](https://github.com/brson/wasm-opt-rs) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Blockcoders](https://blockcoders.io/) | Ink Explorer | [GitHub](https://github.com/blockcoders) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Equilibrium](https://equilibrium.co/) | Polkadot Light Client in C++ | [GitHub](https://github.com/eqlabs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Open rollup](https://github.com/openrollup-zk) | Open rollup - MVP - Phase 1 | [GitHub](https://github.com/openrollup-zk) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Veridise](https://veridise.com/) | Vanguard | [GitHub](https://github.com/Veridise/Vanguard) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Karolis Ramanauskas](https://krl.is/) | Generic Sybil-Resistant Faucet | [GitHub](https://github.com/karooolis) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [LimeChain](https://limechain.tech/) | Research feasibility for a Go Runtime | [GitHub](https://github.com/LimeChain) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Jim Yam](https://github.com/JimYam) | daos | [GitHub](https://github.com/daos-org/daos.git) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Green Lemon](https://github.com/GreenLemonProtocol) | Green Lemon Protocol | [GitHub](https://github.com/GreenLemonProtocol) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Stardust Labs Inc.](https://stardust.finance/) | Integrating ISO-8583 | [GitHub](https://github.com/adit313/) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [TwinP](https://www.linkedin.com/in/elioprifti/) | Escrow Pallet | [GitHub](https://github.com/herou) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Meta Defender Team](https://github.com/Meta-Defender/) | Meta Defender | [GitHub](https://github.com/Meta-Defender/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [ParaSpell](https://github.com/paraspell) | ParaSpell | [GitHub](https://github.com/paraspell) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Primis Labs](https://github.com/Primis-Labs) | Primis | [GitHub](https://github.com/Primis-Labs/client) |
  • [ ]
|
  • [x]
|
  • [x]
| -| [Uke](https://github.com/Uke-Messaging) | Uke Messaging - PoC - Phase 1 | [GitHub](https://github.com/Uke-Messaging) |
  • [x]
|
  • [ ]
|
  • [ ]
| -| [Redstone Network](https://github.com/difttt) | Redstone Network | [GitHub](https://github.com/difttt) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [JURIMETRIC TECNOLOGIA LTDA](https://www.jurimetric.com.br/) | Polkadart | [GitHub](https://github.com/rankanizer/polkadart) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Skye Kiwi](https://skye.kiwi/) | Choko Wallet | [GitHub](https://github.com/skyekiwi) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Popular Coding](https://www.popularcoding.com/) | Ventur | [GitHub](https://github.com/popular_coding) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Asylum](https://asylum.space/) | Asylum follow-up 1 | [GitHub](https://gitlab.com/asylum-space/) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [Cyril Carlier](https://github.com/CrommVardek) | Maki| [GitHub](https://github.com/CrommVardek) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [TopMonks](https://www.topmonks.com/) | Calamar| [GitHub](https://github.com/topmonks/calamar) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Bela Supernova](https://bsn.si/) | Rubeus Keeper| [GitHub](https://github.com/bsn-si) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Web3 Labs Ltd](https://www.web3labs.com/epirus-explorer) | Epirus Substrate Explorer - Phase 2 | [GitHub](https://github.com/web3labs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Uke](https://github.com/Uke-Messaging) | Uke Protocol PoC & App (revised) | [GitHub](https://github.com/Uke-Messaging) |
  • [ ]
|
  • [x]
|
  • [ ]
| -| [SuperColony](https://github.com/Supercolony-net) | Typechain Phase 2 | [GitHub](https://github.com/Supercolony-net/typechain-polkadot) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [QSTN](https://qstn.us/) | QSTN | [GitHub](https://github.com/qstnus) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [CESS LAB](https://www.cess.cloud/) | Substats (The framework of lightweight block explorer) | [GitHub](https://github.com/CESSProject) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Polket](https://toearn.fun) | ToEarnFun | [GitHub](https://github.com/polketio/polket-node) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| ALPHA LABS | Binary merkle tree | [GitHub](https://github.com/frisitano) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Standard Protocol](https://standard.tech/) | New Order - a full onchain orderbook dex with indexers | [GitHub](https://github.com/standardweb3) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [hack-ink](https://github.com/hack-ink) | Subalfred | [GitHub](https://github.com/hack-ink/subalfred) |
  • [ ]
|
  • [ ]
|
  • [ ]
| - -## :surfing_woman: Wave 16 - Fourth Quarter 2022 +| [QRUCIAL OÜ](https://qrucial.io/) | QRUCIAL DAO | [GitHub](https://github.com/Qrucial/QRUCIAL-DAO) | ☐ | ☐ | ☐ | +| [Polkadot js plus](http://polkadotjs.plus/) | Polkadot js plus / Social Recovery Wallet | [GitHub](https://github.com/Nick-1979/polkadot-Js-Plus-extension/wiki) | ☐ | ☒ | ☐ | +| [Lee](https://github.com/rust-0x0) | Hex Space Social Graph | [GitHub](https://github.com/rust-0x0) | ☐ | ☒ | ☐ | +| [Liberland LLC](https://liberland.org/en/) | Liberland Pallets | [GitHub](https://github.com/liberland/liberland_substrate) | ☐ | ☐ | ☐ | +| [Standard Protocol](https://standard.tech/) | Signac - a monorepo plugin for developing multiple Parity ink! smart contracts | [GitHub](https://github.com/standardweb3/signac) | ☐ | ☒ | ☒ | +| [B-Datagray](https://www.b-datagray.com/) | Datagen Project | [GitHub](https://github.com/Datagen-Project) | ☐ | ☐ | ☐ | +| [Colorful Notion](https://polkaholic.io/#chains) | Polkaholic.io's Multi-Chain Substrate Block Explorer | [GitHub](https://github.com/colorfulnotion/polkaholic/) | ☐ | ☐ | ☐ | +| [Common Orbit LLC](https://brson.github.io) | `wasm-opt` for Rust | [GitHub](https://github.com/brson/wasm-opt-rs) | ☐ | ☒ | ☒ | +| [Blockcoders](https://blockcoders.io/) | Ink Explorer | [GitHub](https://github.com/blockcoders) | ☐ | ☒ | ☐ | +| [Equilibrium](https://equilibrium.co/) | Polkadot Light Client in C++ | [GitHub](https://github.com/eqlabs) | ☐ | ☐ | ☐ | +| [Open rollup](https://github.com/openrollup-zk) | Open rollup - MVP - Phase 1 | [GitHub](https://github.com/openrollup-zk) | ☐ | ☐ | ☐ | +| [Veridise](https://veridise.com/) | Vanguard | [GitHub](https://github.com/Veridise/Vanguard) | ☐ | ☐ | ☐ | +| [Karolis Ramanauskas](https://krl.is/) | Generic Sybil-Resistant Faucet | [GitHub](https://github.com/karooolis) | ☐ | ☒ | ☒ | +| [LimeChain](https://limechain.tech/) | Research feasibility for a Go Runtime | [GitHub](https://github.com/LimeChain) | ☐ | ☒ | ☒ | +| [Jim Yam](https://github.com/JimYam) | daos | [GitHub](https://github.com/daos-org/daos.git) | ☐ | ☐ | ☐ | +| [Green Lemon](https://github.com/GreenLemonProtocol) | Green Lemon Protocol | [GitHub](https://github.com/GreenLemonProtocol) | ☐ | ☒ | ☐ | +| [Stardust Labs Inc.](https://stardust.finance/) | Integrating ISO-8583 | [GitHub](https://github.com/adit313/) | ☐ | ☒ | ☒ | +| [TwinP](https://www.linkedin.com/in/elioprifti/) | Escrow Pallet | [GitHub](https://github.com/herou) | ☐ | ☒ | ☒ | +| [Meta Defender Team](https://github.com/Meta-Defender/) | Meta Defender | [GitHub](https://github.com/Meta-Defender/) | ☐ | ☐ | ☐ | +| [ParaSpell](https://github.com/paraspell) | ParaSpell | [GitHub](https://github.com/paraspell) | ☐ | ☒ | ☒ | +| [Primis Labs](https://github.com/Primis-Labs) | Primis | [GitHub](https://github.com/Primis-Labs/client) | ☐ | ☒ | ☒ | +| [Uke](https://github.com/Uke-Messaging) | Uke Messaging - PoC - Phase 1 | [GitHub](https://github.com/Uke-Messaging) | ☒ | ☐ | ☐ | +| [Redstone Network](https://github.com/difttt) | Redstone Network | [GitHub](https://github.com/difttt) | ☐ | ☐ | ☐ | +| [JURIMETRIC TECNOLOGIA LTDA](https://www.jurimetric.com.br/) | Polkadart | [GitHub](https://github.com/rankanizer/polkadart) | ☐ | ☐ | ☐ | +| [Skye Kiwi](https://skye.kiwi/) | Choko Wallet | [GitHub](https://github.com/skyekiwi) | ☐ | ☐ | ☐ | +| [Popular Coding](https://www.popularcoding.com/) | Ventur | [GitHub](https://github.com/popular_coding) | ☐ | ☒ | ☐ | +| [Asylum](https://asylum.space/) | Asylum follow-up 1 | [GitHub](https://gitlab.com/asylum-space/) | ☐ | ☒ | ☐ | +| [Cyril Carlier](https://github.com/CrommVardek) | Maki| [GitHub](https://github.com/CrommVardek) | ☐ | ☐ | ☐ | +| [TopMonks](https://www.topmonks.com/) | Calamar| [GitHub](https://github.com/topmonks/calamar) | ☐ | ☐ | ☐ | +| [Bela Supernova](https://bsn.si/) | Rubeus Keeper| [GitHub](https://github.com/bsn-si) | ☐ | ☐ | ☐ | +| [Web3 Labs Ltd](https://www.web3labs.com/epirus-explorer) | Epirus Substrate Explorer - Phase 2 | [GitHub](https://github.com/web3labs) | ☐ | ☐ | ☐ | +| [Uke](https://github.com/Uke-Messaging) | Uke Protocol PoC & App (revised) | [GitHub](https://github.com/Uke-Messaging) | ☐ | ☒ | ☐ | +| [SuperColony](https://github.com/Supercolony-net) | Typechain Phase 2 | [GitHub](https://github.com/Supercolony-net/typechain-polkadot) | ☐ | ☐ | ☐ | +| [QSTN](https://qstn.us/) | QSTN | [GitHub](https://github.com/qstnus) | ☐ | ☐ | ☐ | +| [CESS LAB](https://www.cess.cloud/) | Substats (The framework of lightweight block explorer) | [GitHub](https://github.com/CESSProject) | ☐ | ☐ | ☐ | +| [Polket](https://toearn.fun) | ToEarnFun | [GitHub](https://github.com/polketio/polket-node) | ☐ | ☐ | ☐ | +| ALPHA LABS | Binary merkle tree | [GitHub](https://github.com/frisitano) | ☐ | ☐ | ☐ | +| [Standard Protocol](https://standard.tech/) | New Order - a full onchain orderbook dex with indexers | [GitHub](https://github.com/standardweb3) | ☐ | ☐ | ☐ | +| [hack-ink](https://github.com/hack-ink) | Subalfred | [GitHub](https://github.com/hack-ink/subalfred) | ☐ | ☐ | ☐ | + +## 🏄‍♀️ Wave 16 - Fourth Quarter 2022 | Team | Project | Link | Terminated | First Delivery | Completed | :--- | :------ | :--- | :--------: | :------------: | :-------: | -| [CrossChain Labs](https://github.com/CrossChainLabs) | DotPulse | [GitHub](https://github.com/CrossChainLabs) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Jett Hays](https://github.com/jettblu) | Distributed Key Management | [GitHub](https://github.com/KryptikApp) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [NexToken Technology](https://github.com/NexTokenTech) | TREX - Timed Release Encryption Xing chains | [GitHub](https://github.com/NexTokenTech/TREX) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Blockcoders](http://blockcoders.io/) | Cross-Consensus Messaging Software Development Kit | [GitHub](https://github.com/blockcoders) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Keystone Wallet](https://keyst.one/) | Polkadot Snap | [GitHub](https://github.com/KeystoneHQ) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [LeetCoin](https://www.leetcoin.co/) | LeetCoin | [GitHub](https://github.com/nashhq/leetcoin) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [727.ventures](https://github.com/727-Ventures) | Sol2Ink Phase 2 | [GitHub](https://github.com/727-Ventures) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [walt.id](https://walt.id/) | NFT infrastructure | [GitHub](https://github.com/walt-id) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [SydTek](https://sydtek.ai/) | Digital Inheritance in Web3: A Case Study of Soulbound Tokens and Social Recovery Pallets | N/A |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Anagolay](https://anagolay.network/) | Multi-token community contributions for verified creators | [GitHub](https://github.com/anagolay) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Ink Contracts Wizard Team](https://github.com/amankumar1008/contracts-wizard) | Ink Smart Contract Wizard | [GitHub](https://github.com/amankumar1008/contracts-wizard) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [TDSoftware](https://www.tdsoftware.de/) | Substrate IPFS Utilities | [GitHub](https://github.com/TDSoftware) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [Ink Boxes Team](https://github.com/nerdsince98) | Ink Boxes | [GitHub](https://gitlab.com/nerdsince98/learning-ink/) |
  • [ ]
|
  • [ ]
|
  • [ ]
| -| [ParaSpell](https://github.com/paraspell) | ParaSpell Phase 2 | [GitHub](https://github.com/paraspell) |
  • [ ]
|
  • [ ]
|
  • [ ]
| +| [CrossChain Labs](https://github.com/CrossChainLabs) | DotPulse | [GitHub](https://github.com/CrossChainLabs) | ☐ | ☐ | ☐ | +| [Jett Hays](https://github.com/jettblu) | Distributed Key Management | [GitHub](https://github.com/KryptikApp) | ☐ | ☐ | ☐ | +| [NexToken Technology](https://github.com/NexTokenTech) | TREX - Timed Release Encryption Xing chains | [GitHub](https://github.com/NexTokenTech/TREX) | ☐ | ☐ | ☐ | +| [Blockcoders](http://blockcoders.io/) | Cross-Consensus Messaging Software Development Kit | [GitHub](https://github.com/blockcoders) | ☐ | ☐ | ☐ | +| [Keystone Wallet](https://keyst.one/) | Polkadot Snap | [GitHub](https://github.com/KeystoneHQ) | ☐ | ☐ | ☐ | +| [LeetCoin](https://www.leetcoin.co/) | LeetCoin | [GitHub](https://github.com/nashhq/leetcoin) | ☐ | ☐ | ☐ | +| [727.ventures](https://github.com/727-Ventures) | Sol2Ink Phase 2 | [GitHub](https://github.com/727-Ventures) | ☐ | ☐ | ☐ | +| [walt.id](https://walt.id/) | NFT infrastructure | [GitHub](https://github.com/walt-id) | ☐ | ☐ | ☐ | +| [SydTek](https://sydtek.ai/) | Digital Inheritance in Web3: A Case Study of Soulbound Tokens and Social Recovery Pallets | N/A | ☐ | ☐ | ☐ | +| [Anagolay](https://anagolay.network/) | Multi-token community contributions for verified creators | [GitHub](https://github.com/anagolay) | ☐ | ☐ | ☐ | +| [Ink Contracts Wizard Team](https://github.com/amankumar1008/contracts-wizard) | Ink Smart Contract Wizard | [GitHub](https://github.com/amankumar1008/contracts-wizard) | ☐ | ☐ | ☐ | +| [TDSoftware](https://www.tdsoftware.de/) | Substrate IPFS Utilities | [GitHub](https://github.com/TDSoftware) | ☐ | ☐ | ☐ | +| [Ink Boxes Team](https://github.com/nerdsince98) | Ink Boxes | [GitHub](https://gitlab.com/nerdsince98/learning-ink/) | ☐ | ☐ | ☐ | +| [ParaSpell](https://github.com/paraspell) | ParaSpell Phase 2 | [GitHub](https://github.com/paraspell) | ☐ | ☐ | ☐ | From 08e60c4b451e7a5f936c037e4c07b00ac6b1a493 Mon Sep 17 00:00:00 2001 From: S E R A Y A Date: Fri, 11 Nov 2022 16:16:05 +0100 Subject: [PATCH 0260/1872] Update accepted_grant_applications.md Accept Subalfred M1 --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index a5747aa5b94..df4b35f6398 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -549,7 +549,7 @@ | [Polket](https://toearn.fun) | ToEarnFun | [GitHub](https://github.com/polketio/polket-node) | ☐ | ☐ | ☐ | | ALPHA LABS | Binary merkle tree | [GitHub](https://github.com/frisitano) | ☐ | ☐ | ☐ | | [Standard Protocol](https://standard.tech/) | New Order - a full onchain orderbook dex with indexers | [GitHub](https://github.com/standardweb3) | ☐ | ☐ | ☐ | -| [hack-ink](https://github.com/hack-ink) | Subalfred | [GitHub](https://github.com/hack-ink/subalfred) | ☐ | ☐ | ☐ | +| [hack-ink](https://github.com/hack-ink) | Subalfred | [GitHub](https://github.com/hack-ink/subalfred) | ☐ | ☒ | ☐ | ## 🏄‍♀️ Wave 16 - Fourth Quarter 2022 From a243381ecf49c64b89109236c7f5b441dd321a9c Mon Sep 17 00:00:00 2001 From: yyd106 Date: Mon, 14 Nov 2022 17:00:14 +0800 Subject: [PATCH 0261/1872] Update keysafe_network.md (#1274) --- applications/keysafe_network.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/applications/keysafe_network.md b/applications/keysafe_network.md index 67854b44e5f..fa6b305b2e0 100644 --- a/applications/keysafe_network.md +++ b/applications/keysafe_network.md @@ -131,13 +131,13 @@ The relevant [RFP is here](https://github.com/w3f/Grants-Program/blob/master/rfp ### Overview -- **Total Estimated Duration:** 3 months +- **Total Estimated Duration:** 8 months - **Full-Time Equivalent (FTE):** 3 - **Total Costs:** $27,000 (payable in Ethereum-USDT) ### Milestone 1 — Implement On-chain Modules -* **Estimated duration:** 2 month +* **Estimated duration:** 6 month * **FTE:** 3 * **Costs:** 15,000USD @@ -153,7 +153,7 @@ The relevant [RFP is here](https://github.com/w3f/Grants-Program/blob/master/rfp | 4. | Web Server | Provide meta-data management service for Keysafe users written in Rust, users can manage keys and authentication methods | | 5. | Polkadot.js | Add in encryption/decryption functionality to `@polkadot/keyring` and `@polkadot/extension` so that the protocol can run without the needs to read the private key of users. | -* **Estimated duration:** 1 month +* **Estimated duration:** 2 month * **FTE:** 3 * **Costs:** 12,000USD From f1d600bee5172d282c8566a661a12d94f1c4a9d6 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 14 Nov 2022 14:37:54 +0100 Subject: [PATCH 0262/1872] Update README.md Remove ink! and substrate, since we would support any polkadot native smart contract language or runtime development framework --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8dba583e05b..71eeefde22e 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ ## :wave: Introduction -As part of our commitment to promoting the Web3 ecosystem, we offer a comprehensive grants program focused on funding software development and research efforts related to **Polkadot, Kusama, [Substrate](https://github.com/paritytech/substrate) and [ink!](https://github.com/paritytech/ink)**. For more information about the Web3 Foundation, please visit the [About page](https://web3.foundation/about/) on our website. +As part of our commitment to promoting the Web3 ecosystem, we offer a comprehensive grants program focused on funding software development and research efforts related to **Polkadot and Kusama**. For more information about the Web3 Foundation, please visit the [About page](https://web3.foundation/about/) on our website. ### Guidelines From 526328ef8e95ec19e10508408ec5005052b884c8 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 14 Nov 2022 16:14:59 +0100 Subject: [PATCH 0263/1872] Update README.md Add Nabil --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 71eeefde22e..bee7bdb7e39 100644 --- a/README.md +++ b/README.md @@ -101,6 +101,7 @@ In cases where a niche expert opinion is desirable, one of the committee members Evaluators are individuals able to evaluate the technology delivered as a result of the Grants Program. The committee has the right to add or remove evaluators on the basis of supermajority. +- [Nabil Abdellaoui](https://github.com/randombishop) - [David Hawig](https://github.com/Noc2) - [Diogo Mendonça](https://github.com/dsm-w3f) - [Sebastian Müller](https://github.com/semuelle) From dc2f9743c772644953c002764a3d744b241310d5 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 14 Nov 2022 16:17:59 +0100 Subject: [PATCH 0264/1872] Update README.md Adding Matteo Casonato --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bee7bdb7e39..c26f5001e86 100644 --- a/README.md +++ b/README.md @@ -102,6 +102,7 @@ In cases where a niche expert opinion is desirable, one of the committee members Evaluators are individuals able to evaluate the technology delivered as a result of the Grants Program. The committee has the right to add or remove evaluators on the basis of supermajority. - [Nabil Abdellaoui](https://github.com/randombishop) +- [Matteo Casonato](https://github.com/0xCaso) - [David Hawig](https://github.com/Noc2) - [Diogo Mendonça](https://github.com/dsm-w3f) - [Sebastian Müller](https://github.com/semuelle) From e3a1e7b01ffd3469077209605a9262da4d314d48 Mon Sep 17 00:00:00 2001 From: Bu <116880440+budtr@users.noreply.github.com> Date: Mon, 14 Nov 2022 22:36:02 +0700 Subject: [PATCH 0265/1872] Add SubRelay application (#1252) * Add SubRelay application * Change SubRelay application --- applications/subrelay.md | 538 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 538 insertions(+) create mode 100644 applications/subrelay.md diff --git a/applications/subrelay.md b/applications/subrelay.md new file mode 100644 index 00000000000..d709988089a --- /dev/null +++ b/applications/subrelay.md @@ -0,0 +1,538 @@ +# SubRelay + +- **Team Name:** SubRelay +- **Payment Address:** 0x1aE740dC9F0F2f7404feA35bEb0D59105B9121Cf (USDT - Ethereum Network) +- **Level:** 2 + +## Project Overview :page_facing_up: + +### Overview +SubRelay is a no-code solution to build automation workflows on any Substrate-based chain. The application helps users to create their off-chain automated workflows by subscribing to on-chain events through the interface. We aimed to make the app easy for average users but remain a powerful tool for advanced users. With this in mind, we designed Subrelay to be generic and flexible with any use cases. Additionally, the SubRelay can integrate with any runtime of any blockchain building on the Substrate, such as Polkadot, Kusama, and Statemine. + +The app was motivated by our desire to monitor the on-chain events and send webhook requests to our internal system. We wanted to build a solution that not only can solve our problems but also benefit the entire ecosystem of Substrate/Polkadot. Our vision is to make SubRelay the most popular event relay service for any chain in the Polkadot ecosystem. + +### Project Details +#### Wireframe +##### Welcome screen & authentication + +image + + +image + +##### Workflow list + +image + +##### Create a new workflow +###### 1. Trigger + +image + +image + +image + +image + +image + +image + + +###### 2. Action + +image + +image + +image + +image + +##### Executions history + +image + + +#### Database schema + +``` + +Table user { + id varchar [pk] + address varchar +} + +Table chain { + uuid varchar [pk] + chain_id varchar // chain_id in block + created_at datetime + version varchar + name varchar + img_url varchar + config jsonb + latest boolean +} + +Table event { + id varchar [pk] + chain_uuid varchar + name varchar + description varchar + fields jsonb + sample jsonb +} + +Table workflow { + id varchar [pk] + user_id varchar + created_at datetime + updated_at datetime + status varchar +} + +Table workflow_log { + id varchar [pk] + started_at datetime + finished_at datetime + workflow_version_id varchar + input jsonb + status varchar +} + +Table workflow_version { + id varchar [pk] + workflow_id varchar + name varchar + chain_uuid varchar + created_at datetime + version varchar +} + +Table task_log { + task_id varchar pk + workflow_log_id varchar pk + started_at_at varchar + finished_at datetime + status boolean + output jsonb + input jsonb + } + +Table task { + id varchar [pk] + name varchar + workflow_version_id varchar + type varchar + config jsonb + depend_on varchar + } + +Ref: chain.uuid > event.chain_uuid +Ref: task.id > task_log.task_id +Ref: user.id > workflow.user_id +Ref: chain.uuid > workflow_version.chain_uuid +Ref: workflow_version.id > task.workflow_version_id +Ref: task.id > task.depend_on +Ref: workflow_version.workflow_id > workflow.id +Ref: workflow_log.workflow_version_id > workflow_version.id +Ref: workflow_log.id > task_log.workflow_log_id + +``` + + +#### API specs +##### ***GET** /chains* + +- Response +```json + [ + { + "uuid": "849e9dec-5ab8-11ed-9b6a-0242ac120002", + "name": "Polkadot", + "img_url": "string", + "version": "v1.2.0", + } + ] +``` + +##### ***GET** /chains/{chain_uuid}/events* + +- Response +```json + [ + { + "id": "849e9dec-5ab8-11ed-9b6a-0242ac120002", + "name": "balances.deposit", + "description": "string", + }, + { + "id": "849e9dec-5ab8-11ed-9b6a-0242ac120002", + "name": "balances.transfers", + "description": "string", + }, + { + "id": "849e9dec-5ab8-11ed-9b6a-0242ac120002", + "name": "ntf.minted", + "description": "string", + } + ] +``` + + +##### ***GET** /chains/{chain_uuid}/events/{event_id}* + +- Response +```json + { + "id": 123, + "name": "balances.deposit", + "description": "string", + "fields": [ + { + "name": "data.who", + "type": "string", + "description": "who sent" + }, + { + "name": "data.amount", + "type": "number", + "description": "" + }, + { + "name": "status", + "type": "string", + "description": "status of this event" + }, + { + "name": "extrinsic.name", + "type": "string", + "description": "this event belong to this extrinsic" + } + ], + "sample": { + "id": 123, + "name": "balances.deposit", + "description": "", + "data": { + "who": "", + "amount": 123 + }, + "status": "success", + "extrinsic": { + "name": "balances.deposit" + }, + "block": { + "hash": "", + "number": 123, + "timestamp": "" + } + } + } +``` + +##### ***GET** /workflows* + +- Query params + +| **Query Param** | **Description** | **Example** | +| ---| ---| --- | +| limit | The number of workflows per page | 10 | +| offset | page | 0 | +| search | Search workflow by name | "foo" | +| chain\_uuid | Filter workflows by chain UUID | 2 | +| status | Filter workflows by status. | "running" | + +- Response + +```json +{ + "workflows": [ + { + "id": 10, + "name": "name 1", + "chain": { + "uuid": "uasdasdsd", + "name": "Acala" + }, + "created_at": "2022-11-02T03:12:39.018Z", + "updated_at": "2022-11-02T03:12:39.018Z", + "status": "running" + } + ], + "limit": 10, + "offset": 0, + "total": 1 +} + +``` + +##### ***POST** /workflows* +- Request body +```json +{ + "name": "workflow 1", + "tasks": [ + { + "name": "trigger 1", + "type": "trigger", + "config": { + "event": "balances.deposit", + "chain_uuid": 1, + "conditions": [ + [ + { + "variable": "data.amount", + "operator": "greaterThan", + "value": 1 + } + ], + [ + { + "variable": "data.amount", + "operator": "lessThan", + "value": 10 + } + ] + ] + }, + "depend_on_name": null + }, + { + "name": "notify webhook", + "type": "notification", + "config": { + "channel": "webhook", + "config": { + "headers": { + "API_KEY": "encrypted" + } + "url": "https://webhook.com" + }, + "depend_on_name": "trigger 1" + } + } + ] +} +``` + +- Response +```json +{ + "id": 22, + "created_at": "2022-11-02T03:12:39.018Z", + "updated_at": "2022-11-02T03:12:39.018Z", + "status": "running", + "name": "workflow 1", + "chain": { + "uuid": "asdasdasd", + "name": "Acala" + }, + "tasks": [ + { + "id": 1, + "name": "trigger 1", + "type": "trigger", + "config": { + "event": "balances.deposit", + "chain_uuid": "asdasdasd", + "conditions": [ + [ + { + "variable": "data.amount", + "operator": "greaterThan", + "value": 1 + } + ], + [ + { + "variable": "data.amount", + "operator": "lessThan", + "value": 10 + } + ] + ] + }, + "depend_on": null + }, + { + "name": "notify webhook", + "type": "notification", + "config": { + "channel": "webhook", + "config": { + "headers": { + "API_KEY": "encrypted" + }, + "url": "https://webhook.com" + }, + "depend_on": 1 + } + } + ] +} +``` +##### ***DELETE** /workflows/{workflow_id}* +##### ***GET** /workflow/logs* +- Query params + +| **Query Param** | **Description** | **Example** | +| ---| ---| --- | +| limit | The number of logs per page | 10 | +| offset | page | 0 | +| search | Search logs by workflow name | "foo" | +| chain_uuid | Filter logs by workflow's chain uuid | 2 | +| status | Filter logs by status. | "running" | + +- Response + +```json +{ + "logs": [ + { + "id": 10, + "workflow": { + "id": 10, + "name": "name 1", + "chain": { + "id": 1, + "name": "Acala" + }, + }, + "started_at": "2022-11-02T03:12:39.018Z", + "finished_at": "2022-11-02T03:12:39.018Z", + "status": "success" + }, + { + "id": 11, + "workflow": { + "id": 10, + "name": "name 1", + "chain": { + "id": 1, + "name": "Acala" + }, + }, + "started_at": "2022-11-02T03:12:39.018Z", + "finished_at": "2022-11-02T03:12:39.018Z", + "status": "failed" + } + ], + "limit": 10, + "offset": 0, + "total": 2 +} +``` + + +#### Techstack +- Front-end: [Vue.js](https://vuejs.org/), [Quasar Framework](https://quasar.dev/) +- Back-end: + - API Framework: Node, [Nest](https://github.com/nestjs/nest) + - Database: [PostgreSQL](https://www.postgresql.org/) + - Queue: Redis + - Infrastructure: Docker + +### Ecosystem Fit + +As mentioned above, SubRelay can integrate with any Substrate-based chain, bringing a massive benefit to the Substrate/Polkadot ecosystem. + +There is a wide range of our target users, but we think there are a few main groups of the user: +- **Normal blockchain user:** The interface of SubRelay is designed to support normal users who want to do a simple task such as watching the change in their balance by setting a notification. + +- **Crypto experts:** Although SubRelay's interface is easy to use to support normal users who need a simple workflow, it also is a powerful tool for experts. There is no limitation on what can build with SubRelay. For example, a defi farmer can monitor their liquidity pools, borrowing, and lending positions, or an NFT trader can watch their favorite collections' prices. + +- **Developers/ Team:** From the developer's perspective, there is no easy way to integrate an existing system with a blockchain. Our solution will help the teams save time and resources to focus on solving their business requirements instead of wasting their time building a service to integrate with the chain. + +Web3Go MoonPush looks similar to our project, but SubRelay is more generic and flexible. There are a few key differences: +- SubRelay can integrate with any Substrate-based chain. +- SubRelay supports subscribing to any runtime events. +- SubRelay provides a highly customizable event filter and action configuration. +- SubRelay has log systems that allow users to manage workflow performance by recording all success and failure pipelines. + +## Team :busts_in_silhouette: + +### Team members +- Chi Tran - Team Leader +- Anh Thi Chieu +- Bu Le + +### Contact + +- **Contact Name:** Tran Thi Diem Chi +- **Contact Email:** ttdiemchi@gmail.com +- **Website:** http://subrelay.xyz + +### Legal Structure +We are very early and have not set up a legal identity. If necessary, we will set it up as soon as possible. Otherwise, we want to spend our resources on product development. + +### Team's experience +Our team has five-year experience in software development for SaaS startups, and provide custom enterprise solutions for top brands. We also have been spending more than a year in blockchain research and development so far. With these experiences, we know the best way to build a great product that connects web2 to web3. + +### Team Code Repos + +**Organization repos** +- https://github.com/subrelay +- https://github.com/subrelay/subrelay-api +- https://github.com/subrelay/interface + +**Team members** +- https://github.com/chidtr +- https://github.com/anhthichieu +- https://github.com/budtr + +## Development Roadmap :nut_and_bolt: +### Overview + +- **Total Estimated Duration:** 5 months +- **Full-Time Equivalent (FTE):** 1.5 +- **Total Costs:** 30,000 USD + +### Milestone 1: Core functions + +- **Estimated duration:** 2.5 months +- **FTE:** 1,5 +- **Costs:** 15000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | MIT | +| 0b. | Documentation | We will provide a basic tutorial that explains the concept of SubRelay, how to create a workflow, and other features | +| 0d. | Docker | We will provide a Dockerfile(s) for the self-hosted version | +| 1. | Feature: Authentication by PolkadotJs wallet | The dashboard and api will allow user to authentication by PolkadotJs wallet| +| 2. | Feature: Create a new workflow | Create a new workflow page which the same as the wireframe above. But Email, Telegram and Discord integrations will not in scope of this milestone.| +| 3. | Feature: List of workflows | A page display workflows of user same as the wireframe above.| +| 4. | Feature: Executions of workflows | A page display workflows execution history of user same as the wireframe above. | +| 5. | API | We will release an api version which include create workflow, list workflow and list workflow executions. | +| 6. | Integration | We will integrate the interface features (listed in 1, 2, 3, 4) with the api. | + + +### Milestone 2: Extensions development and testing + +- **Estimated duration:** 2,5 months +- **FTE:** 1,5 +- **Costs:** 15000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | MIT | +| 0b. | Documentation | We will provide the tutorial for the new features added in milestone 2 | +| 0c. | Testing and Testing Guide | The interface and API will be covered by unit tests and e2e tests. We will provide documentation on how to run the tests and setup CI to run the tests | +| 0d. | Docker | We will release a new Docker file which includes new features added in milestone 2 | +| 0e. | Article | We will publish an article that explains the concepts and features of SubRelay, and the grant | +| 1. | Feature: Email integration | Integrate with Email to send the notification about on-chain event.| +| 2. | Feature: Telegram integration | Integrate with Telegram to send the notification about on-chain event.| +| 3. | Feature: Discord integration | Integrate with Discord to send the notification about on-chain event. | +| 4. | Feature: Workflow execution detail | A page display workflow execution in detail.| +| 5. | API | We will release an api version which include email, telegram, discord integration and workflow exection detail | +| 6. | Integration | We will integrate the interface features (listed in 1, 2, 3, 4) with the api. | + +## Future Plans + +In the short-term plan, we will launch a community cloud version to get the tractions and feedback from the users to improve the product. +We will add more features such as parallel workflow, workflow templates, and user onboarding processes for the long-term plan. + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** Web3 Foundation Website From 31bbb77e64ea6be59621dbedca146e097ab51c9f Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 14 Nov 2022 16:55:23 +0100 Subject: [PATCH 0266/1872] Update accepted_grant_applications.md Add SubRelay --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index df4b35f6398..746c28cfad3 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -569,4 +569,5 @@ | [TDSoftware](https://www.tdsoftware.de/) | Substrate IPFS Utilities | [GitHub](https://github.com/TDSoftware) | ☐ | ☐ | ☐ | | [Ink Boxes Team](https://github.com/nerdsince98) | Ink Boxes | [GitHub](https://gitlab.com/nerdsince98/learning-ink/) | ☐ | ☐ | ☐ | | [ParaSpell](https://github.com/paraspell) | ParaSpell Phase 2 | [GitHub](https://github.com/paraspell) | ☐ | ☐ | ☐ | +| [SubRelay](http://subrelay.xyz/) | SubRelay | [GitHub](https://github.com/subrelay) | ☐ | ☐ | ☐ | From e80ead2e3159fb4e0707fa2e274d884cd9648d71 Mon Sep 17 00:00:00 2001 From: Loaki07 <66478092+Loaki07@users.noreply.github.com> Date: Mon, 14 Nov 2022 21:34:30 +0530 Subject: [PATCH 0267/1872] Followup Grant Proposal - Dot Marketplace Phase 3: Milestone updates with decentralized court + decentralized storage + advanced search (#1205) * Create dot_marketplace-Phase3.md * Updated technical details for pallet/server/UI for each milestone * Update applications/dot_marketplace-Phase3.md Co-authored-by: S E R A Y A * Update applications/dot_marketplace-Phase3.md Co-authored-by: S E R A Y A * Update applications/dot_marketplace-Phase3.md Co-authored-by: S E R A Y A Co-authored-by: S E R A Y A --- applications/dot_marketplace-Phase3.md | 222 +++++++++++++++++++++++++ 1 file changed, 222 insertions(+) create mode 100644 applications/dot_marketplace-Phase3.md diff --git a/applications/dot_marketplace-Phase3.md b/applications/dot_marketplace-Phase3.md new file mode 100644 index 00000000000..3dd09dc87da --- /dev/null +++ b/applications/dot_marketplace-Phase3.md @@ -0,0 +1,222 @@ +# Dot Marketplace v2 + +- **Status:** Open +- **Project Name:** Dot Marketplace +- **Team Name:** Wow Labz +- **Payment Address:** 0xF13001401396AA866E8012f31fD939C7E83B8601 (USDT - ERC20) +- **Level:** 2 + +### Overview + +Links To Previous Approved Grants: +- [Phase 1](https://github.com/w3f/Grants-Program/blob/master/applications/dot_marketplace.md) +- [Phase 2](https://github.com/w3f/Grants-Program/blob/master/applications/dot_marketplace-phase2.md) + +This is phase 3 of Dot Marketplace, which is a general-purpose decentralized marketplace created as a Substrate pallet. + +- Dot Marketplace can be used by any decentralized project to float tasks and invite their community members to execute them for a reward. Its POC was developed during the Polkadot India Buildathon (2021). +- In the previous phases we have built a decentralised bounty platform and a decentralised court for dispute resolution. More details can be found on the respective grant proposals shared above. + + +### Project Details + +The current scope of work involves **milestone-based submissions** in which a project is divided into multiple configurable milestones(min 1 and max 5) to allow parallel or sequential execution. + +- Each project must have at least one milestone and can have a maximum of five milestones (configurable) +- Each milestone has its independent bidding system where multiple workers can place their bids +- The publisher can select a bid as per the requirement and ratings of the worker and other criteria that can be added to a user account. +- A worker can bid for multiple milestones of a single project based on their expertise. +- A project reaches completion only if all milestones in the project are completed and approved by the publisher. +- In our current implementation all milestones are independent, hence they can be completed and approved by the publisher irrespective of the overall project status. +- Based on the requirements, a publisher can add more milestones to a project even after it is pushed to the market, provided the total number of milestones does not exceed 5 (configurable) +- Decentralized IPFS Storage for project materials using NFTStorage Provider. Each material will have a unique CID that can be accessed by both Publisher and Worker. +- Advance Search by task tags, ids & title. +- The [decentralized court](https://github.com/WowLabz/dot-marketplace-v2) implemented in phase 2 is functional for each milestone of a project +- All of the above features will be updated as a new feature for the existing marketplace pallet. Similarly, the selekatal UI will be updated to showcase the same. +- A new file server written using the rocket framework will be provided for the integration with IPFS (using NftStorage). + +The flow of tasking pallet with milestone based submission + +![Tasking-Court-Flow4 drawio](https://user-images.githubusercontent.com/66478092/190300655-1d2085b3-b728-4ced-8238-f262a9c5c5f8.png) + + +### **Repository Hierarchy** + +```bash +node +├── build.rs +├── Cargo.toml +└── src + ├── chain_spec.rs + ├── cli.rs + ├── command.rs + ├── lib.rs + ├── main.rs + ├── rpc.rs + └── service.rs +pallets +├── pallet-chat +│ ├── Cargo.toml +│ ├── README.md +│ └── src +│ ├── benchmarking.rs +│ ├── lib.rs +│ ├── mock.rs +│ └── tests.rs +└── pallet-tasking + ├── Cargo.toml + ├── README.md + └── src + ├── benchmarking.rs + ├── lib.rs + ├── mock.rs + ├── utils.rs + └── tests.rs +runtime +├── build.rs +├── Cargo.toml +└── src + └── lib.rs +``` + +The current focus is to enhance the existing Substrate pallet and allied code base to get a basic yet functional marketplace up and running. + +### **Ecosystem Fit** + +We believe this work could be helpful for any Polkadot parachains/parathreads interested in including a marketplace with on-chain dispute resolution. + +- Almost all parachains/parathreads would find motivation in encouraging their community members to contribute meaningfully to their roadmap. This can be achieved by utilizing a marketplace like Dot Marketplace, where technical, marketing, or governance-centric projects can be published as bounties. And community members are invited to bid for and execute them. +- A milestone-based submission will enhance the functionality of the marketplace and provide a more comprehensive user experience for both the worker and the publisher. +- The on-chain court will act as a dispute resolution mechanism between users involved in a project. A set of community members meeting specific criteria get to be a part of the jury for the dispute and cast votes, based on which a decision is reached. +- To facilitate easier communication between a customer and a worker, a one-to-one chat feature is also created. + +## **Team 👥** + +### **Team members** + +- [**Amit Singh**](https://www.linkedin.com/in/startupamit/) [ Product Manager ] +- [**Roshit Omanakuttan**](https://www.linkedin.com/in/roshit/) [ Technical Architect ] +- [**Loakesh Indiran**](https://www.linkedin.com/in/loakesh-indiran-8a2282140) [ Full Stack Developer ] +- [**Tejas Gaware**](http://www.linkedin.com/in/tejas-vijay-1430a3190) [ Backend Developer ] +- [**Rajat Petwal**](https://www.linkedin.com/in/rajat-petwal-947440197/) [ Backend Developer ] + +### **Contact** + +- **Contact Name:** Amit Singh +- **Contact Email:** amit (dot) singh (@) wowlabz.com +- **Website:** [http://www.wowlabz.com](https://www.wowlabz.com/) +- **Project Website:** [Dot marketplace website](https://dotmarketplace.co/) + +### **Legal Structure** + +- **Registered Address:** Wow Labz, 2Gethr Cowork, Tower B, Mantri Commercio, Outer Ring Rd, Bellandur, Bengaluru, Karnataka, India 560103 +- **Registered Legal Entity:** Wow Internet Labz Private Limited + +### **Team's experience** + +Dot Marketplace is being built by the team at Wow Labz. Wow Labz is one of India's leading turnkey product development companies. The team is also building Socialli - an interoperable metaverse protocol on Polkadot. Additionally the team at Wow Labz has built [Polkadot India](https://www.polkadotindia.org/) - a 15,000+ community of polkadot enthusiasts predominantly from the Indian region. The team has previously built a decentralized storage protocol called Lake Network - [https://lakenetwork.io/](https://lakenetwork.io/) in addition to multiple dApps on Ethereum, Stellar, EOS, and Hyperledger. + +A list of centralized and decentralised apps published can be found [here](https://www.wowlabz.com/work/). + +### **Team Code Repos** + +- [https://github.com/orgs/WowLabz/projects](https://github.com/orgs/WowLabz/projects) +- [https://github.com/WowLabz/tasking_backend](https://github.com/WowLabz/tasking_backend) +- [https://github.com/WowLabz/tasking_frontend](https://github.com/WowLabz/tasking_frontend) +- [https://github.com/WowLabz/yoda_creator_economy_node](https://github.com/WowLabz/yoda_creator_economy_node) +- [https://github.com/WowLabz/dot-marketplace-v2](https://github.com/WowLabz/dot-marketplace-v2) + +## **Development Status 📖** + +- Here's a link to the approved grant proposal for the [first phase](https://github.com/w3f/Grants-Program/blob/master/applications/dot_marketplace.md) and [second phase](https://github.com/w3f/Grants-Program/blob/master/applications/dot_marketplace-phase2.md) +- We are in touch with @takahser and @Rouven from the Web 3 Grants and Treasuries team, respectively. + +## **Development Roadmap** 🔩 + +****Overview**** + +* **Total Estimated Duration:** 2.0 Months +* **Full-Time Equivalent (FTE):** 2.39 +* **Total Costs:** 29,925 USD + + +### **Milestone 1** + +* **Estimated duration:** 3.0 weeks +* **FTE: 1** +* **PTE: 2** +* **Costs:** 12,725 USD + +The main deliverable for this milestone is to facilitate the creation of a project that can accommodate multiple milestones that may or may not depend on each other. These functionalities will be implemented as an upgrade to the existing marketplace pallet. + +| Sr no. | Deliverable | Description | +| --- | --- | --- | +| 0a | License | Apache 2.0 | +| 0b | Documentation | We will provide both inline documentation of the code and a tutorial that explains how a user can use DOT Marketplace and understand the flow of tasking pallet. | +| 0c | Testing Guide | Functions will be covered by unit tests, the documentation will describe how to run these tests. We will also provide scripts to help deploy, run and test the build. | +| 0d | Docker Image | Docker image of the build | +| 1 | Project Structure | The existing application only allows one milestone per project. Phase 3 modifies it to allow a publisher to add multiple milestones under the same project. | +| 2 | Multiple Bidders| Multiple bidders can now bid for the same milestone, and the publisher can choose one worker based on the bidder ratings | +| 3 | Escrow | Multiple subaccounts are created for a project to account for each milestone and make it easier to store all funds for transfer/exchange. | + +### **Milestone 2** + +* **Estimated duration:** 2.0 weeks +* **FTE:** 1 +* **PTE:** 2 +* **Costs:** 9,225 USD + + +In continuation to previous work, this milestone involves the creation of an on-chain decentralized court to handle dispute resolution. Each milestone can go into a dispute on the same scope as mentioned in the second phase of dot marketplace. The other milestones in a project are not affected by the dispute of one of the milestones. The court pallet will be upgraded to support these new features. + +| Sr no. | Deliverable | Description | +| --- | --- | --- | +| 0a | License | Apache 2.0 | +| 0b | Documentation | We will provide both inline documentation of the code and a tutorial that explains how a user can use DOT Marketplace and understand the flow of tasking pallet. | +| 0c | Testing Guide | Functions will be covered by unit tests, the documentation will describe how to run these tests. We will also provide scripts to help deploy, run and test the build. | +| 0d | Docker Image | Docker image of the build | +| 1 | Decentralized Court Module | An on-chain decentralized court for dispute resolution within the ecosystem. | +| 1a | Disapprove Milestone | In the case of a customer not being satisfied with the work submitted by the service provider (worker). A set of jurors is shortlisted (court summon) to resolve the dispute and pass a verdict. | +| 1b | Disapprove Rating | The customer or the service provider, once they have received their rating for a particular milestone and are not satisfied with it. | +| 1c | General Dispute | A general dispute function for cases that do not fall under the categories mentioned in 1a and 1b. | +| 2 | Voting module | Each juror can review the dispute and cast their vote, which also includes their rating for both the customer and the worker. After two days, all the juror votes are counted, and a winner is identified. | +| 3 | Frontend App | Supporting frontend UI to test the aforementioned functionality. | + +### **Milestone 3** + +* **Estimated duration:** 3.0 weeks +* **FTE:** 1 +* **PTE:** 2 +* **Costs:** 7975 USD + + +The main deliverables in this milestone are to use decentralized IPFS based storages to store all the files realated to tasks & advanced search. A file server integrated to nft storage will provided, using rocket framework & the search feature will be an update to the makerplace pallet. The skeletal UI will also be updated to showcase all the new features in Phase3. + +| Sr no. | Deliverable | Description | +| --- | --- | --- | +| 0a | License | Apache 2.0 | +| 0b | Documentation | We will provide both inline documentation of the code and a tutorial that explains how a user can use DOT Marketplace and understand the flow of tasking pallet. | +| 0c | Testing Guide | Functions will be covered by unit tests, the documentation will describe how to run these tests. We will also provide scripts to help deploy, run and test the build. | +| 0d | Docker Image | Docker image of the build | +| 1 | Decentralized Storage | All tasks related docs will be stored on a decentralized IPFS platform. | +| 2 | Advanced Search | Search based on task progress, tags, tasks or milestone id's. | +| 3 | Frontend App | Supporting frontend UI to test the aforementioned functionality. | +| 4 | Website | Dedicated one-page website for Dot Marketplace. | +| 5 | Article | Website article showing motivation behind phase 3 of dot marketplace and how to make the best use of it. | + +### **Additional Project Details** + +* Technology stack being used + * Rust, Substrate, React, Python, centralized cloud storage + +### **Future Plans** + +This is the last phase in our current roadmap. Post this we would focus on partnerships with chains on the dotsama ecosystem for integrating DotMarketplace as their native bounty management tool (this work has already started). If future, if the traction is great, we could create a fresh proposal for an excellent UI or integrate DotMarketplace within PolkaJS Apps itself with native support for multiple tokens besides DOT. + +### + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** Web3 Foundation Website, Polkadot India Buildathon + +* We have been working on this roadmap since we applied for the Web3 grant From 1941babb4f82ae44f3f9fb199886f8267b35ad82 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 14 Nov 2022 17:33:04 +0100 Subject: [PATCH 0268/1872] Update accepted_grant_applications.md wowlabz --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 746c28cfad3..060d2ae9519 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -570,4 +570,4 @@ | [Ink Boxes Team](https://github.com/nerdsince98) | Ink Boxes | [GitHub](https://gitlab.com/nerdsince98/learning-ink/) | ☐ | ☐ | ☐ | | [ParaSpell](https://github.com/paraspell) | ParaSpell Phase 2 | [GitHub](https://github.com/paraspell) | ☐ | ☐ | ☐ | | [SubRelay](http://subrelay.xyz/) | SubRelay | [GitHub](https://github.com/subrelay) | ☐ | ☐ | ☐ | - +| [Wow Labz](http://www.wowlabz.com) | Dot Marketplace Phase 3 | [GitHub](https://github.com/orgs/WowLabz) | ☐ | ☐ | ☐ | From 30036c342acd4966c4fd8356363184382d52cb8c Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 14 Nov 2022 20:22:55 +0100 Subject: [PATCH 0269/1872] Update accepted_grant_applications.md Fix links --- docs/accepted_grant_applications.md | 32 ++++++++++++++--------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 060d2ae9519..a90a97db058 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -11,25 +11,25 @@ ## Table of Contents - [2019](#2019) - - [🏄‍♀️ Wave 1 - First Quarter 2019](#surfing_woman-wave-1---first-quarter-2019) - - [🏄‍♀️ Wave 2 - Second Quarter 2019](#surfing_woman-wave-2---second-quarter-2019) - - [🏄‍♀️ Wave 3 - Third Quarter 2019](#surfing_woman-wave-3---third-quarter-2019) - - [🏄‍♀️ Wave 4 - Fourth Quarter 2019](#surfing_woman-wave-4---fourth-quarter-2019) + - [🏄‍♀️ Wave 1 - First Quarter 2019](#%EF%B8%8F-wave-1---first-quarter-2019) + - [🏄‍♀️ Wave 2 - Second Quarter 2019](#%EF%B8%8F-wave-2---second-quarter-2019) + - [🏄‍♀️ Wave 3 - Third Quarter 2019](#%EF%B8%8F-wave-3---third-quarter-2019) + - [🏄‍♀️ Wave 4 - Fourth Quarter 2019](#%EF%B8%8F-wave-4---fourth-quarter-2019) - [2020](#2020) - - [🏄‍♀️ Wave 5 - First Quarter 2020](#surfing_woman-wave-5---first-quarter-2020) - - [🏄‍♀️ Wave 6 - Second Quarter 2020](#surfing_woman-wave-6---second-quarter-2020) - - [🏄‍♀️ Wave 7 - Third Quarter 2020](#surfing_woman-wave-7---third-quarter-2020) - - [🏄‍♀️ Wave 8 - Fourth Quarter 2020](#surfing_woman-wave-8---fourth-quarter-2020) + - [🏄‍♀️ Wave 5 - First Quarter 2020](#%EF%B8%8F-wave-5---first-quarter-2020) + - [🏄‍♀️ Wave 6 - Second Quarter 2020](#%EF%B8%8F-wave-6---second-quarter-2020) + - [🏄‍♀️ Wave 7 - Third Quarter 2020](#%EF%B8%8F-wave-7---third-quarter-2020) + - [🏄‍♀️ Wave 8 - Fourth Quarter 2020](#%EF%B8%8F-wave-8---fourth-quarter-2020) - [2021](#2021) - - [🏄‍♀️ Wave 9 - First Quarter 2021](#surfing_woman-wave-9---first-quarter-2021) - - [🏄‍♀️ Wave 10 - Second Quarter 2021](#surfing_woman-wave-10---second-quarter-2021) - - [🏄‍♀️ Wave 11 - Third Quarter 2021](#surfing_woman-wave-11---third-quarter-2021) - - [🏄‍♀️ Wave 12 - Fourth Quarter 2021](#surfing_woman-wave-12---fourth-quarter-2021) + - [🏄‍♀️ Wave 9 - First Quarter 2021](#%EF%B8%8F-wave-9---first-quarter-2021) + - [🏄‍♀️ Wave 10 - Second Quarter 2021](#%EF%B8%8F-wave-10---second-quarter-2021) + - [🏄‍♀️ Wave 11 - Third Quarter 2021](#%EF%B8%8F-wave-11---third-quarter-2021) + - [🏄‍♀️ Wave 12 - Fourth Quarter 2021](#%EF%B8%8F-wave-12---fourth-quarter-2021) - [2022](#2022) - - [🏄‍♀️ Wave 13 - First Quarter 2022](#surfing_woman-wave-13---first-quarter-2022) - - [🏄‍♀️ Wave 14 - Second Quarter 2022](#surfing_woman-wave-14---second-quarter-2022) - - [🏄‍♀️ Wave 15 - Third Quarter 2022](#surfing_woman-wave-15---third-quarter-2022) - - [🏄‍♀️ Wave 16 - Fourth Quarter 2022](#surfing_woman-wave-16---fourth-quarter-2022) + - [🏄‍♀️ Wave 13 - First Quarter 2022](#%EF%B8%8F-wave-13---first-quarter-2022) + - [🏄‍♀️ Wave 14 - Second Quarter 2022](#%EF%B8%8F-wave-14---second-quarter-2022) + - [🏄‍♀️ Wave 15 - Third Quarter 2022](#%EF%B8%8F-wave-15---third-quarter-2022) + - [🏄‍♀️ Wave 16 - Fourth Quarter 2022](#%EF%B8%8F-wave-16---fourth-quarter-2022) # 2019 From c32346501a553d39fa990fc268111cd1d340d949 Mon Sep 17 00:00:00 2001 From: Nabil Abdellaoui Date: Tue, 15 Nov 2022 09:39:09 -0500 Subject: [PATCH 0270/1872] Update accepted_grant_application (#1275) DotPulse milestone 1 delivery accepted --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index a90a97db058..338469ed1fe 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -555,7 +555,7 @@ | Team | Project | Link | Terminated | First Delivery | Completed | :--- | :------ | :--- | :--------: | :------------: | :-------: | -| [CrossChain Labs](https://github.com/CrossChainLabs) | DotPulse | [GitHub](https://github.com/CrossChainLabs) | ☐ | ☐ | ☐ | +| [CrossChain Labs](https://github.com/CrossChainLabs) | DotPulse | [GitHub](https://github.com/CrossChainLabs) | ☐ | ☒ | ☐ | | [Jett Hays](https://github.com/jettblu) | Distributed Key Management | [GitHub](https://github.com/KryptikApp) | ☐ | ☐ | ☐ | | [NexToken Technology](https://github.com/NexTokenTech) | TREX - Timed Release Encryption Xing chains | [GitHub](https://github.com/NexTokenTech/TREX) | ☐ | ☐ | ☐ | | [Blockcoders](http://blockcoders.io/) | Cross-Consensus Messaging Software Development Kit | [GitHub](https://github.com/blockcoders) | ☐ | ☐ | ☐ | From 72152200fdfc5d6d799bdc044c2e27f2cc9d174a Mon Sep 17 00:00:00 2001 From: Grzegorz Sieczkowski <59612552+gsieczkowski10clouds@users.noreply.github.com> Date: Tue, 15 Nov 2022 07:00:13 -0800 Subject: [PATCH 0271/1872] Grant application - Crowdloan Front End Template (#1211) --- applications/crowdloan_frontend_template.md | 189 ++++++++++++++++++++ 1 file changed, 189 insertions(+) create mode 100644 applications/crowdloan_frontend_template.md diff --git a/applications/crowdloan_frontend_template.md b/applications/crowdloan_frontend_template.md new file mode 100644 index 00000000000..e6081f8aa58 --- /dev/null +++ b/applications/crowdloan_frontend_template.md @@ -0,0 +1,189 @@ +# Crowdloan Front End Template + +- **Team Name:** 10Clouds Sp. z o.o. +- **Payment Address:** 0xa79aa9572c7e1f8909fcc9674d676b73d5a71faa (aUSD) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 + +## Project Overview :page_facing_up: + +Responding to RFP: https://github.com/w3f/Grants-Program/blob/master/rfps/open/crowdloan_front_end_template.md + +### Overview + +A front-end white-label template for teams to use to easily build their Polkadot Crowdloan websites. + +### Project Details + +The overall objective of this project is to provide a white-label solution to teams to be able to plug into and offer all the information users need to contribute to their Crowdloan. In essence, it's a collection of: + +1. Project information +2. Rewards Schema +3. Current contributions +4. Time left in Crowdloan and competition +5. Contribute CTA +6. After the Crowdloan + +All of the above should be done style agnostic so that the project can plug their own look and feel into the site. +(as per RFP) + +### Ecosystem Fit + +Defined by RFP + +## Team :busts_in_silhouette: + +### Team members + +- Product Delivery Manager - Jedrzej Wencka +- Tech Lead - Aleksander Krasnicki +- React - Maciej Topor +- Design Lead - Krzysztof Juszczyk +- UX & Product Designer - Paweł Poterała + + +### Contact + +- **Contact Name:** Edgar Czop +- **Contact Email:** edgar.czop@10clouds.com +- **Website:** https://10clouds.com/ + +### Legal Structure + +- **Registered Address:** ul. Chmielna 73, 00-801 Warsaw, Poland +- **Registered Legal Entity:** 10Clouds Sp. z o.o. (Ltd.) + +### Team's experience + +The team was involved in creating an internal NFT Marketplace white-label (https://marketplace.10clouds.io). As the name suggests it's a website that allows mint and trade NFTs between users. It is strongly inspired by OpenSea and follows the same lazy minting pattern. After login with Metamask user can customize the profile, create collections, and start lazy-minting NFTs. The website contains extensive search/filters for collections and NFTs. An NFT can be created as _Open for offers_ which means another user can offer a price for which they want to buy it and the owner can accept any of them. The other way of selling is the „Buy now" option which allows you to sell NFTs for a set, fixed price. In both scenarios, the NFT is minted during the sale process and transferred to the new owner. + +The app is written in Next.js on the front-end and contains our own Smart Contracts currently deployed on Goerli testnet, and the Backend is written in Python with GraphQL. We have our own subgraph created in The Graph to aggregate the information about events emitted from our contracts (to update the UI accordingly). + +### Team Code Repos + +- https://github.com/10clouds + +- Maciej Topor https://github.com/maciejt10c +- Aleksander Krasnicki https://github.com/plakak + +### Team LinkedIn Profiles (if available) + +- [Product Delivery Manager - Jedrzej Wencka](https://www.linkedin.com/in/jedrzej-wencka-94382137/) +- Tech Lead - Aleksander Krasnicki +- [React - Maciej Topor](https://www.linkedin.com/in/maciej-topor/) +- [Design Lead - Krzysztof Juszczyk](https://www.linkedin.com/in/juszczyk/) +- UX & Product Designer - Paweł Poterała + + +## Development Status :open_book: + +We are currently in a very initial phase of gathering benchmarks for the approach and setting the general approach to deliver an experience that fits the target audience. + +From our initial research we came to the conclusion that the solution should follow these traits: + +### Using a Jamstack approach & Webflow template + +We aim to provide front-end templates that can be used with one major static site generator (SSG). This follows similar approaches like Github Pages templates for projects that contain the most important information and link-stubs to make it easy for Github projects to present themselves. + +The Jamstack will allow us to leverage the vast community behind it for future involvement of customisations and ports to other SSGs as is evidenced by the activities of these communities who are eager to port interesting templates to their SSG of choice. + +In addition to this we plan to create a Webflow template variant for teams who are more comfortable with it. Optionally we can also publish the Figma design as a basis for custom layouts by the community. + +### One Page approach + +We will also suggest a One Page or Single Page approach that, while still having the option for a menu, presents all information in one page as the name suggests. This has the following advantages: + +- **Most simple approach for projects.** Projects often underestimate the effort to create content and at the same time keep certain information to a digestible length +- **Less scope allows more variants.** If we limit the scope to a single page, we can more easily provide additional template designs that follow the structure but still give some individuality for each project. + +### SSG support (Jamstack only) + +We aim to start with the support of Gatsby, a popular React-based choice for SSGs, with a vast community of its own. An initial survey of the Parity community should be done to see whether these assumptions match and should be revised. + +When it comes to other SSGs, the ports can either be motivated by further grants or left to the community of open source volunteers. As mentioned before, there is an intrinsic motivation of each SSG’s community to port popular templates. + +**Deployment choices (Jamstack only)** + +The Jamstack approach allows the community to use virtually every popular way of hosting the project sites. We are assessing whether it is beneficial to include a “Deploy to Netlify” button in the projects as well to lower the initial barrier. However, projects will be able to deploy their pages to (but not be limited): + +- Netlify +- Github Pages +- Gitlab Pages +- Vercel +- Cloudflare +- AWS S3 (and similar solutions) + +### Easy to get started +We’re assuming that the approach is also a familiar way for the Parity community to get started with their project pages. It’s as simple as fork, customize, deploy. + +For parts of the community who are less comfortable with the Jamstack approach we will provide a Webflow template as well. + +### Illustrative Examples + +- https://github.blog/2012-04-02-instantly-beautiful-project-pages/ +- https://pages.github.com/ +- https://government.github.com/ +- https://github.com/collections/github-pages-examples +- … + + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Total Estimated Duration:** 4-5 weeks +- **Full-Time Equivalent (FTE):** 2 (Product Designer & React Developer) + Support Team (PDM, Leads, UX Designer) +- **Total Costs:** 30,000 USD + +### Milestone 1 + +- **Estimated duration:** 4-5 weeks +- **FTE:** 2 (as above) +- **Costs:** 30,000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- |--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 0a. | License | MIT or TBD | +| 0b. | Documentation | For both approaches (Webflow & Jamstack) we provide how-to guides. Jamstack will be documented in the Github repo. | +| 0c. | Article | We will publish an article presenting the templates and how to use them. | +| 1a. | Benchmarking | Design research of existing Crowdloan pages and other one pages designs, like Github project pages templates.
This will allow us to synthesize viable options of the page designs | +| 1b. | Design Direction Prototype | Aiming to create as many medium to high-fidelity dd prototypes as possible that allows the Grants team and the community to have an input on the design direction
The aim is to have the prototypes at 25%-50% completeness, to see major components/features and the general design direction. This way we don't waste time on dismissed design directions.
The designs should follow good practices in general without requiring additional research | +| 1c. | Repo Setup | Repo setup incl. base libraries/frameworks, initial technical documentation. Undesigned base scaffold. Allows the implementation to be simplified by forking | +| 2. | Jamstack implementation in Gatsby | One (1) chosen design direction

Minimum sections:
- Project information
- Rewards Schema
- Current contributions
- Time left in Crowdloan and competition
- Contribute CTA
- After the Crowdloan

Implemented as One Page Design | +| 3. | Webflow implementation | One (1) chosen design direction

Minimum sections:
- Project information
- Rewards Schema
- Current contributions
- Time left in Crowdloan and competition
- Contribute CTA
- After the Crowdloan

Implemented as One Page Design | +| 4. | Figma Template Publishing | Allows to use it for other solutions | + + + + + +## Future Plans + +When provided with the initial set of templates and their usage instructions, we envision the following: +- Creating a hub repo that also uses a Jamstack approach to give a list of available templates, allowing the community to preview the templates easily and contribute templates or forks to other SSGs in a convenient place + The hub could also include: +- Good content practices partially provided by our team of UX writers + - FAQs + - Tips and Tricks taken from successful Crowdloans + + + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** + +Multiple contact people from Parity (e.g. Alberto Navarro or Richard Casey). + +**Work we have already done** + +- [Crescent](https://www.crescent.app/) + ![image](https://i.imgur.com/gLw8g3V.png) +- [Solo music](https://www.solomusic.io/) + ![image](https://i.imgur.com/ZWtJPve.png) +- [LevelField](https://www.levelfield.us/) + ![image](https://i.imgur.com/Zr9d4fu.png) +- [G-coin by Emergent Technology](https://gcoin.com/) + ![image](https://i.imgur.com/1OD1Jtg.png) +- [Omise](https://www.omise.co/) + ![image](https://i.imgur.com/ElSnQtX.png) + +We contributed to Devnet support SLA for parachains. \ No newline at end of file From f5c99d167219dc493ef577dcf396b904312e85be Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 15 Nov 2022 16:07:37 +0100 Subject: [PATCH 0272/1872] Update accepted_grant_applications.md Add Crowdloan Front End Template --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 338469ed1fe..71c79e0684d 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -571,3 +571,4 @@ | [ParaSpell](https://github.com/paraspell) | ParaSpell Phase 2 | [GitHub](https://github.com/paraspell) | ☐ | ☐ | ☐ | | [SubRelay](http://subrelay.xyz/) | SubRelay | [GitHub](https://github.com/subrelay) | ☐ | ☐ | ☐ | | [Wow Labz](http://www.wowlabz.com) | Dot Marketplace Phase 3 | [GitHub](https://github.com/orgs/WowLabz) | ☐ | ☐ | ☐ | +| [10Clouds Sp. z o.o.](https://10clouds.com/) | Crowdloan Front End Template | [GitHub](https://github.com/10clouds) | ☐ | ☐ | ☐ | From 9b8b6db7c52695ef322e08fcaf0b87e39cba4bb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Tue, 15 Nov 2022 17:42:46 +0100 Subject: [PATCH 0273/1872] Update accepted_grant_applications.md --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 71c79e0684d..5f89e1db274 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -535,7 +535,7 @@ | [Uke](https://github.com/Uke-Messaging) | Uke Messaging - PoC - Phase 1 | [GitHub](https://github.com/Uke-Messaging) | ☒ | ☐ | ☐ | | [Redstone Network](https://github.com/difttt) | Redstone Network | [GitHub](https://github.com/difttt) | ☐ | ☐ | ☐ | | [JURIMETRIC TECNOLOGIA LTDA](https://www.jurimetric.com.br/) | Polkadart | [GitHub](https://github.com/rankanizer/polkadart) | ☐ | ☐ | ☐ | -| [Skye Kiwi](https://skye.kiwi/) | Choko Wallet | [GitHub](https://github.com/skyekiwi) | ☐ | ☐ | ☐ | +| [Skye Kiwi](https://skye.kiwi/) | Choko Wallet | [GitHub](https://github.com/skyekiwi) | ☐ | ☒ | ☐ | | [Popular Coding](https://www.popularcoding.com/) | Ventur | [GitHub](https://github.com/popular_coding) | ☐ | ☒ | ☐ | | [Asylum](https://asylum.space/) | Asylum follow-up 1 | [GitHub](https://gitlab.com/asylum-space/) | ☐ | ☒ | ☐ | | [Cyril Carlier](https://github.com/CrommVardek) | Maki| [GitHub](https://github.com/CrommVardek) | ☐ | ☐ | ☐ | From 3c3196dadb9e406000f4a41d9df9f0e00792a9bc Mon Sep 17 00:00:00 2001 From: Diogo <112647953+dsm-w3f@users.noreply.github.com> Date: Wed, 16 Nov 2022 09:23:18 -0300 Subject: [PATCH 0274/1872] Update accepted_grant_applications.md (#1277) --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 5f89e1db274..06922e9f775 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -525,7 +525,7 @@ | [Veridise](https://veridise.com/) | Vanguard | [GitHub](https://github.com/Veridise/Vanguard) | ☐ | ☐ | ☐ | | [Karolis Ramanauskas](https://krl.is/) | Generic Sybil-Resistant Faucet | [GitHub](https://github.com/karooolis) | ☐ | ☒ | ☒ | | [LimeChain](https://limechain.tech/) | Research feasibility for a Go Runtime | [GitHub](https://github.com/LimeChain) | ☐ | ☒ | ☒ | -| [Jim Yam](https://github.com/JimYam) | daos | [GitHub](https://github.com/daos-org/daos.git) | ☐ | ☐ | ☐ | +| [Jim Yam](https://github.com/JimYam) | daos | [GitHub](https://github.com/daos-org/daos.git) | ☐ | ☒ | ☐ | | [Green Lemon](https://github.com/GreenLemonProtocol) | Green Lemon Protocol | [GitHub](https://github.com/GreenLemonProtocol) | ☐ | ☒ | ☐ | | [Stardust Labs Inc.](https://stardust.finance/) | Integrating ISO-8583 | [GitHub](https://github.com/adit313/) | ☐ | ☒ | ☒ | | [TwinP](https://www.linkedin.com/in/elioprifti/) | Escrow Pallet | [GitHub](https://github.com/herou) | ☐ | ☒ | ☒ | From 9eb01ab2d211d0e26c0b177a018927985ddf737c Mon Sep 17 00:00:00 2001 From: David Date: Wed, 16 Nov 2022 14:50:52 +0100 Subject: [PATCH 0275/1872] Faterium application (#1264) * Add Faterium application * Alter Faterium grant proposal, add more details, schemes, and wireframes * Add Ethereum USDT payment address --- applications/faterium.md | 258 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 258 insertions(+) create mode 100644 applications/faterium.md diff --git a/applications/faterium.md b/applications/faterium.md new file mode 100644 index 00000000000..319e80fc22f --- /dev/null +++ b/applications/faterium.md @@ -0,0 +1,258 @@ +# W3F Grant Proposal + +- **Project Code Name:** Faterium +- **Team Name:** DodoRare, Inc. +- **Payment Address:** 0x6f083B9888D65A7CA7b8936982BE8Be328eF6d56 (ERC20 USDT) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 + +## Project Overview :page_facing_up: + +Faterium is a decentralized voting platform that provides business tools for content creators to monetize their projects and directly engage the community on important decisions. It helps game developers, creators and artists to easily create own assets, distribute them and earn by providing crowdfunding polls on various topics that are important to their community. + +### Problem Summary + +Services like [Patreon](https://patreon.com/) help content creators get support from their community, and [Kickstarter](https://www.kickstarter.com/) helps raise money for a new creative projects. These are very good services and everyone is used to them, but we see opportunity here: the community can’t directly influence the creation process and be truly involved into it. + +### Solution Summary + +We have found a solution that can give creators new opportunities to monetize their project and directly involve their community in the creation process through regular voting and events with valuable rewards. + +We will provide a simple interface where creators can create special polls in a few clicks, set which currency will be used for voting, and then invite the community to participate in it. + +Also, we will make convenient tools for creating, distributing and integrating of own assets and NFTs, thanks to which people who are not familiar with Web3 will be able to use the power of decentralization in their projects such as games, online books, movies and comics. + +We integrate social elements into the platform, such as rating, discussion forums or community-created proposals. And it will give creators even more ways to interact with the community. + +In addition, we will make SDKs and APIs to help integrate our platform into existing services and projects, such as games, websites for reading books or comics, or websites for watching movies, which will open up endless possibilities for adopting the technology. + +### Glossary + +- **User Profile** - a collection of settings and information associated with a user. +- **Community** - a customizable space where polls, discussions, and events of a specific community will be located, it can be either a personal space or a project space. +- **Crowdfunding Polls** - a way for creators to decide what community wants and raise money for a project or idea. Authors themselves determine which currency they want to use for voting and what percentage they will receive after the end of the poll. +- **Poll Rewards** - any kind of reward that users can receive after winning the poll. It can be either a unique NFTs or any gifts personally from the author of the poll. + +### Infrastructure Scheme + +![Faterium - Faterium Platform](https://i.imgur.com/8FRSNOz.jpeg) + +### Wireframes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 1. Main Page + + 2. Categories + + 3. Community +
+ + + + + +
+ 4. Poll + + 5. User Profile + + 6. Create Community +
+ + + + + +
+ 7. Create Asset + + 8. Create Poll + + 9. Profile Settings +
+ + + + + +
+ +### Substrate and Backend API + +![image](https://user-images.githubusercontent.com/24860875/201778800-35f70227-5f26-49db-9123-e99e47711c39.png) + +### Usecases + +The Faterium platform can be useful for a large pool of content creators and projects. Such as game developers, comic and manga artists, book writers, movie and anime creators, bloggers and streamers, journalists and politicians, etc. Faterium can be used in all areas where the creators would like to give the community the tools to vote and influence. Now, we would like to show a couple of interesting use cases of the platform. + +#### Simplified user flow diagram + +![image](https://user-images.githubusercontent.com/24860875/201778526-3cf974df-a33b-4979-8275-67f4fc04480a.png) + +#### Comics Creator + +Imagine talented comics creator - Bob Johnson, that has several popular multi-series comics and thousands of fans waiting for new chapters. Bob is looking for a new way to get funding for his projects, and at the same time get feedback from his community. + +He comes to the Faterium platform, configures user profile and creates his first crowdfunding poll, in less than 30 minutes. Bob sets the duration of the poll to 3 days, selects DOT as the voting currency and also sets what will happen after the poll ends - 50% of winners assets go to the poll creator, and winners will receive remaining 50% of assets alongside unique NFTs as reward. + +In the poll, he asks his community a question: "Which comic should I develop this month?". Also, Bob describes options in the poll and give detailed information about what he will do after the end of the poll. Then he posts the poll with unique link in his social media. Fans are happy that the author is preparing new series of comics and they decide to help him by voting. They log in via the [polkadot{.js} extension](https://polkadot.js.org/extension/), choose one of the options in the poll and send assets. + +After the end of the poll, the Bob receives finances that will help him to create new series. At the same time, fans took part in an important decision and supported their favorite author, and of course were rewarded with rare NFTs! Looks nice! + +#### Game Developer + +Let's look at another example - a famous game developer. The developer wants to launch the game on as many platforms as possible, so he needs to integrate cryptocurrency into the game in a soft way. Also, he wants to do something unique and increase the involvement of his community. + +He chooses to use the Faterium platform, configures user profile and creates a community on the platform. Since his game has a very interesting plot and characters, he decides to create an asset for each key character in the game. Thanks to a user-friendly interface, he mints new assets in a short time. Then, with the help of the Faterium SDK, he adds these assets to the game as special rewards for players and announce the new feature on his social media. + +Then, he releases new story missions in the game, and players who have assets of their favorite characters, now can directly influence on how the game's story develops by spending assets and voting on various plot twists and character decisions. Players who love the story of the game now have cool tools to interact and influence the game, and last but not least, they can freely sell and buy these assets on decentralized marketplaces. + +It is important to note that game developers who already have own tokens or assets may not create a new one, but use an existing one by bridging it to the Faterium platform. + +### Ecosystem Fit + +The main goal of Polkadot is to create a decentralized network where users are in control. Faterium empowers as many people as possible to create safe, fair, universal voting polls on any topic possible. In addition, the Faterium platform will not focus only on its own Substrate Network - our main development goal is to cover as many Web3 networks as possible along with Web2. All this will help attract a lot of people who are not familiar with the crypto, influencers, other projects and games. That's why Polkadot and Faterium are compatible and can help each other make Web3 even more popular. + +## Team :busts_in_silhouette: + +### Legal Structure + +- **Registered Legal Entity:** DodoRare, Inc. +- **Registered Address:** 651 N Broad St Suite 206, Middletown, DE 19709. + +### Contact + +- **Contact Name:** David Knyshenko +- **Contact Email:** [info@dodorare.com](mailto:info@dodorare.com) +- **Website:** [dodorare.com](https://dodorare.com/) + +### Team members + +- [**David Knyshenko**](https://www.linkedin.com/in/david-knyshenko/), Blockchain/Fullstack Developer & Team Leader +- [**Oleksii Knyshenko**](https://www.linkedin.com/in/oleksii-knyshenko/), Rust Developer +- [**Daniil Anikin**](https://github.com/Heezay), Rust Developer +- [**Andrew Spodarenko**](https://www.behance.net/andrewspodarenko), UI/UX Designer +- [**Dariya Davydova**](https://www.artstation.com/keunhwajae), Digital Artist & Designer + +### Team's experience + +- [Crossbow](https://github.com/w3f/Grants-Program/pull/668) - Our second W3F grant to enhance and improve Mobile Game Framework: Cross-Platform build tools and toolkit for Rust and Substrate community. By [our team](https://github.com/dodorare). +- [Narnao Labyrinth](https://narnao.com/) - Our team has been working on this game project for more than a year. Some unique features originally from Narnao - now evolved into something bigger inside Faterium. The launch of the Narnao Labyrinth is tightly connected to the launch of Faterium, it will be a flagman project that will show most of the features and will initially bring the gamer community to Faterium. By [our team](https://dodorare.com/). +- Mobile Game Framework - Our first team Web3Foundation [grant](https://github.com/enfipy/Grants-Program/blob/master/applications/mobile-game-framework.md), mobile building tool. By [our team](https://github.com/dodorare). +- Substrate Atom and VSCode plugins - Have contributed some code to Web3Foundation Grant for Substrate [VSCode](https://github.com/everstake/vscode-plugin-substrate/graphs/contributors) and [Atom](https://github.com/everstake/atom-plugin-substrate/graphs/contributors) plugins while worked in outsource company. By [enfipy](https://github.com/enfipy). +- [Polkadot CosmosSDK Integration](https://github.com/adoriasoft/polkadot_cosmos_integration) - Also, contributed to another Web3Foundation Grant while worked in another outsource company. Built logic behind ABCI pallet and Substrate with Tendermint. By [enfipy](https://github.com/enfipy). + +### Team Code Repos + +Website Links: +- [faterium.com](https://faterium.com/) +- [dapp.faterium.com](https://dapp.faterium.com/) + +Github Organizations: +- [@dodorare](https://github.com/dodorare) +- [@faterium](https://github.com/faterium) + +Repositories: +- [faterium/faterium-node](https://github.com/faterium/faterium-node) +- [faterium/faterium-dapp](https://github.com/faterium/faterium-dapp) +- [faterium/faterium-server](https://github.com/faterium/faterium-server) + +GitHub accounts of developer team: +- https://github.com/enfipy +- https://github.com/olvyko +- https://github.com/Heezay + +## Development Roadmap :nut_and_bolt: + +### Overview + +* **Total Estimated Duration:** 7 weeks +* **Full-time equivalent (FTE):** 5 +* **Total Costs:** 30,000 USD + +### Milestone 1 — Crowdfunding Polls + +* **Estimated Duration:** 4 weeks +* **FTE:** 5 +* **Costs:** 17,000 USD + +The main goal of the `Milestone 1` is to create base functionality for `Crowdfunding Polls`. To make it possible - we will create Substrate Node that will contain basic template pallets, alongside with [Pallet Assets](https://github.com/paritytech/substrate/tree/master/frame/assets) (for creating assets), and [Pallet Scheduler](https://github.com/paritytech/substrate/tree/master/frame/scheduler) (for scheduling polls endings). Also, we will create a new Pallet called `Crowdfunding Polls Pallet`. + +To minimize storage on chain (as [polkassembly](https://github.com/Premiurly/polkassembly/blob/master/front-end/src/components/CreateTreasuryProposal/TreasuryProposalFormButton.tsx#L189) and Polkadot [do](https://wiki.polkadot.network/docs/learn-treasury#announcing-the-proposal)) - we will create a Golang server that will [embed](https://pkg.go.dev/github.com/ipfs/kubo/core/coreapi) [IPFS node](https://docs.ipfs.tech/reference/go/api/#go-embedded-client) and [PocketBase](https://pocketbase.io/docs/use-as-framework/) (or launch nearby in separate docker containers), to create the best User Experience and make it possible to store big media files as IPFS CID in database. To make it simple and straightforward in usage - we will launch test Substrate Network with our pallet on our servers, and create pages for creating Polls, and voting (with help of [polkadot{.js} extension](https://polkadot.js.org/extension/)). + +Please, see the Substrate API design of the Faterium Platform [above](#substrate-and-backend-api). + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | **License** | We will add Apache 2.0 Licenses to all repositories. | +| 0b. | **Documentation** | We will provide both **inline documentation** of the code and a **live demo**. | +| 0c. | **Testing Guide** | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | **Docker** | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 1. | **Crowdfunding Polls Pallet** | As described above - we will create a Substrate Pallet for creating `Crowdfunding Polls`. | +| 2. | **Configure Substrate Node** | As described above - we will create a Substrate Node from template and integrate `Pallet Assets`, `Pallet Scheduler` and our `Pallet Crowdfunding Polls`. | +| 3. | **Faterium Server with PocketBase and IPFS** | As described above - we will create a Golang Server with API through PocketBase for uploading polls details in `IPFS Node`. | +| 4. | **Launch testnet Substrate network on the server** | As described above - we will setup and run Faterium test network on our servers to make sure that everything works as designed. | +| 5. | **Pages for creating Polls and voting on it** | As described above - we will create pages for creating and using `Crowdfunding Polls` to make sure that all functionality is working well. | + +### Milestone 2 — Profiles, Communities, and Pages + +* **Estimated Duration:** 3 weeks +* **FTE:** 5 +* **Costs:** 13,000 USD + +The main goal of the `Milestone 2` is to create UI design (see [wireframes](#wireframes) for the reference) and all main functionality of Faterium Platform: Communities, User Profiles, Categories, Assets, Crowdfunding Polls. After completion of `Milestone 1` - we will have Golang Server that we will extend with new functionality: wallet connect, user profile configuration, community creation, asset creation, voting. + +Please, see the Backend API design of the Faterium Platform [above](#substrate-and-backend-api). + +Also, we will prepare and publish and Article, that will explain a new concept of `Crowdfunding Polls`. + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | **License** | We will add Apache 2.0 Licenses to all repositories. | +| 0b. | **Documentation** | We will provide both **inline documentation** of the code and a **live demo**. | +| 0c. | **Testing Guide** | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | **Docker** | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 0e. | **Article** | We will publish an **article** that explains the concept of the Faterium Network, it's features, and usecases. More general-public-oriented version of what described in this application. | +| 1. | **Create design for Faterium dApp** | As described above - we will create a UI design for Faterium Platform. | +| 2. | **Extend Faterium server** | As described above - we will update and extend Faterium Server to make it work as designed. | +| 3. | **All web pages for dApp** | As described above - we will create all website pages from design and connect them to Faterium Server / Faterium Network node. | + +## Future Plans + +1. [IPFS Cluster](https://ipfscluster.io/) Integration. +2. DEX + Subsidizing System / Fuel-Gas Tanks. +3. Anti-spam System + Account Verification. +4. Author & Project Verification. +5. Faterium API & SDK. +6. Faterium Android and iOS Apps. +7. Faterium Discord and Telegram Bots. From bc7d7d9cf3129999fdb65116b3e8ed538a07d117 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Wed, 16 Nov 2022 14:58:06 +0100 Subject: [PATCH 0276/1872] Update accepted_grant_applications.md Add Faterium --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 06922e9f775..089a8763a7e 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -572,3 +572,4 @@ | [SubRelay](http://subrelay.xyz/) | SubRelay | [GitHub](https://github.com/subrelay) | ☐ | ☐ | ☐ | | [Wow Labz](http://www.wowlabz.com) | Dot Marketplace Phase 3 | [GitHub](https://github.com/orgs/WowLabz) | ☐ | ☐ | ☐ | | [10Clouds Sp. z o.o.](https://10clouds.com/) | Crowdloan Front End Template | [GitHub](https://github.com/10clouds) | ☐ | ☐ | ☐ | +| [DodoRare, Inc.](https://dodorare.com/) | Faterium | [GitHub](https://github.com/faterium) | ☐ | ☐ | ☐ | From 3bdcb48354045246a57caa16cb16f4b1e4a7dea5 Mon Sep 17 00:00:00 2001 From: Diogo <112647953+dsm-w3f@users.noreply.github.com> Date: Wed, 16 Nov 2022 16:45:57 -0300 Subject: [PATCH 0277/1872] Update accepted_grant_applications.md (#1278) --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 089a8763a7e..216fd4f3504 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -516,7 +516,7 @@ | [Lee](https://github.com/rust-0x0) | Hex Space Social Graph | [GitHub](https://github.com/rust-0x0) | ☐ | ☒ | ☐ | | [Liberland LLC](https://liberland.org/en/) | Liberland Pallets | [GitHub](https://github.com/liberland/liberland_substrate) | ☐ | ☐ | ☐ | | [Standard Protocol](https://standard.tech/) | Signac - a monorepo plugin for developing multiple Parity ink! smart contracts | [GitHub](https://github.com/standardweb3/signac) | ☐ | ☒ | ☒ | -| [B-Datagray](https://www.b-datagray.com/) | Datagen Project | [GitHub](https://github.com/Datagen-Project) | ☐ | ☐ | ☐ | +| [B-Datagray](https://www.b-datagray.com/) | Datagen Project | [GitHub](https://github.com/Datagen-Project) | ☐ | ☒ | ☐ | | [Colorful Notion](https://polkaholic.io/#chains) | Polkaholic.io's Multi-Chain Substrate Block Explorer | [GitHub](https://github.com/colorfulnotion/polkaholic/) | ☐ | ☐ | ☐ | | [Common Orbit LLC](https://brson.github.io) | `wasm-opt` for Rust | [GitHub](https://github.com/brson/wasm-opt-rs) | ☐ | ☒ | ☒ | | [Blockcoders](https://blockcoders.io/) | Ink Explorer | [GitHub](https://github.com/blockcoders) | ☐ | ☒ | ☐ | From 58c4f9e6e64c3ab9460363752af5c3aa6b1c4de9 Mon Sep 17 00:00:00 2001 From: Noc2 Date: Thu, 17 Nov 2022 15:57:27 +0100 Subject: [PATCH 0278/1872] remove open grants program --- docs/T&Cs.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/T&Cs.md b/docs/T&Cs.md index f5fd49929a2..c3b87881c87 100644 --- a/docs/T&Cs.md +++ b/docs/T&Cs.md @@ -1,7 +1,7 @@ Grants Terms and Conditions =========================== -Updated July 2022 +Updated November 2022 * * * * * @@ -35,19 +35,19 @@ The terms defined in this section whenever used in these Terms and Conditions sh "Intellectual Property Rights" means any (i) patents, designs, copyright and related rights, database rights, trademarks, trade names (whether registered or unregistered), and the related rights to apply for registration thereof; (ii) applications, extensions and renewals in relation to any of these rights; (iii) know-how and confidential information; and (iv) all other rights of a similar nature and/or having an equivalent effect anywhere in the world; -"Milestones" mean any and all of the milestones specified in the final version of the application under Development Roadmap and approved by the Grants Committee in accordance with the Procedure as well as placed in the applications folder of the W3F Open Grants Program Repository at ; +"Milestones" mean any and all of the milestones specified in the final version of the application under Development Roadmap and approved by the Grants Committee in accordance with the Procedure as well as placed in the applications folder of the W3F Grants Program Repository at ; "Polkadot" means a scalable heterogeneous multi-chain framework developed by, or the development of which has been procured by Web 3.0. that has the features described in the white paper ("Polkadot: Vision For A Heterogeneous Multi-Chain Framework -- Draft 1") or as otherwise determined by Web 3.0. in its sole discretion from time to time) and utilizes DOTs as the blockchain token native to its operation and/or functioning; -"Procedure" means the procedure in connection with the Web 3.0 Foundation Open Grants Program, as established in Section 4 below; +"Procedure" means the procedure in connection with the Web 3.0 Foundation Grants Program, as established in Section 4 below; "Software" means the deliverables created by You during the development activities performed according to these Terms and Conditions in their final and working version, and that are to be provided to the Foundation in accordance with the Specifications, Milestones and Time Schedule; -"Specifications" mean the reasonably detailed technical and/or other requirements describing the features and functionality of the Software, as specified in the final version of the application approved by the Grants Committee in accordance with the Procedure and placed in the applications folder of the W3F Open Grants Program Repository at . +"Specifications" mean the reasonably detailed technical and/or other requirements describing the features and functionality of the Software, as specified in the final version of the application approved by the Grants Committee in accordance with the Procedure and placed in the applications folder of the W3F Grants Program Repository at . "Terms and Conditions" means this terms and conditions together with any documents referred to in it; -"Time Schedule" means the time schedule specified in the final version of the application approved by the Grants Committee in accordance with the Procedure and placed in the applications folder of the W3F Open Grants Program Repository at . +"Time Schedule" means the time schedule specified in the final version of the application approved by the Grants Committee in accordance with the Procedure and placed in the applications folder of the W3F Grants Program Repository at . ## 3. Eligibility @@ -71,7 +71,7 @@ You shall indemnify and hold harmless Web 3.0 from any third party claims (inclu ## 4. Procedure -To apply for the Web 3.0 Foundation Open Grants Program, your application shall fulfill the following criteria: +To apply for the Web 3.0 Foundation Grants Program, your application shall fulfill the following criteria: - it shall be a software-based project, which contributes to the advancement of the Polkadot ecosystem; - the total amount of funding requested for the project shall be below USD 30,000 and USD 100,000 for follow-up grants at the time of submission; @@ -79,17 +79,17 @@ To apply for the Web 3.0 Foundation Open Grants Program, your application shall - You must accept payment in the blockchain tokens native to the Bitcoin Network ("BTCs") or the Ethereum based stablecoin DAI; - You will need to submit the application and deliver the milestones according to the process specified below; -The open grants process consists of five parts, each of them described in more detail below: +The grants process consists of five parts, each of them described in more detail below: **(i) Grant application process:** -To apply for a grant of the Web 3.0 Foundation Open Grants Program, You shall comply with the procedures established in the README.md file under as well as the process defined inside this document. +To apply for a grant of the Web 3.0 Foundation Grants Program, You shall comply with the procedures established in the README.md file under as well as the process defined inside this document. -To apply for a grant of the Web3 Foundation Open Grants Program, the grantee needs to fork (= create a copy on GitHub of) the Open-Grants-Program GitHub repository. In the newly created fork (=copy on GitHub), the grantee has to create a copy of the application-template.md. The copied application-template.md needs to be renamed as "project_name.md". "Project_name" needs to be replaced with the name of the project application. Additionally, the grantee has to fill out all mandatory parts of the application-template.md presented in bold letters. Once the grantees have completed the application, they need to create a new pull request (= in this case, a mechanism to submit the changes of the fork to the original Open-Grants-Program GitHub repository) by clicking on the "create new pull request" button shown inside the fork of the W3F Open-Grants-Program GitHub repository. After this, the grantee needs to sign off the terms and conditions presented via the CLA assistant. +To apply for a grant of the Web3 Foundation Grants Program, the grantee needs to fork (= create a copy on GitHub of) the Open-Grants-Program GitHub repository. In the newly created fork (=copy on GitHub), the grantee has to create a copy of the application-template.md. The copied application-template.md needs to be renamed as "project_name.md". "Project_name" needs to be replaced with the name of the project application. Additionally, the grantee has to fill out all mandatory parts of the application-template.md presented in bold letters. Once the grantees have completed the application, they need to create a new pull request (= in this case, a mechanism to submit the changes of the fork to the original Open-Grants-Program GitHub repository) by clicking on the "create new pull request" button shown inside the fork of the W3F Open-Grants-Program GitHub repository. After this, the grantee needs to sign off the terms and conditions presented via the CLA assistant. **(ii) Application review process:** -The Web 3.0 grants committee, which is specified on the [Open-Grants-Program GitHub repository ](https://github.com/w3f/Grants-Program)(the "Grants Committee"), can issue comments and request changes on the grant application pull request (the submission of the grant application on GitHub). As soon as 1/3 of the Grants Committee approves the pull request, the terms and conditions are signed off and all requested changes are addressed, the application is officially accepted. The application is now a part of the [W3F Open-Grants-Program GitHub repository](https://github.com/w3f/Grants-Program). The time point of the acceptance by the Grants Committee is hereby stored on GitHub and counts as the official beginning of the grant. The original submission is stored with a unique commit hash (identifier) and can not be altered by any party. The final version approved by the Grants Committee of the Specifications, the Time Schedule and Milestones will be placed in the applications folder of the W3F Open Grants Program Repository at via the merge function of GitHub. +The Web 3.0 grants committee, which is specified on the [Open-Grants-Program GitHub repository ](https://github.com/w3f/Grants-Program)(the "Grants Committee"), can issue comments and request changes on the grant application pull request (the submission of the grant application on GitHub). As soon as 1/3 of the Grants Committee approves the pull request, the terms and conditions are signed off and all requested changes are addressed, the application is officially accepted. The application is now a part of the [W3F Open-Grants-Program GitHub repository](https://github.com/w3f/Grants-Program). The time point of the acceptance by the Grants Committee is hereby stored on GitHub and counts as the official beginning of the grant. The original submission is stored with a unique commit hash (identifier) and can not be altered by any party. The final version approved by the Grants Committee of the Specifications, the Time Schedule and Milestones will be placed in the applications folder of the W3F Grants Program Repository at via the merge function of GitHub. **(iii) Milestone delivery process:** @@ -162,7 +162,7 @@ The Parties acknowledge and agree that the requirements set out in the Milestone ## 7. Terms of Grant Giving -Web 3.0. shall grant You, as compensation for the delivery of the Software and the related deliverables and the grant of license rights on the Intellectual Property Rights to the Web 3.0., a Grant as indicated in the application placed in the applications folder of the W3F Open Grants Program Repository at . +Web 3.0. shall grant You, as compensation for the delivery of the Software and the related deliverables and the grant of license rights on the Intellectual Property Rights to the Web 3.0., a Grant as indicated in the application placed in the applications folder of the W3F Grants Program Repository at . The Parties agree that the Grant is a lump-sum payment and that no additional compensation is due for the actual development costs incurred. From 02c5b18d4aa9d0cffd87d31f6284b74094e18915 Mon Sep 17 00:00:00 2001 From: Noc2 Date: Thu, 17 Nov 2022 16:00:22 +0100 Subject: [PATCH 0279/1872] remove open grants program part 2 --- docs/T&Cs.md | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/docs/T&Cs.md b/docs/T&Cs.md index c3b87881c87..394a8444aa3 100644 --- a/docs/T&Cs.md +++ b/docs/T&Cs.md @@ -85,11 +85,11 @@ The grants process consists of five parts, each of them described in more detail To apply for a grant of the Web 3.0 Foundation Grants Program, You shall comply with the procedures established in the README.md file under as well as the process defined inside this document. -To apply for a grant of the Web3 Foundation Grants Program, the grantee needs to fork (= create a copy on GitHub of) the Open-Grants-Program GitHub repository. In the newly created fork (=copy on GitHub), the grantee has to create a copy of the application-template.md. The copied application-template.md needs to be renamed as "project_name.md". "Project_name" needs to be replaced with the name of the project application. Additionally, the grantee has to fill out all mandatory parts of the application-template.md presented in bold letters. Once the grantees have completed the application, they need to create a new pull request (= in this case, a mechanism to submit the changes of the fork to the original Open-Grants-Program GitHub repository) by clicking on the "create new pull request" button shown inside the fork of the W3F Open-Grants-Program GitHub repository. After this, the grantee needs to sign off the terms and conditions presented via the CLA assistant. +To apply for a grant of the Web3 Foundation Grants Program, the grantee needs to fork (= create a copy on GitHub of) the Grants-Program GitHub repository. In the newly created fork (=copy on GitHub), the grantee has to create a copy of the application-template.md. The copied application-template.md needs to be renamed as "project_name.md". "Project_name" needs to be replaced with the name of the project application. Additionally, the grantee has to fill out all mandatory parts of the application-template.md presented in bold letters. Once the grantees have completed the application, they need to create a new pull request (= in this case, a mechanism to submit the changes of the fork to the original Grants-Program GitHub repository) by clicking on the "create new pull request" button shown inside the fork of the W3F Grants-Program GitHub repository. After this, the grantee needs to sign off the terms and conditions presented via the CLA assistant. **(ii) Application review process:** -The Web 3.0 grants committee, which is specified on the [Open-Grants-Program GitHub repository ](https://github.com/w3f/Grants-Program)(the "Grants Committee"), can issue comments and request changes on the grant application pull request (the submission of the grant application on GitHub). As soon as 1/3 of the Grants Committee approves the pull request, the terms and conditions are signed off and all requested changes are addressed, the application is officially accepted. The application is now a part of the [W3F Open-Grants-Program GitHub repository](https://github.com/w3f/Grants-Program). The time point of the acceptance by the Grants Committee is hereby stored on GitHub and counts as the official beginning of the grant. The original submission is stored with a unique commit hash (identifier) and can not be altered by any party. The final version approved by the Grants Committee of the Specifications, the Time Schedule and Milestones will be placed in the applications folder of the W3F Grants Program Repository at via the merge function of GitHub. +The Web 3.0 grants committee, which is specified on the [Grants-Program GitHub repository ](https://github.com/w3f/Grants-Program)(the "Grants Committee"), can issue comments and request changes on the grant application pull request (the submission of the grant application on GitHub). As soon as 1/3 of the Grants Committee approves the pull request, the terms and conditions are signed off and all requested changes are addressed, the application is officially accepted. The application is now a part of the [W3F Grants-Program GitHub repository](https://github.com/w3f/Grants-Program). The time point of the acceptance by the Grants Committee is hereby stored on GitHub and counts as the official beginning of the grant. The original submission is stored with a unique commit hash (identifier) and can not be altered by any party. The final version approved by the Grants Committee of the Specifications, the Time Schedule and Milestones will be placed in the applications folder of the W3F Grants Program Repository at via the merge function of GitHub. **(iii) Milestone delivery process:** @@ -97,7 +97,7 @@ To submit one of the possible multiple milestones specified in the application, **(iv) Milestone review process:** -The Grants Evaluators, who are specified on the [Open-Grants-Program GitHub repository](https://github.com/w3f/Grants-Program), can issue comments and request changes on the milestone delivery pull request. +The Grants Evaluators, who are specified on the [Grants-Program GitHub repository](https://github.com/w3f/Grants-Program), can issue comments and request changes on the milestone delivery pull request. a) Purpose and object of the milestone review process @@ -124,7 +124,7 @@ As soon as one evaluator approves the pull request, the delivery is officially a **(v) Payment process:** -The Operations Team specified in the [Open-Grants-Program GitHub repository](https://github.com/w3f/Grants-Program), gets notified once the above-specified delivery was accepted or after 2 weeks without any feedback after the initial delivery. As soon as any feedback is provided by the evaluators, this feedback first needs to be resolved. After this, the Operations Team makes the payment to the BTC or Ethereum address specified in the initial application. +The Operations Team specified in the [Grants-Program GitHub repository](https://github.com/w3f/Grants-Program), gets notified once the above-specified delivery was accepted or after 2 weeks without any feedback after the initial delivery. As soon as any feedback is provided by the evaluators, this feedback first needs to be resolved. After this, the Operations Team makes the payment to the BTC or Ethereum address specified in the initial application. ## 5. Scope of these Terms and Conditions @@ -240,13 +240,19 @@ These Terms and Conditions and any documents referred to in it shall constitute The headings used herein are inserted only as a matter of convenience and for reference only. They shall not affect the construction or interpretation of these Terms and Conditions. -## 13. Applicable Law and Jurisdiction +## 13. Referral Program + +if You were referred to the Web 3.0 Foundation Grants Program by a person who is either a Polkadot Ambassador or, in any case, a person considered by Web 3.0 as being active in the Polkadot Ecosystem (a “Valid Referee”), upon signature of this Terms and Conditions you could indicate to Web 3.0 the name of this Valid Referee, provided that he/she gave you his/her consent to share his/her identity with Web 3.0. Web 3.0, as part of its grant referral program, will grant to the Valid Referee a referral bonus of the amount at that time allocated as bonus under such program. +For the avoidance of any doubt, Web 3.0 reserves the right to decide - at its complete discretion - if an individual is (and/or continues to be) a Valid Referee, and only in this case the referee will be entitled to receive the referral bonus. + + +## 14. Applicable Law and Jurisdiction These Terms and Conditions shall be governed by and construed in accordance with the substantive laws of Switzerland without any reference to its conflict of law provisions. The provisions of the United Nation Convention on contracts for the International Sale of Goods (CISG) shall not apply. Any disputes arising out of or in connection with these terms and conditions and contracts entered into thereunder shall be submitted to the sole and exclusive jurisdiction of the courts of the city of Zug. -## 14. Polkadot Network +## 15. Polkadot Network If You are using Polkadot network for the purpose of the software development, research and/or the production of software documentation and technical education material You agree to be bound by specific term as follows: From aaafcae2fd07d4dea55fc3473da967a7755a0d43 Mon Sep 17 00:00:00 2001 From: Noc2 Date: Thu, 17 Nov 2022 16:21:35 +0100 Subject: [PATCH 0280/1872] Update T&Cs --- docs/T&Cs.md | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/docs/T&Cs.md b/docs/T&Cs.md index 394a8444aa3..f02d678ec3b 100644 --- a/docs/T&Cs.md +++ b/docs/T&Cs.md @@ -73,10 +73,9 @@ You shall indemnify and hold harmless Web 3.0 from any third party claims (inclu To apply for the Web 3.0 Foundation Grants Program, your application shall fulfill the following criteria: -- it shall be a software-based project, which contributes to the advancement of the Polkadot ecosystem; -- the total amount of funding requested for the project shall be below USD 30,000 and USD 100,000 for follow-up grants at the time of submission; +- it shall be a research or software-based project, which contributes to the advancement of the Polkadot ecosystem; - the Software shall be released under the Apache license version 2.0.; -- You must accept payment in the blockchain tokens native to the Bitcoin Network ("BTCs") or the Ethereum based stablecoin DAI; +- You must accept payment in Bitcoin, USDT (on Kusama or Ethereum), USDC/DAI (Ethereum) or aUSD (Acala); - You will need to submit the application and deliver the milestones according to the process specified below; The grants process consists of five parts, each of them described in more detail below: @@ -89,7 +88,7 @@ To apply for a grant of the Web3 Foundation Grants Program, the grantee needs to **(ii) Application review process:** -The Web 3.0 grants committee, which is specified on the [Grants-Program GitHub repository ](https://github.com/w3f/Grants-Program)(the "Grants Committee"), can issue comments and request changes on the grant application pull request (the submission of the grant application on GitHub). As soon as 1/3 of the Grants Committee approves the pull request, the terms and conditions are signed off and all requested changes are addressed, the application is officially accepted. The application is now a part of the [W3F Grants-Program GitHub repository](https://github.com/w3f/Grants-Program). The time point of the acceptance by the Grants Committee is hereby stored on GitHub and counts as the official beginning of the grant. The original submission is stored with a unique commit hash (identifier) and can not be altered by any party. The final version approved by the Grants Committee of the Specifications, the Time Schedule and Milestones will be placed in the applications folder of the W3F Grants Program Repository at via the merge function of GitHub. +The Web 3.0 grants committee, which is specified on the [Grants-Program GitHub repository ](https://github.com/w3f/Grants-Program)(the "Grants Committee"), can issue comments and request changes on the grant application pull request (the submission of the grant application on GitHub). As soon enough members of the Grants Committee approve the pull request, the terms and conditions are signed off and all requested changes are addressed, the application is officially accepted. The application is now a part of the [W3F Grants-Program GitHub repository](https://github.com/w3f/Grants-Program). The time point of the acceptance by the Grants Committee is hereby stored on GitHub and counts as the official beginning of the grant. The original submission is stored with a unique commit hash (identifier) and can not be altered by any party. The final version approved by the Grants Committee of the Specifications, the Time Schedule and Milestones will be placed in the applications folder of the W3F Grants Program Repository at via the merge function of GitHub. **(iii) Milestone delivery process:** @@ -124,8 +123,7 @@ As soon as one evaluator approves the pull request, the delivery is officially a **(v) Payment process:** -The Operations Team specified in the [Grants-Program GitHub repository](https://github.com/w3f/Grants-Program), gets notified once the above-specified delivery was accepted or after 2 weeks without any feedback after the initial delivery. As soon as any feedback is provided by the evaluators, this feedback first needs to be resolved. After this, the Operations Team makes the payment to the BTC or Ethereum address specified in the initial application. - +The Operations Team specified in the [Grants-Program GitHub repository](https://github.com/w3f/Grants-Program), gets notified once the above-specified delivery was accepted or after 2 weeks without any feedback after the initial delivery. As soon as any feedback is provided by the evaluators, this feedback first needs to be resolved. After this, the Operations Team makes the payment to the Bitcoin, USDT (on Kusama or Ethereum), USDC/DAI (Ethereum) or aUSD (Acala) address specified in the initial application. ## 5. Scope of these Terms and Conditions The subject matter of these Terms and Conditions is (i) the development of the Software by You in accordance with the Specifications, Milestones and Time Schedule, as well as any related activities (including any development activities undertaken before the Effective Date in relation to the Software) (collectively referred to as "Development Work") in accordance with the terms of these Terms and Conditions. @@ -160,6 +158,8 @@ The Parties acknowledge and agree that the requirements set out in the Milestone 6. You agree to forbear from making any public or non-confidential statement with respect to any claim or complaint against the Foundation without having obtained the Foundation’s prior written consent. +7. You agree that during the term of this agreement together with the Schedules (or any of each SOW), including extensions or modifications thereto, and for a period of nine (9) months thereafter, neither Grantee nor the Foundation will recruit, directly or indirectly hire, solicit or employ, engage as an independent contractor, any employee or independent contractor of either party, or any employee or independent contractor of any of the other subcontractors, who are involved in the development, use, or provision of the Services, without the prior written approval of the party whose employee or independent contractor is being considered for employment or engagement as an independent contractor, except as otherwise required by law. If one of the parties breaches this section, this party shall pay forty thousand dollars ($40,000.00) for each person hired as liquidated damages. The parties agree that quantifying losses arising from breach of this section is inherently difficult and stipulate that the agreed upon sum is not a penalty, but rather a reasonable measure of damages, based upon the parties’ experience in the software development industry and given the nature of the losses that may result from such breach. + ## 7. Terms of Grant Giving Web 3.0. shall grant You, as compensation for the delivery of the Software and the related deliverables and the grant of license rights on the Intellectual Property Rights to the Web 3.0., a Grant as indicated in the application placed in the applications folder of the W3F Grants Program Repository at . @@ -188,7 +188,9 @@ You hereby warrant that: (c) there are no licenses or rights current in effect in favor of any third party to use the Software and the related deliverables which would impair the rights granted to Web 3.0. as provided for under these Terms and Conditions; and -1. there is no pending or threatened claim, action, suit, investigation or proceeding of any kind challenging, alleging or asserting that the Software and the related deliverables were improperly or invalidly granted or are otherwise not protected as Intellectual Property Rights. +(d) You have disclosed all previous involvement of any team member in the Web 3.0 grant process, including, but not limited to: Closed, Rejected, Accepted, Delivered and Pending grant applications. + +(e) there is no pending or threatened claim, action, suit, investigation or proceeding of any kind challenging, alleging or asserting that the Software and the related deliverables were improperly or invalidly granted or are otherwise not protected as Intellectual Property Rights. You further warrant that the Software and the related deliverables: @@ -242,7 +244,7 @@ The headings used herein are inserted only as a matter of convenience and for re ## 13. Referral Program -if You were referred to the Web 3.0 Foundation Grants Program by a person who is either a Polkadot Ambassador or, in any case, a person considered by Web 3.0 as being active in the Polkadot Ecosystem (a “Valid Referee”), upon signature of this Terms and Conditions you could indicate to Web 3.0 the name of this Valid Referee, provided that he/she gave you his/her consent to share his/her identity with Web 3.0. Web 3.0, as part of its grant referral program, will grant to the Valid Referee a referral bonus of the amount at that time allocated as bonus under such program. +If you were referred to the Web 3.0 Foundation Grants Program by a person who is either a Polkadot Ambassador or, in any case, a person considered by Web 3.0 as being active in the Polkadot Ecosystem (a “Valid Referee”), upon signature of this Terms and Conditions you could indicate to Web 3.0 the name of this Valid Referee, provided that he/she gave you his/her consent to share his/her identity with Web 3.0. Web 3.0, as part of its grant referral program, will grant to the Valid Referee a referral bonus of the amount at that time allocated as bonus under such program. For the avoidance of any doubt, Web 3.0 reserves the right to decide - at its complete discretion - if an individual is (and/or continues to be) a Valid Referee, and only in this case the referee will be entitled to receive the referral bonus. From ab1fd62e0d50ff5df9aa54ad0dadfbe34557d3e7 Mon Sep 17 00:00:00 2001 From: Noc2 Date: Thu, 17 Nov 2022 16:23:43 +0100 Subject: [PATCH 0281/1872] T&C update --- docs/T&Cs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/T&Cs.md b/docs/T&Cs.md index f02d678ec3b..3d0fb38d509 100644 --- a/docs/T&Cs.md +++ b/docs/T&Cs.md @@ -9,7 +9,7 @@ By participating you acknowledge and accept the​ terms and conditions​ of th * * * * * -These Terms and Conditions are entered into by and between the Web 3.0 Technologies Foundation, Baarerstrasse 14,6300 Zug, Switzerland (CHE-332.596.347) (henceforth "Web 3.0" or "We") and you as an applicant for the technical grant for software development, research and/or the production of software documentation and technical education material as specified in Guidelines for technical grant of Web 3.0 Technologies Foundation (henceforth "User" or "You") (each also a "Party" and together the "Parties"). Please read these Terms and Conditions carefully. By signing off the terms and conditions via the CLA assistant, You confirm that You have read these Terms and Conditions and that You agree to be bound by them. +These Terms and Conditions are entered into by and between the Web 3.0 Technologies Foundation, Baarerstrasse 14, 6300 Zug, Switzerland (CHE-332.596.347) (henceforth "Web 3.0" or "We") and you as an applicant for the technical grant for software development, research and/or the production of software documentation and technical education material as specified in Guidelines for technical grant of Web 3.0 Technologies Foundation (henceforth "User" or "You") (each also a "Party" and together the "Parties"). Please read these Terms and Conditions carefully. By signing off the terms and conditions via the CLA assistant, You confirm that You have read these Terms and Conditions and that You agree to be bound by them. We reserve the right to change, modify, add or remove portions of these Terms and Conditions from time to time. If this occurs, We will notify You in adequate form on such updates. From 963cf5320896bf3e2d8fc57e2fd90fd52697d3a1 Mon Sep 17 00:00:00 2001 From: Noc2 Date: Thu, 17 Nov 2022 16:26:08 +0100 Subject: [PATCH 0282/1872] remove payment without feedback --- docs/T&Cs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/T&Cs.md b/docs/T&Cs.md index 3d0fb38d509..05773589b19 100644 --- a/docs/T&Cs.md +++ b/docs/T&Cs.md @@ -123,7 +123,7 @@ As soon as one evaluator approves the pull request, the delivery is officially a **(v) Payment process:** -The Operations Team specified in the [Grants-Program GitHub repository](https://github.com/w3f/Grants-Program), gets notified once the above-specified delivery was accepted or after 2 weeks without any feedback after the initial delivery. As soon as any feedback is provided by the evaluators, this feedback first needs to be resolved. After this, the Operations Team makes the payment to the Bitcoin, USDT (on Kusama or Ethereum), USDC/DAI (Ethereum) or aUSD (Acala) address specified in the initial application. +The Operations Team specified in the [Grants-Program GitHub repository](https://github.com/w3f/Grants-Program), gets notified once the above-specified delivery was accepted. As soon as any feedback is provided by the evaluators, this feedback first needs to be resolved. After this, the Operations Team makes the payment to the Bitcoin, USDT (on Kusama or Ethereum), USDC/DAI (Ethereum) or aUSD (Acala) address specified in the initial application. ## 5. Scope of these Terms and Conditions The subject matter of these Terms and Conditions is (i) the development of the Software by You in accordance with the Specifications, Milestones and Time Schedule, as well as any related activities (including any development activities undertaken before the Effective Date in relation to the Software) (collectively referred to as "Development Work") in accordance with the terms of these Terms and Conditions. From 041bf9441b3a4c93e308c83da2afaf5dbbc9d7fd Mon Sep 17 00:00:00 2001 From: David Hawig Date: Fri, 18 Nov 2022 08:03:20 +0100 Subject: [PATCH 0283/1872] Referral program (#1248) * Update README.md Start working on the referral program * Update README.md initial draft * Update application-template.md * Update README.md update text * Update README.md Co-authored-by: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> * Update README.md Co-authored-by: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> * Update applications/application-template.md Co-authored-by: S E R A Y A * Update application-template.md Move Referral to the end * Update README.md Update to 500 USD to make it initially easier * Update applications/application-template.md Co-authored-by: S E R A Y A Co-authored-by: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> Co-authored-by: S E R A Y A --- README.md | 7 +++++++ applications/application-template.md | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/README.md b/README.md index c26f5001e86..c65c962e0a8 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,7 @@ - [Changes to a Grant after Approval](#changes-to-a-grant-after-approval) - [:mailbox_with_mail: Suggest a Project](#mailbox_with_mail-suggest-a-project) - [:hammer_and_wrench: Maintenance Grants](#hammer_and_wrench-maintenance-grants) +- [:moneybag: Referral Program](#moneybag-referral-program) - [:bulb: Help](#bulb-help) - [Additional information](#additional-information) - [Real-time conversation](#real-time-conversation) @@ -217,6 +218,12 @@ Please note that: - Please bear in mind that the Grants Committee might be stricter in accepting maintainers when compared to typical grants, mostly selecting for applicants with proven experience in the relevant tech stacks. - Maintenance Grants are only awarded for fixed timeframes. The requested duration needs to be specified in the application. +## :moneybag: Referral Program + +We give away 500 USD to each referral of a successful grant application by _anyone having previously worked on a Web3 Foundation grant_ or _a [Polkadot Ambassador](https://wiki.polkadot.network/docs/ambassadors)_. Web3 Foundation and Parity employees do not qualify for the program, even if they previously worked on a grant. + +In order to be eligible for the referral bonus, the application itself must contain the name of the [Polkadot Ambassador](https://wiki.polkadot.network/docs/ambassadors) or the GitHub account of the grantee as well as the payment address for the referral bonus (see the [application template](applications/application-template.md)). Payment is made in Bitcoin, USDT (on Kusama or Ethereum), USDC/DAI (Ethereum) or aUSD (Acala). + ## :bulb: Help ### Additional information diff --git a/applications/application-template.md b/applications/application-template.md index f7fb24f76c9..8d6c2b00b51 100644 --- a/applications/application-template.md +++ b/applications/application-template.md @@ -155,6 +155,11 @@ Please include here - how you intend to use, enhance, promote and support your project in the short term, and - the team's long-term plans and intentions in relation to it. +## Referral Program (optional) :moneybag: + +You can find more information about the program [here](../README.md#moneybag-referral-program). +- **Referrer:** Name of the Polkadot Ambassador or GitHub account of the Web3 Foundation grantee +- **Payment Address:** BTC, Ethereum (USDT/USDC/DAI) or Polkadot/Kusama (aUSD) payment address. Please also specify the currency. (e.g. 0x8920... (DAI)) ## Additional Information :heavy_plus_sign: From bf6c74f3d9e3ddc291cf07b5eb9f86eb3f457a61 Mon Sep 17 00:00:00 2001 From: random-ham <112565780+random-ham@users.noreply.github.com> Date: Fri, 18 Nov 2022 02:12:13 -0500 Subject: [PATCH 0284/1872] pallet-drand-client application (#1271) --- applications/pallet-drand-client.md | 159 ++++++++++++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100644 applications/pallet-drand-client.md diff --git a/applications/pallet-drand-client.md b/applications/pallet-drand-client.md new file mode 100644 index 00000000000..fd200afe450 --- /dev/null +++ b/applications/pallet-drand-client.md @@ -0,0 +1,159 @@ +# drand in substrate + +- **Team Name:** The Bacon Beacon +- **Payment Address:** USDC 0x1C9e0bcA759e5Ec09246f4795310789b12F65a59 +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 + +## Project Overview :page_facing_up: + +We are planning to integrate the [drand](https://drand.love/developer/) client into substrate. + +### Overview + +Current sources of verifiable randomness in Substrate are limited, and developers need to rely on deriving randomness themselves, or by taking it from BABE. + +The clear disadvantage of deriving randomness by the application developers is that all information on the blockchain is public. Resultingly, randomness is more likely to be predictable and gameable, especially on standalone Substrate chains. + +On the other hand, BABE provides two sources of randomness: public and private. +Public randomness is derivied once per epoch, and is easily verifiable by hashing all the VRF outputs from the previous epoch. Unfortunately, it is only computed once per epoch. +Private randomness is computed by each validator in secret to determine when they'd produce blocks. It is published with each block, which is as often as is possible on a blockchain and is provably verifiable and secure. Unfortunately, the random values that the validators publish are known to these validators *hours* in advance. + +Both of the above mentioned sources are internal: the randomness is derived from information *within* the network. +Another approach is to take randomness from an external source, if that source can be proven to be secure. + +One such source is [drand](https://drand.love/about/) (decentralised randomness beacon), which allows the participants "to produce collective, publicly verifiable, unbiased, unpredictable random values at fixed intervals". + +In this project, we want to enable any Substrate project to consume publically, verifiable randomness from drand. + +### Project Details + +Randomness needs to be retrieved from an HTTP API via a provider, which is itself either a member of the drand network, or a broadcaster of the randomness. +In either case, the pallet doesn't trust the provider blindly - instead, it can cryptographically verify the correctness of the randomness retrieved, by verifying it against the drand [chain randomness information](https://drand.love/developer/http-api/#chain-hash-info) contained in the Runtime. This chain intormation contains the network's well-known threshold public key, fixed interval for randomness generation, genesis time, and an initial random hash. + +This chain randomness information and an optional [round](https://drand.love/developer/http-api/#chain-hash-public-round) 'checkpoint' can be set in the chain's `GenesisConfig`, allowing the network to immediately start using the randomness from the first block. If appropriate, the pallet can also contain a `UpdateOrigin` `Config` parameter, allowing the the beacon source to be modified by a trusted authority (eg. Council, Sudo, whitelisted account, etc) without a runtime update. Each round will be obtained via HTTP API calls made via an off-chain worker, and each round will be verified for cryptographic accuracy and timeliness before being consumable by the runtime. + +### Ecosystem Fit + +Help us locate your project in the Polkadot/Substrate/Kusama landscape and what problems it tries to solve by answering each of these questions: + +- Where and how does your project fit into the ecosystem? + +A: It will be a Substrate pallet, likely with one of the standardized randomness trait interface in it's `Config`, allowing it to be easily plugged into other pallets. It will also contain a standalone Substrate chain with the pallet, demonstraiting some concrete examples of how it can be used. + +- Who is your target audience (parachain/dapp/wallet/UI developers, designers, your own user base, some dapp's userbase, yourself)? + +A: Parachains and standalone Substrate chains, dapps (especially ones using ZKPs), and anyone wanting to consume public randomness. + +- What need(s) does your project meet? + +A: Providing verifiable, public randomness. + +- Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem? + +A: Not that we're aware of. + +## Team :busts_in_silhouette: + +### Team members + +- Bacon +- Ham + +### Contact + +- **Contact Name:** Bacon +- **Contact Email:** bacon.randomness.beacon@pm.me +- **Website:** N/A + +- **Contact Name:** Ham +- **Contact Method:** Github issues/discussion or Session ID `05947ccb461b7e693282c71afea61ebe81e52abe8b99e03901d6e6c9af06f9ac51` +- **Website:** N/A + +### Legal Structure + +- **Registered Address:** N/A +- **Registered Legal Entity:** N/A + +### Team's experience + +Both team members have practical experience in developing cryptographic protocols (3 years combined) and Rust (4 years combined). We have completed the basic substrate tutorials for the purpose of preparing for this project. Apart from this information, we would like to keep the team's profiles private. +We believe that the quality of the project delivery will bear witness to our claims. + +### Team Code Repos + +- https://github.com/random-bacon + + +## Development Status :open_book: + +The public docs from [drand](https://drand.love/) serve best as technical introduction to what drand is, and how it can be integrated into existing projects. We will also use Github's Projects feature or Issues to create a backlog and task our progress publically. + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Total Estimated Duration:** 2 months +- **Full-Time Equivalent (FTE):** 1 FTE (2 x half-time) +- **Total Costs:** 28,000 USD + +### Milestone 1: Create a Rust client library for drand + +While there exists one [drand Rust client library](https://github.com/iprs-dev/drand-rs), it hasn't been updated in 2 years. + +We will create a new Rust library that +- includes `no_std` support +- complies and works with the APIs outlined [here](https://github.com/drand/drand-client#api) +- verifies the cryptogrpahic randomness +- uses up-to-date dependencies +- has a set of tests for asserting proper functionality and reducing bugs from future updates + +- **Estimated duration:** 1 month +- **FTE:** 1 +- **Costs:** 14,000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | Apache 2.0 / GPLv3 / MIT / Unlicense | +| 0b. | Documentation | We will provide **inline documentation** alongside the code, a README explaining how it can be used, and a few examples demonstrating it's concrete usage. | +| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. We will use standardized testing methods so tests can be pragmatically executed and updated by anyone. | +| 1. | Drand client library | We will build out a drand client library with the requirements mentioned in the Milestoke 1 overview. + +### Milestoke 2: Build a Substrate pallet with a fully-featured/configured example chain + +We will write a Substrate pallet that: +- implements the drand client library from Milestone 1 +- allows for the configuration and modification of the drand chain randomness information +- utilized off-chain workers to fetch round information, and ensuring validator consensus about it +- verifies the round information for cryptographic accuracy and timeliness +- provides a pragmatic way for other pallets to source the randomness + +We will also build an example Substrate node that: +- demonstrates a fully configured pallet-drand-client +- demonstrates an example pallet utilizing all of its features + +- **Estimated Duration:** 1 month +- **FTE:** 1 +- **Costs:** 14,000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | Apache 2.0 / GPLv3 / MIT / Unlicense | +| 0b. | Documentation | We will create **dedicated documentation in the repo** of how to use the code and a basic **tutorial** that explains how a user can (example) spin up one of the Substrate nodes and interact with the chain in a way that utilized drand's randomness. | +| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 1. | Example pallet | We will create a pallet that integrates the drand client library from Milestone 1, and write a sample pallet that uses its features (eg. return a message from a list of messages at random, based on the public randomness it retrieves via the API). +| 2. | Randomness verification | The pallet will be able to verify round randomness via the chain randomness information. +| 2. | Example chain | We spin up a testing chain to demonstrate how such a pallet works. + + +## Future Plans + +Once randomness is available to Substrate developers, we would be interested to write a client that actually *participates* in the drand protocol. +It may make sense for a common-good parachain to participate as a member of [League of Entropy](https://en.wikipedia.org/wiki/League_of_entropy). +We recognize the lack of accountability and other issues that can arise with an anonymous team maintaining such an important and foundational ecosystem component like a common-good parachain,, and we are open to discussion solutions relating to the development and maintenance of it. + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** https://medium.com/web3foundation/web3-foundation-grants-program-reaches-400-projects-milestone-1k-grant-applications-received-93a7d3a5f942 + +Thank you for your time. We're looking forward to discussing this project with you. From bd146adbcb4f15f0b2ca46f5c230c946708dae45 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Fri, 18 Nov 2022 08:14:24 +0100 Subject: [PATCH 0285/1872] Update accepted_grant_applications.md Add Pallet Drand Client --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index 216fd4f3504..eeb4da07673 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -573,3 +573,4 @@ | [Wow Labz](http://www.wowlabz.com) | Dot Marketplace Phase 3 | [GitHub](https://github.com/orgs/WowLabz) | ☐ | ☐ | ☐ | | [10Clouds Sp. z o.o.](https://10clouds.com/) | Crowdloan Front End Template | [GitHub](https://github.com/10clouds) | ☐ | ☐ | ☐ | | [DodoRare, Inc.](https://dodorare.com/) | Faterium | [GitHub](https://github.com/faterium) | ☐ | ☐ | ☐ | +| [The Bacon Beacon](https://github.com/random-bacon) | Pallet Drand Client | [GitHub](https://github.com/random-bacon) | ☐ | ☐ | ☐ | From d2e606fae53a39e0688ecbb1287df8f99c0e0950 Mon Sep 17 00:00:00 2001 From: Kutsal Kaan Bilgin Date: Fri, 18 Nov 2022 10:18:01 +0300 Subject: [PATCH 0286/1872] ChainViz v1 application. (#1254) --- applications/chainviz.md | 317 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 317 insertions(+) create mode 100644 applications/chainviz.md diff --git a/applications/chainviz.md b/applications/chainviz.md new file mode 100644 index 00000000000..90d2f235a54 --- /dev/null +++ b/applications/chainviz.md @@ -0,0 +1,317 @@ +# ChainViz v1 + +- **Team Name:** Helikon Labs +- **Payment Address:** `bc1qxjy7sw0ffvpq86t6hj3mmqhnfz2hxt6pk7zdz0` (BTC) +- **Level:** 🐤 2 + +## Project Overview :page_facing_up: + +### Overview + +ChainViz Alpha web application, available at [alpha.chainviz.app](https://alpha.chainviz.app), is an [open-source](https://github.com/helikon-labs/chainviz) real-time 3D visualization of the Kusama relay chain block production process. + +![](https://raw.githubusercontent.com/helikon-labs/chainviz/development/readme_files/screenshot_01.png) + +Application in its current alpha version provides the following features: + +- Real-time 3D visualization of: + - Active validators, including paravalidation indication + - Block production by validators + - Block finalization +- Navigation of the 3D scene through zooming, panning and rotation +- Network status display +- Active validator list and search over identity/address +- Validator details panel upon click on a validator in the 3D model, or the validator list + +**This application is to fund the building of the first major version of ChainViz**, with the following features/visualizations: + +- Complete rebuild of the the existing functionality with improved UI/UX and WebGL models, shaders and animations +- Additional support for Polkadot +- New visualizations + - Parachains + - Assigned paravalidators + - XCM messages between parachains, or from parachains to relay chains + - Block content + - Author + - Extrinsics and arguments + - Events and arguments + +With these additional features, ChainViz is going to become a **complete real-time visualization** of the Polkadot and Kusama relay chains and their parachains. + +### Project Details + +#### Organization + +ChainViz v1 upgrade is a collaboration between [Helikon Labs](https://helikon.io) and [Klad](https://klad.design), carried out under the management of Helikon Labs. + +#### System Architecture + +##### Current System + +ChainViz Alpha currently utilizes [SubVT backend services](https://github.com/helikon-labs/subvt-backend) and Polkadot JS API as follows. + +- SubVT active validator list [service](https://github.com/helikon-labs/subvt-backend/tree/development/subvt-validator-list-server) + - List of all active validators + - For each validator, a summary including: + - Identity + - Validator preferences + - Self stake + - Nomination count and total amount, + - 1KV data if exists + - and more +- SubVT network status [service](https://github.com/helikon-labs/subvt-backend/tree/development/subvt-network-status-server) + - Era index + - Era reward points + - Total, minimum, maximum and average stake amounts +- Polkadot JS API + - Finalized block header subscription + - Utilized to mark finalized blocks + - Best block header subscription + - Utilized to display the block production animation + - Identify uncle blocks and visualize them + +Current ChainViz Alpha system architecture can be illustrated as follows. + +

+ +
+ Figure 1 ChainViz Alpha system architecture +

+ +##### Proposed Upgrade + +Proposed upgrade to the first major version requires the following additional data: + +- Block details + - Extrinsic list and parameters + - XCM messages (`XcmPallet` extrinsics) + - Event list and parameters +- Validator details + +Proposed system architecture for the upgrade can be illustrated as follows. + +

+ +
+ Figure 2 ChainViz v1 proposed system architecture +

+ +Upgraded system utilizes the **to-be-developed** SubVT `Block Details Service` to access the block content (i.e. extrinsics and events), and the **existing** SubVT `Validator Details Service` for any necessary validator data that is not available through the validator list service. + +##### Block Details Service + +A new addition to the [SubVT Backend](https://github.com/helikon-labs/subvt-backend), `Block Details Service` is going to be a websockets subscription service that pushes in JSON format at every new block to a subscribed client: + +- Block hash, parent block hash +- Block number +- Block author and its on-chain identity (if exists) +- Block contents + - Extrinsics, their module names and arguments + - Events, their module names and arguments + +This service is going to be utilized in both displaying the block contents and cross-chain messages as extracted from the `XcmPallet` extrinsics and events. + +#### UI/UX Upgrades + +We're going to implement a number of UI/UX upgrades, as explained below. + +- Improvement of the overall aesthetics and visual coherence of the application +- A better depiction of the block production process that's easier to comprehend for a wider range of users from the technically informed to the newly-introduced +- Display of block contents (i.e. hash, number, author, extrinsics and events) on hover and click +- Responsive design for a range of screen sizes +- A better utilization of the 3D space to allow for parachain visualization and preparation for future upgrades +- Display of parachains, their assigned validators and the cross-chain messaging process + +UI/UX upgrade implementation consists of 3 core components: + +- Visual guidelines +- Application UI/UX upgrades +- WebGL graphics development, shaders and motion design upgrades + +Development of the **visual guidelines** aims to bring visual coherency to ChainViz. From a functional perspective, this component serves as a core visual guide and foundation for all future UI/UX components and 3D graphics development. + +**UI/UX upgrades** aim to elevate the project from a draft look to an efficient, performant, user-appealing, scalable web application. Visually, it will be based on the current project aesthetics while ensuring its responsiveness and accessibility. Through this work, we aim to increase usability and ensure application scalability in terms of functionality growth. + +Third component of the visual upgrades, the development of the **upgraded WebGL graphics, shaders and motion**, faces a set of challenges that we aim to solve, including effective visualization of the block production and cross-chain messaging process. When we use the term effective visualization, we primarily mean one that: + +- Can show the depicted processes in a simple yet systematic manner +- Can be engaging and valuable for users with different levels of expertise + +### Ecosystem Fit + +There is currently no direct match in the Dotsama ecosystem of the features offered by ChainViz. ChainViz Alpha got [shared on Twitter](https://twitter.com/gavofyork/status/1491480880245874708) by Gavin Wood upon initial release, and received a lot of praise from various Dotsama ecosystem members. + +

+ +

+ +There are currently two other projects that visualize certain aspects of the Dotsama blockspace: + +1. [Kusamaverse by Odyssey](https://odyssey.org/kusamaverse), which is closer to a metaverse space for Kusama, focuses more on the interaction of the actors in the ecosystem. +2. [XCM Dashboard](https://polkadot.subscan.io/xcm_dashboard) by the Subscan team, which is a fairly static visualization of the active cross-chain messaging channels between parachains. + +ChainViz is unique in that it focuses on a very clear real-time visualization of the internals of the Dotsama machine. As we're going to explain in the Future Plans section, it also has the potential to have educational, entertainment and functional value through future development. + +## Team :busts_in_silhouette: + +### Team members + +- **Team Lead & Full-Stack Developer:** Kutsal Kaan Bilgin +- **Product Manager:** Egor Zmaznev +- **Project Manager:** Daria Kravchenko +- **Backend Developer:** Ivaylo Hubanov +- **UI/UX Designer:** [Ksenia Leonteva](https://www.behance.net/markeer) +- **3D Designer:** [Lena Sivakova](https://www.behance.net/hypnosphere) + +### Contact + +- **Contact Name:** Kutsal Kaan Bilgin +- **Contact Email:** kutsal@helikon.io +- **Contact Element/Matrix:** @helikon:matrix.org +- **Website:** [helikon.io](https://helikon.io) + +### Legal Structure + +- **Registered Address:** Omer Avni Mah. Balcik Sok. 4/4 34427 Beyoglu Istanbul Turkey +- **Registered Legal Entity:** Helikon Teknoloji ve Medya Tic. Ltd. Sti. + +### Team's experience + +#### Helikon Labs + +A crypto-native software development company based in Istanbul. Founded by [Kutsal Kaan Bilgin](https://github.com/kukabi), Helikon Labs got introduced into the Dotsama ecosystem in January 2021. Currently focused on validator tooling, infrastructure support and creative coding projects for the Dotsama ecosystem. + +- Received a Kusama treasury grant ([M1-3](https://kusama.polkassembly.io/treasury/99), [M4-5](https://kusama.polkassembly.io/treasury/129)) for: + - Completed + - [SubVT Backend](https://github.com/helikon-labs/subvt-backend) + - [SubVT Data Swift](https://github.com/helikon-labs/subvt-data-swift) + - [SubVT Data Android](https://github.com/helikon-labs/subvt-data-android) + - Alpha Testing + - [SubVT iOS](https://github.com/helikon-labs/subvt-ios) + - Under Development + - [SubVT Android](https://github.com/helikon-labs/subvt-ios) +- [Received](https://github.com/w3f/Grants-Program/blob/master/applications/subvt-telegram-bot.md) and [delivered](https://github.com/w3f/Grant-Milestone-Delivery/blob/master/deliveries/subvt_telegram_bot-milestones-1-and-2.md) a W3F Level-1 Open Grant for the [SubVT Telegram Bot](https://github.com/helikon-labs/subvt-backend/tree/development/subvt-telegram-bot) for [Kusama](https://t.me/subvt_kusama_bot) and [Polkadot](https://t.me/subvt_polkadot_bot). +- Member of both Polkadot and Kusama Thousand Validators programs. +- Running two Kusama validators, and one Polkadot validator on owned hardware in a colocation center in Istanbul. +- Active governance participation. + +#### Kutsal Kaan Bilgin + +Founder of Helikon Labs. Software developer with a BS in Computer Science and 20 years of experience in software development and leadership in diverse fields such as fintech, defense industry, interactive art installations and GIS. Focusing on user-friendly, aesthetically pleasing and creative blockchain application development since late 2019. Dotsama native since early 2021. Developer of SubVT (please see above), [ChainViz Alpha](https://alpha.chainviz.app) and [ChainSynth Alpha](https://alpha.chainsynth.app). Presenter of a Substrate Seminar [episode](https://www.youtube.com/watch?v=e-o_hTj3UFk&t=6119s&ab_channel=ParityTech) on blockchain UI application development. + +#### Egor Zmaznev + +Egor comes from a business analytics background with an emphasis on DeFi and web3 business models. He is proficient in R and Python in applications to ML modelling, focusing primarily on textual analytics in business applications with research emphasis on DeFi and DAOs. One of the co-founders of Klad Syndicate, where he managed a set of crypto projects varying from smart contract analytics to NFT marketplaces. + +#### Daria Kravchenko + +Daria focuses on internal team management. Coming from a conflictological education background, she can effectively set up and organise all of the internal communications and carry task management. Together with the designers, Daria worked on and finalized over 35 design projects only in the past year as a Klad Syndicate co-founder. Previously, managed design processes for the SubVT implementation. + +#### Ivaylo Hubanov + +Ivaylo Hubanov is coming from a strong Information Security engineering background with more than 15 years of experience in the field. He spent the last 5 years growing his passion for development and writing crypto and forex trading bots, and took part in a project for developing a 3D Fair in Unity. Also a member of Polkadot and Kusama Thousand Validators programs, he developed a complex validator orchestrator system for running validators on GCP instances while maintaining lower costs by using spot instances with low specs while inactive and high specs while active. The orchestrator required collecting live information from the chain and Ivaylo became the first developer to utilize and take part in the improvement of the SubVT websocket services. Worked together with Kutsal on improving the SubVT backend and the Telegram bots. + +#### Ksenia Leonteva + +Ksenia is a co-founder and leading UI/UX designer at Klad. She has 15 years of experience in web and UI/UX design and worked on over five crypto and DeFi-related projects over the past year. Ksenia has developed UI/UX design for the SubVT application: from the user-flow map and the wireframes to the whole app UI design. Focuses on clean user-friendly solutions, and ensures that the development team always have convenient files to work with. In 2022, won over ten web-design awards. + +#### Lena Sivakova + +Lena is a co-founder and 3D & motion designer at Klad. She has over seven years of experience and has participated in various crypto projects providing supporting 3D materials, including interactive validator 3D models for SubVT. Lena brings volume and movement to brands, allowing for spectacular immersive digital experiences. + +### Team Code Repos + +- [Helikon Labs](https://github.com/helikon-labs) + - [ChainViz](github.com/helikon-labs/chainviz) + - [ChainSynth](github.com/helikon-labs/chainsynth) + - [SubVT Backend](github.com/helikon-labs/subvt-backend) + - [SubVT iOS](github.com/helikon-labs/subvt-ios) + - [SubVT Android](github.com/helikon-labs/subvt-android) + - [SubVT Data - Swift](github.com/helikon-labs/subvt-data-swift) + - [SubVT Data - Android](github.com/helikon-labs/subvt-data-android) +- Team Members + - Kutsal Kaan Bilgin [@kukabi](https://github.com/kukabi) + - Egor Zmaznev [@Zmaznevegor](https://github.com/Zmaznevegor) + +### Team LinkedIn Profiles + +- [Egor Zmaznev](https://www.linkedin.com/in/zmaznevegor/) +- [Daria Kravchenko](https://www.linkedin.com/in/kravchenko-daria/) +- [Ivaylo Hubanov](https://www.linkedin.com/in/ihubanov) + +### Team Behance Profiles + +- [Ksenia Leonteva](https://www.behance.net/markeer) +- [Lena Sivakova](https://www.behance.net/hypnosphere) + + +## Development Status :open_book: + +[Alpha version](https://alpha.chainviz.app) of ChainViz has been live since February 2022 as detailed under the Project Details section. There hasn't been any development for the first major version proposed by this document. + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Total Estimated Duration:** 2 months +- **Full-Time Equivalent (FTE):** 1.0 +- **Total Costs:** 22,000 USD + +### Milestone 1 — Block Details WS Service, Implementation of Upgrades for Existing Functionality + +- **Estimated duration:** 1 month +- **FTE:** 1.0 +- **Costs:** 11,000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | GPLv3 | +| 0b. | Documentation | Milestone progress report and inline code documentation. GitHub README that explains how to run an instance of the application. | +| 0c. | Testing Guide | Separate markdown in the GitHub repository that documents the complete backend test cases for the Block Details WS Service and the application Typescript code and how to run them. | +| 0d. | Docker | Necessary Docker/compose files necessary to run the backend services and the application. | +| 0e. | Video Article | A YouTube video accompanied by an article on Helikon website or another blog site that documents the milestone development/design process and the outcome. | +| 0f. | Block Details WS Service Specification | Complete specification of the websockets service. | +| 1. | Block Details WS Service | Implementation of the service as part of [SubVT Backend](https://github.com/helikon-labs/subvt-backend), deployed and available on the SubVT test server. | +| 2. | Complete Upgrade of the Existing Functionality Available at [chainviz.app](https://chainviz.app) | Implementation of UI/UX upgrades for validator space and models, block production, network status panel, validator list panel and validator details panel. | + +### Milestone 2 - Rest of the Application Features: Block Details, Parachains, Paravalidators, XCM + +- **Estimated Duration:** 1 month +- **FTE:** 1.0 +- **Costs:** 11,000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | GPLv3 | +| 0b. | Documentation | Milestone progress report and inline code documentation. GitHub README that explains how to run an instance. | +| 0c. | Testing Guide | Separate markdown in the GitHub repository that documents the complete application test cases and how to run them. | +| 0d. | Docker | Necessary Docker/compose files necessary to run the backend services and the application. | +| 0e. | Video Article | A YouTube video accompanied by an article on Helikon website or another blog site that documents the milestone development/design process and the outcome. | +| 1. | Complete Web Application with New Features | Web application live at [chainviz.app](https://chainviz.app), with additional real-time visualizations as documented above: complete block details on hover or click, parachains, parachain validator groups and their assignments, cross-chain messages. | + +## Future Plans + +- Add educational components and user guides. + - Replayable voice recordings attached to the various components and processes for the users who would like to learn more about the internals of the Dotsama machine. + - Text and visual augmentation. + - Animated explainers and hints that give better understanding of the technology and processes. +- Validator spaces and staking through ChainViz. Support for validators to claim and update their spaces. +- iOS and Android phone, table and watch applications. +- Exploration of VR and AR possibilities. +- Creating a wiki for validator operators, supporting pull requests. +- Adding indexes to provide insights for nominators (e.g. performance, telemetry data, reliability). +- Creating validator timeseries visualizations to provide insights on performance, reliability and stability. + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** + +We have successfully [delivered](https://github.com/w3f/Grant-Milestone-Delivery/blob/master/deliveries/subvt_telegram_bot-milestones-1-and-2.md) a W3F Level-1 Open Grant. Please view the [application document](https://github.com/w3f/Grants-Program/blob/master/applications/subvt-telegram-bot.md) for the details of our first introduction to the Grants Program. + +**Awards Received** + +Some of the recent design awards that the design team have received: + +1. CSS Design awards ([link](https://www.cssdesignawards.com/sites/klad-syndicate/41871/)) +2. Awwwards ([link](https://www.awwwards.com/Klad/)) +3. Mindsparkle Mag ([link](https://mindsparklemag.com/website/klad-syndicate/)) \ No newline at end of file From 2de508879d9d05904306d98a178fecee8ffd5604 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Fri, 18 Nov 2022 08:20:46 +0100 Subject: [PATCH 0287/1872] Update accepted_grant_applications.md ChainViz v1 --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index eeb4da07673..cddde747f65 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -574,3 +574,4 @@ | [10Clouds Sp. z o.o.](https://10clouds.com/) | Crowdloan Front End Template | [GitHub](https://github.com/10clouds) | ☐ | ☐ | ☐ | | [DodoRare, Inc.](https://dodorare.com/) | Faterium | [GitHub](https://github.com/faterium) | ☐ | ☐ | ☐ | | [The Bacon Beacon](https://github.com/random-bacon) | Pallet Drand Client | [GitHub](https://github.com/random-bacon) | ☐ | ☐ | ☐ | +| [Helikon Labs](https://helikon.io/) | ChainViz v1 | [GitHub](https://github.com/helikon-labs/chainviz) | ☐ | ☐ | ☐ | From 85d32ddaae9a1512c26393d12f4893f63df3675a Mon Sep 17 00:00:00 2001 From: David Hawig Date: Fri, 18 Nov 2022 09:38:20 +0100 Subject: [PATCH 0288/1872] Update README.md Update status of crowdloan front-end_template --- rfps/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rfps/README.md b/rfps/README.md index 98a8775a80e..18e2306c024 100644 --- a/rfps/README.md +++ b/rfps/README.md @@ -27,7 +27,7 @@ If you find an open RFP here that you think you can address, feel free to [submi | [anti-collusion_infrastructure.md](./open/anti-collusion_infrastructure.md) | :green_circle: | 29.11.2021 | | [appi.md](./implemented/appi.md) | :red_circle: | 20.07.2021 | | [candle-auction.md](./implemented/candle-auction.md) | :red_circle: | 02.02.2022 | -| [crowdloan_front_end_template.md](./open/crowdloan_front_end_template.md) | :green_circle: | 09.08.2022 | +| [crowdloan_front_end_template.md](./open/crowdloan_front_end_template.md) | :yellow_circle: | 18.11.2022 | | [epassport-zk-validation.md](./open/epassport-zk-validation.md) | :green_circle: | 29.11.2021 | | [formal_guarantees_for_grandpa.md](./open/formal_guarantees_for_grandpa.md) | :green_circle: | 07.10.2022 | | [identity-directory.md](./under_development/identity-directory.md) | :yellow_circle: | 30.05.2022 | From b749b5e1735e0f345682a41eb14b112634a4985c Mon Sep 17 00:00:00 2001 From: Noc2 Date: Fri, 18 Nov 2022 09:47:35 +0100 Subject: [PATCH 0289/1872] Update crowdloan front end rfp --- .../{open => under_development}/crowdloan_front_end_template.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename rfps/{open => under_development}/crowdloan_front_end_template.md (96%) diff --git a/rfps/open/crowdloan_front_end_template.md b/rfps/under_development/crowdloan_front_end_template.md similarity index 96% rename from rfps/open/crowdloan_front_end_template.md rename to rfps/under_development/crowdloan_front_end_template.md index 69c3001597e..65a50153934 100644 --- a/rfps/open/crowdloan_front_end_template.md +++ b/rfps/under_development/crowdloan_front_end_template.md @@ -1,6 +1,6 @@ # Crowdloan Front End Template -* **Status:** Open +* **Status:** [Under Development 1](https://github.com/w3f/Grants-Program/blob/master/applications/crowdloan_frontend_template.md) * **Proposer:** [SBalaguer](https://github.com/SBalaguer), [Noc2](https://github.com/Noc2) ## Project Description :page_facing_up: From f25c32de994bc145eb04f12b8980aca2cf70cfb4 Mon Sep 17 00:00:00 2001 From: Bryan Mutai Date: Fri, 18 Nov 2022 16:16:40 +0300 Subject: [PATCH 0290/1872] Crowdloans-FET Application (#1280) * Create Crowdloans-FET Application * Include Docker in milestone --- applications/Crowdloans-FET.md | 168 +++++++++++++++++++++++++++++++++ 1 file changed, 168 insertions(+) create mode 100644 applications/Crowdloans-FET.md diff --git a/applications/Crowdloans-FET.md b/applications/Crowdloans-FET.md new file mode 100644 index 00000000000..a679a3760b1 --- /dev/null +++ b/applications/Crowdloans-FET.md @@ -0,0 +1,168 @@ +# The CrowdloanFET Project + +- **Team Name:** Mutai Solutions +- **Payment Address:** 0xE27F2E8321Fb4c32525a4ED86d2902dbA63491E4 Ethereum (USDT) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 + +## Project Overview :page_facing_up: + + **This application is response to the [Crowdloan Front End Template RFP](https://github.com/w3f/Grants-Program/blob/master/rfps/open/crowdloan_front_end_template.md)** + +The CrowdloanFET project is a free and opensource white-label solution for Polkadot projects to showcase the Crowdloan to prospective and current project supporters and community members. + +Built using Nextjs, Tailwind and Polkadotjs, projects can easily configure/modify and deploy a frontend for their crowdloan campaign, either on their own infrastructure that supports node or on affordable/free platforms like Vercel. + +The template will come with an unopinionated style and will provide the appropriate information architecture for different projects to add on top of and apply their own brand assets. + + +## Project Details + +### Technology stack overview: + + - Framework: **Next.js**, built using Typescript + - Styling and branding config: **Tailwind** + - Wallet/on-chain data & network interactions: **Polkadotjs** + +### Configuration: + +To make the template generic & simple to configure, we shall use 3 main points of modifation: + +- **Markdown Files** - To populate the project copy thorough various sections of the template +- **.ENV configuration file** - To configure various settings that may be required for querying data on-chain and various other uses around the template. A few config variables to include would be: `PARA_ID`, `HOMEPAGE_LINK`, `DISCORD_INVITE_LINK`, `TWITTER_ACCOUNT_USERNAME`, `BLOG_LINK`, etc +- **Tailwind.config.js** - To configure key branding aspects. e.g Colours, Font, etc + +These as well as further configuration steps shall be outlined the accompanying documentation and tutorial article. + + +### Mockups: + +### Project Overview/Description Section + +**Wireframe** + +![image.png](https://user-images.githubusercontent.com/14836056/202225912-19b5906d-e532-40ce-bfb4-376d44bf381c.png) + + +**Example Mockup** + +![image.png](https://user-images.githubusercontent.com/14836056/202226004-2c7ac951-db82-4704-8c58-e744d9aa28e1.png) + + +### Crowdloan details & timeline Section +**Wireframe** + +![image.png](https://user-images.githubusercontent.com/14836056/202226870-2e319a79-5d36-441b-90df-6c670f4fc995.png) + +**Example Mockup** + +![image.png](https://user-images.githubusercontent.com/14836056/202226931-d3da8dfc-b45e-42fe-ad80-99c21e460a67.png) + +### Crowdloan Rewards Section: + +**Wireframe** + +![image.png](https://user-images.githubusercontent.com/14836056/202229039-c810bde8-8860-43da-a165-02c89d5e6e6c.png) + +**Example Mockup** + +![image.png](https://user-images.githubusercontent.com/14836056/202229444-51223716-aa35-440d-9db2-8a177f927eb1.png) + + +### Crowdloan Contributions Section: + +**Wireframe** + +![image.png](https://user-images.githubusercontent.com/14836056/202388654-9b8bb827-a74d-4885-b767-d282f8f4e575.png) + +**Example Mockup** + +![image.png](https://user-images.githubusercontent.com/14836056/202388697-b7971a33-1adb-4d42-9115-f81802c251ec.png) + +### Competing crowdloans Section: + +**Example Mockup** + +![image.png](https://user-images.githubusercontent.com/14836056/202399108-f1c388fd-06df-4c46-9e1d-030c7719f4b2.png) + + +### FAQ Section: + +**Example Mockup** + +![image.png](https://user-images.githubusercontent.com/14836056/202399482-2cf6ba84-bff1-4845-bbfd-7aaca1919203.png) + + +### Ecosystem Fit + +As outlined above in the Project Overview, this project is targeted toward project maintainers and their respective communities/contributors that are undertaking a crowdloan campaign. This ideally would help with eliviating some of the workload on the project maintainers while also providing conclusive visibility of a crowdloan to the wider Polkadot ecosystem at large and an easy approach to contributing to it. + +Similar implementations/projects: + + - https://acala.network/acala/join-acala + - https://mantanetwork.medium.com/the-calamari-crowdloan-on-kusama-74a3cb2a2a4b + +## Team :busts_in_silhouette: + +### Team members + +- **Bryan Mutai** : Full-Stack developer and web designer + +### Contact + +- **Contact Name:** Bryan Mutai +- **Contact Email:** work@bryanmutai.co + +### Legal Structure + +- **Registered Address:** 90 JGO, James Gichuru Road, Lavington, Nairobi, Kenya - P.O.Box 1669-00100 Nairobi GPO +- **Registered Legal Entity:** Mutai Solutions + +### Team's experience + +I studied software engineering at the University of Glasgow, I currently have 5 years experience in web design & development and have been working as a freelance web developer, working in various programming languages (Typescript/Python) and in various frameworks and libraries (React/Angularjs/Django). Over the past 2 years I have also been contributing towards various blockchain related opensource projects. Recently in particular: + +- Designed & built a Voting Delegation Dashboard for the APWine DAO using React/Typescript/Tailwind - https://vote-delegation-dashboard.vercel.app/ +- Contributions to the Shapeshift Web App & related KeepKey hardware wallet features. - https://github.com/shapeshift/web/commits?author=brymut +- Integrating price data for Superfluid tokens into the Gnosis Safe web app backend - https://github.com/safe-global/safe-eth-py/pull/381 +- Added support for Zora NFTs viewing & the Celo blockchain onto the Mask.io browser plugin - https://github.com/DimensionDev/Maskbook/commit/810999f38a09df8d5cefb490b4ca475b837458bc & https://github.com/DimensionDev/Maskbook/commit/c5cfdf393baf6cf7997f66cbabc5e5952dc8cb4d +- Github Page: [https://github.com/](https://github.com/brymut/) + +### Team LinkedIn Profiles + +- [https://www.linkedin.com/in/bryanmutai/](https://www.linkedin.com/in/bryanmutai/) + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Total Estimated Duration**: 1 Month +- **Full-Time Equivalent (FTE)**: 1 +- **Total Costs**: 5,600 USD + +### Milestone 1 + +- **Estimated duration:** 1 month +- **FTE:** 1 +- **Costs:** 5,600 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| 0a. | License | Apache 2.0 +| 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can deploy an instance of the template for their project| +| 0c. | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone.| +| 0e. | Article | We will publish an article that explains the core functionality of the template and intended use as well as a step by step tutorial targeted towards developers on how to configure, modify & deploy the template on a popular hosting platform like Vercel | +| 1. | Template User interface implementation | I will design and implement the template UI using Tailwind in the Nextjs framework. The user interface will include: Project information, rewards schema, current contributions, time left in the crowdloan and information on the contribtions made after the crowdloan ends as shown simulated in the mockups above | +| 2. | Contribution form & interaction | A simple interface for users to contribute directly through the deployed template through the entire cycle contribution, handling both a finalised contribution as well as any encountered errors | +| 3. | Example User interface | Using the output from 1 & 2 I will create a sample crowdloan deployment that would be the result of implementing the Front End template following the steps outlined in the output from 0d. | + + +## Future Plans + +- Core maintainance of project, such as critical bugs and security updates +- Implementing/merging community suggestions/Pull Requests on features that could help improve the experience of both deploying and using the template. +- Collecting feedback from projects that consider/use this template. + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** Web3 Foundation Website From df6d7649cbe6c602bb71a30b92bbefedd9158964 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Fri, 18 Nov 2022 20:01:44 +0100 Subject: [PATCH 0291/1872] Update accepted_grant_applications.md Crowdloans-FET --- docs/accepted_grant_applications.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index cddde747f65..c35bbb84890 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -575,3 +575,4 @@ | [DodoRare, Inc.](https://dodorare.com/) | Faterium | [GitHub](https://github.com/faterium) | ☐ | ☐ | ☐ | | [The Bacon Beacon](https://github.com/random-bacon) | Pallet Drand Client | [GitHub](https://github.com/random-bacon) | ☐ | ☐ | ☐ | | [Helikon Labs](https://helikon.io/) | ChainViz v1 | [GitHub](https://github.com/helikon-labs/chainviz) | ☐ | ☐ | ☐ | +| [Mutai Solutions](https://bryanmutai.co/) | Crowdloans-FET | [GitHub](https://github.com/brymut) | ☐ | ☐ | ☐ | From d523d56b7bd53b101a9af1aa04e504f04b50c7f1 Mon Sep 17 00:00:00 2001 From: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> Date: Fri, 18 Nov 2022 20:04:23 +0100 Subject: [PATCH 0292/1872] Terminate Quantum Lock for QBITCOIN (#1283) https://github.com/w3f/Grants-Program/pull/904#issuecomment-1297382772 --- applications/quantumLock.md | 1 + 1 file changed, 1 insertion(+) diff --git a/applications/quantumLock.md b/applications/quantumLock.md index 20cf332eb98..ce0a72abc44 100644 --- a/applications/quantumLock.md +++ b/applications/quantumLock.md @@ -5,6 +5,7 @@ - **Team Name:** BQP - **Payment Address:** 0x063c75324504D1595a972462A30A230d703f655e (ETH) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 +- **Status:** [Terminated](https://github.com/w3f/Grants-Program/pull/904#issuecomment-1297382772) ## Project Overview :page_facing_up: From ceebb52da56e306b8592316ef8da2052e0e0ef62 Mon Sep 17 00:00:00 2001 From: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> Date: Sat, 19 Nov 2022 11:01:10 +0100 Subject: [PATCH 0293/1872] Terminate Setheum HighEnd LaunchPad Crowdsales Module (#1284) --- applications/setheum-launchpad-crowdsales-pallet.md | 1 + 1 file changed, 1 insertion(+) diff --git a/applications/setheum-launchpad-crowdsales-pallet.md b/applications/setheum-launchpad-crowdsales-pallet.md index 53461006acf..fe1846b28e6 100644 --- a/applications/setheum-launchpad-crowdsales-pallet.md +++ b/applications/setheum-launchpad-crowdsales-pallet.md @@ -8,6 +8,7 @@ - **Team Name:** Setheum Labs - **Payment Address:** 3NaU6UHe9MQyb5d2mFS49DJqaWMsuw7NKd (BTC) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 +- **Status:** [Terminated](https://github.com/w3f/Grants-Program/pull/823#issuecomment-1297355678) > ⚠️ *The combination of your GitHub account submitting the application and the payment address above will be your unique identifier during the program. Please keep them safe.* From be63ac1a6d28239ef85f3f0628d25eeb1f9192a6 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 21 Nov 2022 10:11:28 +0100 Subject: [PATCH 0294/1872] Update crowdloan_front_end_template.md Add second team --- rfps/under_development/crowdloan_front_end_template.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rfps/under_development/crowdloan_front_end_template.md b/rfps/under_development/crowdloan_front_end_template.md index 65a50153934..428a955fba7 100644 --- a/rfps/under_development/crowdloan_front_end_template.md +++ b/rfps/under_development/crowdloan_front_end_template.md @@ -1,6 +1,6 @@ # Crowdloan Front End Template -* **Status:** [Under Development 1](https://github.com/w3f/Grants-Program/blob/master/applications/crowdloan_frontend_template.md) +* **Status:** [Under Development 1](https://github.com/w3f/Grants-Program/blob/master/applications/crowdloan_frontend_template.md), [Under Development 2](https://github.com/w3f/Grants-Program/blob/master/applications/Crowdloans-FET.md) * **Proposer:** [SBalaguer](https://github.com/SBalaguer), [Noc2](https://github.com/Noc2) ## Project Description :page_facing_up: From 4696c8eeb2f231c6703eac01471a786c81287e0c Mon Sep 17 00:00:00 2001 From: Aleixo Sanchez <15819210+alxs@users.noreply.github.com> Date: Mon, 21 Nov 2022 14:58:58 +0100 Subject: [PATCH 0295/1872] Update accepted_grant_applications.md --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index c35bbb84890..d558d93c59e 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -204,7 +204,7 @@ | [Halva](https://github.com/halva-suite) | A toolchain for improving the experience of developing Decentralized Applications based on Substrate | [GitHub](https://github.com/halva-suite) | ☐ | ☒ | ☒ | | [Subscan](subscan.io) | Substrate explorer | [GitHub](https://github.com/itering/subscan) | ☐ | ☒ | ☒ | | [t3rn](https://github.com/t3rn/t3rn) | A protocol for blockchain interoperability | [GitHub](https://github.com/t3rn/t3rn) | ☐ | ☒ | ☒ | -| [Stake Technologies](https://stake.co.jp/) | Hardware ECDSA for Polkadot JS | [GitHub](https://github.com/polkadot-js) | ☐ | ☐ | ☐ | +| [Stake Technologies](https://stake.co.jp/) | Hardware ECDSA for Polkadot JS | [GitHub](https://github.com/polkadot-js) | ☐ | ☒ | ☒ | | [Protofire](https://protofire.io/) | Failover mechanism for validators upgrade | [GitHub](https://github.com/protofire) | ☐ | ☒ | ☐ | | [DappForce](http://dappforce.io) | SubSocial Chapter 2 | [GitHub](https://github.com/dappforce/dappforce-subsocial) | ☐ | ☒ | ☒ | | [OpenSquare Network](https://www.opensquare.network/) | A blockchain based crowdsourcing and reputation platform | [GitHub](https://github.com/opensquare-network) | ☐ | ☒ | ☒ | From 823f5369aa536e85a354ccc687598b6c75706f3c Mon Sep 17 00:00:00 2001 From: ashWhiteHat Date: Mon, 21 Nov 2022 23:41:29 +0900 Subject: [PATCH 0296/1872] update timeline and company entity (#1288) --- applications/zero-network.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/applications/zero-network.md b/applications/zero-network.md index f6d481aeb03..1644af1d536 100644 --- a/applications/zero-network.md +++ b/applications/zero-network.md @@ -4,7 +4,7 @@ - **Project Name:** Zero Network - **Team Name:** Zero Network -- **Payment Address:** 0x6fA7BAB5fB3A644af160302de3Badc0958601b44 (DAI) +- **Payment Address:** 0x9061b0787D28d0fDaD845d670F7505EAE5F3B01B (DAI) - **Level:** 2 ## Project Overview :page_facing_up: @@ -109,14 +109,14 @@ Considering both sides, the zero knowledge scheme is related deeply to calculati ### Contact -* **Contact Name:** Artree LLC -* **Contact Email:** info@artree.co.jp -* **Website:** [Artree](https://artree.co.jp/) +* **Contact Name:** Invers Inc +* **Contact Email:** info@invers.tech +* **Website:** [Invers](https://invers.tech/) ### Legal Structure -- **Registered Address:** 2F Hamamatutyo Dia Building, 2-2-15 Hamamatsucho, Minato-ku, Tokyo-to 105-0013, Japan -- **Registered Legal Entity:** Artree LLC. +- **Registered Address:** 2F・3F Emblem Nishiarai, 3-33-6 Umejima, Adachi City, Tokyo-to 121-0816, Japan +- **Registered Legal Entity:** Invers Inc. ### Team's experience @@ -221,7 +221,7 @@ In `Milestone 3`, we are going to implement `wallet` which provides the user to | Milestone | Deliverable | Estimated Duration (month) | Deadline | | -----: | ----------- | ------------- | ------------- | -| 1 | Confidential Transfers | 2 | 2022 1/7 | +| 1 | Confidential Transfers | 2 | 2023 1/7 | | 2 | Confidential Smart Contract Executions | 3 | 2023 4/7 | | 3 | Confidential Smart Contract Executions | 1.5 | 2023 5/26 | From fb2af6065f3f9ce25b4f39a0eb52d38d37cd4fbe Mon Sep 17 00:00:00 2001 From: Stefan Date: Mon, 21 Nov 2022 21:45:05 +0700 Subject: [PATCH 0297/1872] Amend Gafi Milestone 3 (#1279) --- applications/Gafi.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/applications/Gafi.md b/applications/Gafi.md index 46ae84afe36..984dd2eb01e 100644 --- a/applications/Gafi.md +++ b/applications/Gafi.md @@ -176,7 +176,7 @@ Whitepaper: Coming soon - **Total Estimated Duration:** 11.5 months - **Full-Time Equivalent (FTE):** 1.2 FTEs -- **Total Costs:** 59,000 USDT +- **Total Costs:** 52,700 USDT ### Milestone 1 — The Heroes & Empires @@ -245,11 +245,10 @@ In this milestone, the requirements will fall into acceptance criteria: - **Estimated duration:** 4 months - **FTE:** 1.2 -- **Costs:** 19,000 USD +- **Costs:** 12,700 USD In this milestone, the requirements will fall into acceptance criteria: + Gafi Network Testnet launch with at least 5 nodes -+ Build DAO to vote on-chain governance + Pallet Game-Creator works + Determine the 'x' number of limit discount transactions per minute by Testnet and vote by on-chain governance + Determine the 'y' percentage to reduce transaction fee by Testnet and vote by on-chain governance @@ -267,9 +266,8 @@ In this milestone, the requirements will fall into acceptance criteria: | 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | | 0e. | Article | wiki.gafi.network and Medium | | 1. | Substrate module: pallet game-creator | https://wiki.gafi.network/learn/game-creator | -| 2. | Substrate module: pallet_dao | module to vote on-chain runtime data | -| 3. | Weights/Benchmarking | implement benchmarking for pallets to determine appropriate weights | -| 4. | Demo | Demo new features in milestone 3 with guide article | +| 2. | Weights/Benchmarking | implement benchmarking for pallets to determine appropriate weights | +| 3. | Demo | Demo new features in milestone 3 with guide article | ## Future Plans From e037fe117a5622ac010124510283313e7848ea57 Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Tue, 22 Nov 2022 12:18:35 -0500 Subject: [PATCH 0298/1872] Update accepted_grant_applications.md (#1297) --- docs/accepted_grant_applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/accepted_grant_applications.md b/docs/accepted_grant_applications.md index d558d93c59e..86b5ef0cc9e 100644 --- a/docs/accepted_grant_applications.md +++ b/docs/accepted_grant_applications.md @@ -526,7 +526,7 @@ | [Karolis Ramanauskas](https://krl.is/) | Generic Sybil-Resistant Faucet | [GitHub](https://github.com/karooolis) | ☐ | ☒ | ☒ | | [LimeChain](https://limechain.tech/) | Research feasibility for a Go Runtime | [GitHub](https://github.com/LimeChain) | ☐ | ☒ | ☒ | | [Jim Yam](https://github.com/JimYam) | daos | [GitHub](https://github.com/daos-org/daos.git) | ☐ | ☒ | ☐ | -| [Green Lemon](https://github.com/GreenLemonProtocol) | Green Lemon Protocol | [GitHub](https://github.com/GreenLemonProtocol) | ☐ | ☒ | ☐ | +| [Green Lemon](https://github.com/GreenLemonProtocol) | Green Lemon Protocol | [GitHub](https://github.com/GreenLemonProtocol) | ☐ | ☒ | ☒ | | [Stardust Labs Inc.](https://stardust.finance/) | Integrating ISO-8583 | [GitHub](https://github.com/adit313/) | ☐ | ☒ | ☒ | | [TwinP](https://www.linkedin.com/in/elioprifti/) | Escrow Pallet | [GitHub](https://github.com/herou) | ☐ | ☒ | ☒ | | [Meta Defender Team](https://github.com/Meta-Defender/) | Meta Defender | [GitHub](https://github.com/Meta-Defender/) | ☐ | ☐ | ☐ | From 57ef638f2bb331c24c569bff02f04c2b3e89bfb0 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Wed, 23 Nov 2022 00:23:49 +0100 Subject: [PATCH 0299/1872] Website (#1296) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * test page deployment (#1292) * Rename .github/publish.yml to .github/workflows/publish.yml * Test commit * Update publish.yml * Update publish.yml * Update docusaurus.config.js * Fix image links * Rename applications category * Move Apply in header to right * Restructure Process docs * Fix header link * Update index.md (#1295) * Update team.md Update team md * Fix emojis * Update .github/workflows/publish.yml * Re-fix links * Add latest changes from master * add docusaurus folders to gitignore * Fix hyperlink for docusaurus * Remove emoji from page title * add accepted grants doc * remove accepted grants doc * restore accepted doc * Update accepted_grant_applications.md (#1297) (#1298) Co-authored-by: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Co-authored-by: Sebastian Müller Co-authored-by: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> --- .github/workflows/publish.yml | 26 + .gitignore | 5 + README.md | 32 +- applications/AdMeta.md | 32 +- applications/Afloat.md | 144 +++-- applications/AlgoCash.md | 61 +- applications/Apron_Network.md | 97 ++- applications/BCANN.md | 62 +- applications/Banksy_Finance.md | 4 +- applications/CESS.md | 136 ++-- ...Cere_Turnkey_Private_Blockchain_Network.md | 3 +- applications/Coinversation.md | 3 +- applications/DICO.md | 37 +- applications/DKSAP.md | 3 +- applications/DNFT.md | 3 +- applications/Dante_Network.md | 3 +- applications/Datagen_Project.md | 52 +- applications/DipoleOracle.md | 3 +- applications/DistributedKeyManagement.md | 142 ++--- applications/DotPay.md | 139 ++--- applications/DotPulse.md | 68 +- applications/Doter.md | 138 +++-- applications/EverlastingCash.md | 188 +++--- applications/FIAT-on-off-ramp.md | 3 +- applications/Faucet.md | 3 +- applications/Fennel_Protocol.md | 181 +++--- applications/Gafi.md | 4 +- ...ralized_hardware_crypto_wallet_services.md | 183 +++--- applications/GreenLemon.md | 3 +- applications/Idavoll Network.md | 28 +- applications/Integrating-ISO8583.md | 22 +- applications/Interstellar-Network.md | 138 ++--- applications/InvArch.md | 227 +++---- applications/JuniDB.md | 120 ++-- .../KSM-embeddable-tip-or-donate-button.md | 3 +- applications/Koiverse.md | 122 +--- applications/Libra.md | 86 +-- applications/MAP-Bridge.md | 4 +- applications/MIXER.md | 3 +- applications/MIXERv2.md | 3 +- applications/Maki.md | 3 +- applications/MangoBOX-Protocol.md | 5 +- applications/Meta_Defender.md | 206 +++--- applications/NFTStore_Network.md | 3 +- ...col_for_NFT_Migration_and_Data_Exchange.md | 3 +- applications/Nolik.md | 136 ++-- applications/NuLink.md | 4 +- applications/OpenSquare-offchain-voting.md | 87 +-- applications/OpenSquare_paid_qa_protocol.md | 105 ++-- applications/ParaSpell.md | 122 ++-- applications/Parallel.md | 151 ++--- applications/Plus-follow-up.md | 3 +- applications/Plus-social-recovery-wallet.md | 3 +- applications/Plus.md | 3 +- applications/PolkaKey.md | 3 +- applications/PolkaSignIn.md | 73 ++- applications/Polkadart.md | 3 +- applications/Polkadot-Dart.md | 49 +- applications/Polkadot_Web_UI.md | 4 +- applications/Polkaholic.md | 3 +- applications/Polkawatch.md | 3 +- applications/Primis.md | 29 +- applications/QRUCIAL_DAO.md | 36 +- ...ining data, De-Fi and NFTs on Substrate.md | 3 +- ....md => RainbowDAO Protocol ink Phase 1.md} | 5 +- applications/RareLink.md | 3 +- applications/RedStone Network.md | 62 +- applications/Relation-Graph.md | 54 +- applications/Roloi.md | 3 +- applications/RubeusKeeper.md | 3 +- applications/RubyProtocol.md | 155 ++--- .../SEOR-code-less-smart-contract-platform.md | 3 +- applications/SaaS3.md | 202 +++--- applications/Shivarthu.md | 117 ++-- applications/Societal.md | 44 +- applications/SpiderDAO.md | 117 ++-- applications/Standard_Protocol.md | 387 ++++++------ applications/Starry_Network.md | 3 +- applications/SubDAO-Chrome-Extension.md | 72 +-- applications/SubDAO_Network.md | 3 +- applications/SubDAO_PolkaSign.md | 70 +-- applications/SubGame_Network.md | 15 +- applications/SubGame_Network_m2.md | 3 +- applications/SubIdentity.md | 3 +- applications/SubsCrypt.md | 3 +- applications/Subsembly-GRANDPA.md | 64 +- applications/TREX_Network.md | 3 +- applications/UMC-Tokenscribe.md | 3 +- applications/Web3Go.md | 121 ++-- applications/Whiteflag-on-Fennel.md | 83 +-- applications/XPredictMarket.md | 60 +- applications/ZeroDAO_Network.md | 37 +- applications/ZeroPool.md | 77 ++- applications/Zondax-Support.md | 3 +- applications/_category_.yml | 2 + applications/ajuna_network_follow_up.md | 141 +++-- .../anagolay-project-idiyanale-phase-1.md | 99 ++- applications/application-template.md | 32 +- applications/ares_protocol.md | 3 +- applications/assemblyscript-scale-codec.md | 48 +- applications/asylum.md | 3 +- applications/asylum_follow_up_1.md | 63 +- applications/bdwallet.md | 73 ++- applications/bit_country.md | 3 +- applications/bit_country_m2.md | 3 +- applications/blackprint-js.md | 5 +- applications/bldg_app.md | 74 ++- applications/bounce-protocol.md | 44 +- applications/bright_treasury.md | 3 +- applications/c++polkadot-light-client.md | 3 +- applications/cScale.md | 19 +- applications/candle_auction_ink.md | 3 +- applications/canyon_network.md | 15 +- applications/ces_data_store.md | 3 +- applications/chainjs.md | 3 +- applications/chainviz.md | 18 +- applications/cheersland.md | 104 ++-- applications/choko_wallet.md | 95 ++- applications/citadel.md | 30 +- applications/clover_network.md | 53 +- applications/crossbow.md | 58 +- applications/crowdloan_frontend_template.md | 16 +- ...olab-staking-reward-collector-front-end.md | 26 +- applications/curve_amm.md | 4 +- applications/daos.md | 40 +- applications/dart-scale-codec.md | 38 +- .../decentralized_well-being_game_api.md | 22 +- applications/deeper_network.md | 47 +- applications/deip.md | 3 +- applications/delmonicos.md | 46 +- applications/dora-factory-molochdao-v1-v2.md | 55 +- applications/dorahacks-quadratic-funding.md | 39 +- applications/dot_marketplace-phase2.md | 45 +- applications/dot_marketplace.md | 183 +++--- applications/dotmog.md | 150 +++-- applications/epirus_substrate_explorer.md | 157 +++-- applications/epirus_substrate_phase_2.md | 77 ++- applications/escrow_pallet.md | 3 +- applications/evanesco_networks.md | 3 +- applications/example-project.md | 3 +- applications/faceless.md | 152 ++--- applications/fair_squares.md | 146 ++--- applications/faterium.md | 40 +- applications/fractapp.md | 79 ++- applications/halva_bootstrapping.md | 9 +- applications/halva_framework.md | 15 +- applications/hamster.md | 3 +- applications/helixstreet.md | 5 +- applications/hex.md | 3 +- applications/hs-web3.md | 56 +- applications/imbue_network.md | 51 +- applications/index.md | 584 ++++++++++++++++++ applications/ink-explorer.md | 3 +- applications/ipfs_utilities.md | 24 +- applications/iris.md | 3 +- applications/iris_followup.md | 3 +- applications/java-client.md | 3 +- applications/keysafe_network.md | 23 +- applications/klevoya_fuzzer.md | 49 +- applications/konomi.md | 99 +-- applications/kylin_network.md | 3 +- applications/liberland.md | 359 +++++------ applications/lip_payments.md | 45 +- applications/logion_wallet.md | 4 +- applications/lunie.md | 48 +- applications/manta_network.md | 181 +++--- applications/massbit_route.md | 89 ++- applications/mobile-game-framework.md | 3 +- applications/mobile_dapp_connection.md | 8 +- .../multisignature_management_tool.md | 3 +- applications/mybank.md | 3 +- applications/native-bitcoin-vaults.md | 5 +- applications/new-order.md | 55 +- applications/new_bls12_hash_function.md | 3 +- applications/newomega-m3m4.md | 3 +- applications/newomega.md | 3 +- applications/nft_collectibles_wallet.md | 92 ++- applications/nft_explorer.md | 187 +++--- applications/nft_product_analytics_suite.md | 26 +- applications/on-chain-cash.md | 3 +- applications/open-node-framework.md | 89 ++- applications/openbrush-follow-up-2.md | 126 ++-- applications/openbrush-follow-up.md | 72 +-- applications/openbrush.md | 93 ++- applications/openrollup-mvp-phase-1.md | 3 +- applications/pacific_store.md | 3 +- applications/pallet_maci.md | 3 +- applications/pallet_supersig.md | 164 +++-- applications/panic.md | 3 +- applications/parachain-staking.md | 3 +- applications/parami-protocol.md | 3 +- applications/perun_app_channels.md | 3 +- applications/perun_channels-integration.md | 113 ++-- applications/perun_channels.md | 76 +-- applications/pesa_pallet.md | 9 +- applications/php-rpc-lib.md | 4 +- applications/php-scale-lib.md | 3 +- applications/php-substrate-api.md | 55 +- applications/plip.md | 62 +- applications/polk-auction.md | 71 +-- applications/polkadex.md | 3 +- applications/polkadot-desktop-app.md | 15 +- .../polkadot-js-extension-per-account-auth.md | 3 +- applications/polkadotjs-ecdsa.md | 3 +- applications/polkadotjs-hardware.md | 23 +- applications/polkadotjs_no_code.md | 3 +- applications/polkaj_android_support.md | 41 +- applications/polkakeeper.md | 3 +- applications/polkamusic.md | 234 +++---- applications/polkashots.md | 3 +- applications/polkastarter.md | 28 +- applications/polkastats.md | 3 +- applications/polket_toearnfun.md | 39 +- applications/pontem.md | 3 +- applications/project_1001.md | 44 +- applications/project_aurras_mvp_phase_1.md | 82 ++- applications/project_aurras_mvp_phase_2.md | 3 +- applications/project_bodhi.md | 118 ++-- applications/prosopo.md | 219 +++---- applications/quadratic-funding.md | 97 +-- applications/quantumLock.md | 4 +- applications/rb_substrate_client.md | 41 +- .../research-feasibility-go-runtime.md | 3 +- .../saito-game-protocol-and-engine.md | 3 +- applications/scale-codec-comparator.md | 21 +- applications/sensio_network.md | 3 +- applications/sequester.md | 5 +- .../setheum-launchpad-crowdsales-pallet.md | 24 +- applications/setheum.md | 70 ++- applications/shadows-network.md | 68 +- applications/signac.md | 103 +-- applications/skyekiwi-protocol.md | 81 +-- applications/skyepass.md | 135 ++-- applications/skynet-substrate-integration.md | 45 +- applications/slonigiraf.md | 167 ++--- applications/social_recovery_wallet.md | 80 ++- applications/sol2ink.md | 3 +- applications/spacewalk-bridge.md | 3 +- applications/spartan_poc_consensus_module.md | 109 ++-- applications/sr25519_donna.md | 24 +- applications/stable-asset.md | 22 +- .../staking-rewards-collector-front-end.md | 20 +- applications/stardust.md | 37 +- applications/starks_network.md | 102 +-- applications/stone-index-on-substrate.md | 3 +- applications/subalfred.md | 29 +- applications/subauction.md | 45 +- applications/subdex.md | 3 +- applications/subquery.md | 68 +- applications/subrelay.md | 61 +- applications/subscript_lang.md | 23 +- applications/substats.md | 3 +- applications/substrate-identity-directory.md | 109 ++-- applications/substrate-tutorials.md | 3 +- applications/substrate_client_java.md | 3 +- applications/substrate_core_polywrapper.md | 118 ++-- applications/substrate_startkit_GUI.md | 3 +- applications/subvt-telegram-bot.md | 15 +- applications/subwallet.md | 3 +- applications/sukhavati_poc_module.md | 3 +- applications/sunrise-dex.md | 3 +- applications/sunshine-keybase.md | 3 +- applications/sup.md | 3 +- applications/tdot.md | 46 +- applications/tribal_protocol.md | 43 +- applications/typechain-polkadot-follow-up.md | 32 +- applications/typechain-polkadot.md | 3 +- applications/uke-protocol.md | 58 +- applications/uke.md | 54 +- applications/universaldot-me.md | 5 +- applications/universaldot.me.md | 4 +- applications/upgradeability-by-proxy.md | 3 +- applications/uplink.md | 25 +- applications/vanguard.md | 3 +- applications/ventur.md | 212 +++---- applications/vera_defi.md | 4 +- applications/verida_network.md | 37 +- applications/visualize_rust_lifetime.md | 3 +- applications/wasm-opt-for-rust.md | 4 +- applications/wasm_runtimes_fuzzing.md | 32 +- applications/wasmedge_substrate.md | 3 +- applications/web3-compatible-api.md | 3 +- applications/wika_network.md | 375 +++++------ applications/workflow_testing.md | 3 +- applications/xbi-format-psp-t3rn.md | 45 +- applications/xcm-sdk.md | 3 +- applications/xtokens.md | 71 ++- applications/yatima.md | 86 +-- applications/yiban_chen1.md | 19 +- applications/yieldscan_phase_2.md | 186 +++--- applications/zenlink-cross-chain-dex.md | 3 +- applications/zenlink-smart-contract.md | 3 +- applications/zenlink.md | 3 +- applications/zero-network.md | 24 +- applications/zk-plonk.md | 38 +- applications/zk-rollups.md | 53 +- babel.config.js | 3 + docs/Applications | 1 + docs/Introduction/_category_.yml | 2 + docs/Introduction/ideas.md | 13 + docs/Introduction/index.md | 10 + docs/Introduction/intro.md | 31 + docs/Introduction/levels.md | 29 + docs/Introduction/support.md | 9 + docs/Introduction/team.md | 49 ++ docs/Process/_category_.yml | 2 + docs/Process/changes.md | 10 + docs/Process/how-to-apply.md | 23 + docs/Process/index.md | 30 + docs/Process/milestone_delivery.md | 8 + docs/Process/review.md | 11 + docs/{ => Support Docs}/T&Cs.md | 0 .../announcement-guidelines.md | 0 .../grant-badge-guidelines.md | 4 +- .../grant_guidelines_per_category.md | 0 .../milestone-deliverables-guidelines.md | 0 docs/{ => Support Docs}/polkadot_stack.md | 4 +- docs/accepted_grant_applications.md | 32 +- docs/contribute.md | 13 + docs/faq.md | 47 +- docs/funding.md | 35 ++ docs/help.md | 39 ++ docs/maintenance.md | 25 + docs/referral-program.md | 8 + .../rfps/Implemented}/appi.md | 0 .../rfps/Implemented}/candle-auction.md | 0 .../rfps/Implemented}/ksm-tipping-button.md | 0 .../on-chain-quadratic-funding.md | 0 .../rfps/Implemented}/php-api.md | 0 .../rfps/Implemented}/php-scale.md | 0 .../staking-rewards-collector-front-end.md | 0 {rfps/open => docs/rfps/Open}/ISO_20022.md | 0 .../rfps/Open}/a-and-v-topology.md | 0 ...ternative_polkadot_host_implementations.md | 0 .../Open}/anti-collusion_infrastructure.md | 0 .../rfps/Open}/epassport-zk-validation.md | 0 .../Open}/formal_guarantees_for_grandpa.md | 0 .../rfps/Open}/implementation-benchmarking.md | 0 .../rfps/Open}/move_smart_contract_pallet.md | 0 .../rfps/Open}/polkadot-collator-setup.md | 0 .../rfps/Open}/raft-validators.md | 0 .../open => docs/rfps/Open}/sub-consensus.md | 0 .../rfps/Open}/validator-setup-maintenance.md | 0 {rfps/open => docs/rfps/Open}/xcm-tool.md | 0 docs/rfps/README.md | 61 ++ .../rfps/Under Development}/ISO_8583.md | 0 .../crowdloan_front_end_template.md | 0 .../Under Development}/identity-directory.md | 0 .../ink_smart_contract_block_explorer.md | 0 .../multi-chain-block-explorer.md | 0 .../privacy-enhancement-polkadot-extension.md | 0 .../scale-codec-comparator.md | 0 .../social-recovery-wallet.md | 0 .../uncollateralized-stablecoin-research.md | 0 {rfps => docs/rfps}/suggestion-template.md | 0 docs/suggesting_a_project.md | 24 + docusaurus.config.js | 148 +++++ package.json | 44 ++ rfps/README.md | 57 -- sidebars.js | 30 + src/components/HomepageFeatures.js | 59 ++ src/components/HomepageFeatures.module.css | 14 + src/css/custom.css | 42 ++ src/pages/index.js | 40 ++ src/pages/index.module.css | 25 + static/.nojekyll | 0 {src => static/img}/Grants_Program.png | Bin .../Polkadot_Logo_Horizontal_BlackOnWhite.svg | 1 + static/img/Web3Foundation.png | Bin 0 -> 15328 bytes {src => static/img}/badge_black.svg | 0 static/img/everyone-1.svg | 271 ++++++++ static/img/icon-documentation.svg | 1 + {src => static/img}/like.png | Bin {src => static/img}/map.png | Bin {src => static/img}/medium.png | Bin {src => static/img}/reddit.png | Bin {src => static/img}/rfp-header.png | Bin {src => static/img}/twitter.png | Bin {src => static/img}/web.png | Bin .../img}/web3 foundation grants_black.jpg | Bin {src => static/img}/youtube-play.png | Bin 381 files changed, 8914 insertions(+), 7188 deletions(-) create mode 100644 .github/workflows/publish.yml rename applications/{RainbowDAO Protocol ink! Phase 1.md => RainbowDAO Protocol ink Phase 1.md} (99%) create mode 100644 applications/_category_.yml create mode 100644 applications/index.md create mode 100644 babel.config.js create mode 120000 docs/Applications create mode 100644 docs/Introduction/_category_.yml create mode 100644 docs/Introduction/ideas.md create mode 100644 docs/Introduction/index.md create mode 100644 docs/Introduction/intro.md create mode 100644 docs/Introduction/levels.md create mode 100644 docs/Introduction/support.md create mode 100644 docs/Introduction/team.md create mode 100644 docs/Process/_category_.yml create mode 100644 docs/Process/changes.md create mode 100644 docs/Process/how-to-apply.md create mode 100644 docs/Process/index.md create mode 100644 docs/Process/milestone_delivery.md create mode 100644 docs/Process/review.md rename docs/{ => Support Docs}/T&Cs.md (100%) rename docs/{ => Support Docs}/announcement-guidelines.md (100%) rename docs/{ => Support Docs}/grant-badge-guidelines.md (96%) rename docs/{ => Support Docs}/grant_guidelines_per_category.md (100%) rename docs/{ => Support Docs}/milestone-deliverables-guidelines.md (100%) rename docs/{ => Support Docs}/polkadot_stack.md (59%) create mode 100644 docs/contribute.md create mode 100644 docs/funding.md create mode 100644 docs/help.md create mode 100644 docs/maintenance.md create mode 100644 docs/referral-program.md rename {rfps/implemented => docs/rfps/Implemented}/appi.md (100%) rename {rfps/implemented => docs/rfps/Implemented}/candle-auction.md (100%) rename {rfps/implemented => docs/rfps/Implemented}/ksm-tipping-button.md (100%) rename {rfps/implemented => docs/rfps/Implemented}/on-chain-quadratic-funding.md (100%) rename {rfps/implemented => docs/rfps/Implemented}/php-api.md (100%) rename {rfps/implemented => docs/rfps/Implemented}/php-scale.md (100%) rename {rfps/implemented => docs/rfps/Implemented}/staking-rewards-collector-front-end.md (100%) rename {rfps/open => docs/rfps/Open}/ISO_20022.md (100%) rename {rfps/open => docs/rfps/Open}/a-and-v-topology.md (100%) rename {rfps/open => docs/rfps/Open}/alternative_polkadot_host_implementations.md (100%) rename {rfps/open => docs/rfps/Open}/anti-collusion_infrastructure.md (100%) rename {rfps/open => docs/rfps/Open}/epassport-zk-validation.md (100%) rename {rfps/open => docs/rfps/Open}/formal_guarantees_for_grandpa.md (100%) rename {rfps/open => docs/rfps/Open}/implementation-benchmarking.md (100%) rename {rfps/open => docs/rfps/Open}/move_smart_contract_pallet.md (100%) rename {rfps/open => docs/rfps/Open}/polkadot-collator-setup.md (100%) rename {rfps/open => docs/rfps/Open}/raft-validators.md (100%) rename {rfps/open => docs/rfps/Open}/sub-consensus.md (100%) rename {rfps/open => docs/rfps/Open}/validator-setup-maintenance.md (100%) rename {rfps/open => docs/rfps/Open}/xcm-tool.md (100%) create mode 100644 docs/rfps/README.md rename {rfps/under_development => docs/rfps/Under Development}/ISO_8583.md (100%) rename {rfps/under_development => docs/rfps/Under Development}/crowdloan_front_end_template.md (100%) rename {rfps/under_development => docs/rfps/Under Development}/identity-directory.md (100%) rename rfps/under_development/ink!_smart_contract_block_explorer.md => docs/rfps/Under Development/ink_smart_contract_block_explorer.md (100%) rename {rfps/under_development => docs/rfps/Under Development}/multi-chain-block-explorer.md (100%) rename {rfps/under_development => docs/rfps/Under Development}/privacy-enhancement-polkadot-extension.md (100%) rename {rfps/under_development => docs/rfps/Under Development}/scale-codec-comparator.md (100%) rename {rfps/under_development => docs/rfps/Under Development}/social-recovery-wallet.md (100%) rename {rfps/under_development => docs/rfps/Under Development}/uncollateralized-stablecoin-research.md (100%) rename {rfps => docs/rfps}/suggestion-template.md (100%) create mode 100644 docs/suggesting_a_project.md create mode 100644 docusaurus.config.js create mode 100644 package.json delete mode 100644 rfps/README.md create mode 100644 sidebars.js create mode 100644 src/components/HomepageFeatures.js create mode 100644 src/components/HomepageFeatures.module.css create mode 100644 src/css/custom.css create mode 100644 src/pages/index.js create mode 100644 src/pages/index.module.css create mode 100644 static/.nojekyll rename {src => static/img}/Grants_Program.png (100%) create mode 100755 static/img/Polkadot_Logo_Horizontal_BlackOnWhite.svg create mode 100644 static/img/Web3Foundation.png rename {src => static/img}/badge_black.svg (100%) create mode 100644 static/img/everyone-1.svg create mode 100644 static/img/icon-documentation.svg rename {src => static/img}/like.png (100%) rename {src => static/img}/map.png (100%) rename {src => static/img}/medium.png (100%) rename {src => static/img}/reddit.png (100%) rename {src => static/img}/rfp-header.png (100%) rename {src => static/img}/twitter.png (100%) rename {src => static/img}/web.png (100%) rename {src => static/img}/web3 foundation grants_black.jpg (100%) rename {src => static/img}/youtube-play.png (100%) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 00000000000..5f98f93ed7c --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,26 @@ +name: Publish website + +on: + push: + branches: + - master + +jobs: + build: + name: build and deploy + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@master + - uses: actions/setup-node@v2 + with: + node-version: "16.16.0" + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Publish + run: | + git config --global user.email "grants-deployer@users.noreply.github.com" + git config --global user.name "grants-deployer" + echo "machine github.com login grants-deployer password ${{ secrets.ACCESS_KEY }}" > ~/.netrc + yarn && yarn build && GIT_USER=grants-deployer PUBLISHING=true yarn deploy diff --git a/.gitignore b/.gitignore index c706597d5c7..e7642e57fd0 100644 --- a/.gitignore +++ b/.gitignore @@ -61,3 +61,8 @@ $RECYCLE.BIN/ # IDE settings .vscode +node_modules + +# docusaurus +build/ +.docusaurus/ \ No newline at end of file diff --git a/README.md b/README.md index c65c962e0a8..680070a648a 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Web3 Foundation Grants Program

- +

@@ -10,20 +10,22 @@ - [Project ideas](#project-ideas) - [Support](#support) - [Team](#team) -- [:level_slider: Levels](#level_slider-levels) +- [:level\_slider: Levels](#level_slider-levels) - [:pencil: Process](#pencil-process) - [1. Application](#1-application) - [2. Application Review](#2-application-review) - [3. Milestone Delivery and Payment](#3-milestone-delivery-and-payment) - [Changes to a Grant after Approval](#changes-to-a-grant-after-approval) -- [:mailbox_with_mail: Suggest a Project](#mailbox_with_mail-suggest-a-project) -- [:hammer_and_wrench: Maintenance Grants](#hammer_and_wrench-maintenance-grants) -- [:moneybag: Referral Program](#moneybag-referral-program) +- [:mailbox\_with\_mail: Suggest a Project](#mailbox_with_mail-suggest-a-project) +- [:hammer\_and\_wrench: Maintenance Grants](#hammer_and_wrench-maintenance-grants) +- [:moneybag: Referral Program](#moneybag-referral-program) - [:bulb: Help](#bulb-help) - [Additional information](#additional-information) - [Real-time conversation](#real-time-conversation) - [Office Hours](#office-hours) - [:rocket: Alternative Funding Sources](#rocket-alternative-funding-sources) + - [Substrate Builders Program vs Treasury vs Web3 Grants](#substrate-builders-program-vs-treasury-vs-web3-grants) + - [Substrate Builders Program](#substrate-builders-program) - [Treasury](#treasury) - [Hackathons](#hackathons) - [Other Grant Programs](#other-grant-programs) @@ -103,7 +105,7 @@ In cases where a niche expert opinion is desirable, one of the committee members Evaluators are individuals able to evaluate the technology delivered as a result of the Grants Program. The committee has the right to add or remove evaluators on the basis of supermajority. - [Nabil Abdellaoui](https://github.com/randombishop) -- [Matteo Casonato](https://github.com/0xCaso) +- [Matteo Casonato](https://github.com/0xCaso) - [David Hawig](https://github.com/Noc2) - [Diogo Mendonça](https://github.com/dsm-w3f) - [Sebastian Müller](https://github.com/semuelle) @@ -222,13 +224,13 @@ Please note that: We give away 500 USD to each referral of a successful grant application by _anyone having previously worked on a Web3 Foundation grant_ or _a [Polkadot Ambassador](https://wiki.polkadot.network/docs/ambassadors)_. Web3 Foundation and Parity employees do not qualify for the program, even if they previously worked on a grant. -In order to be eligible for the referral bonus, the application itself must contain the name of the [Polkadot Ambassador](https://wiki.polkadot.network/docs/ambassadors) or the GitHub account of the grantee as well as the payment address for the referral bonus (see the [application template](applications/application-template.md)). Payment is made in Bitcoin, USDT (on Kusama or Ethereum), USDC/DAI (Ethereum) or aUSD (Acala). +In order to be eligible for the referral bonus, the application itself must contain the name of the [Polkadot Ambassador](https://wiki.polkadot.network/docs/ambassadors) or the GitHub account of the grantee as well as the payment address for the referral bonus (see the [application template](applications/application-template.md)). Payment is made in Bitcoin, USDT (on Kusama or Ethereum), USDC/DAI (Ethereum) or aUSD (Acala). ## :bulb: Help ### Additional information -| | | | | | | +| | | | | | | | :-: | :-: | :-: | :-: | :-: | :-: | | [W3F Website](https://web3.foundation) | [W3F Twitter](https://twitter.com/web3foundation) | [W3F Medium](https://medium.com/web3foundation) | [Polkadot Wiki](https://wiki.polkadot.network/en/) | [Web 3.0 Reddit](https://www.reddit.com/r/web3) | [W3F YouTube](https://www.youtube.com/channel/UClnw_bcNg4CAzF772qEtq4g) | @@ -247,11 +249,13 @@ Besides, we also have a **community room for all grant recipients**. Head over t ### Office Hours Web3 Foundation Grants Office Hours are a chance to ask the grants team questions regarding a specific (potential) grant application. It offers -- general guidance regarding the grants program, + +- general guidance regarding the grants program, - some quick initial feedback and -- help how to navigate the ecosystem. +- help how to navigate the ecosystem. + +Apply for Office Hours if you -Apply for Office Hours if you - need feedback before submitting an application, - want to find out what kind of support there might be available or - need help finding the resources you need. @@ -288,9 +292,9 @@ flowchart LR click H "https://www.substrate.io/builders-program/" "https://www.substrate.io/builders-program/" _blank ``` -### Substrate Builders Program +### Substrate Builders Program -The [Substrate Builders Program](https://substrate.io/ecosystem/substrate-builders-program/) directly supports you by connecting you with Parity’s extensive resources. +The [Substrate Builders Program](https://substrate.io/ecosystem/substrate-builders-program/) directly supports you by connecting you with Parity’s extensive resources. ### Treasury @@ -316,7 +320,7 @@ Below is a list of other grant programs in the Polkadot/Substrate ecosystem: - [Darwinia Grants Program](https://github.com/darwinia-network/collaboration/blob/master/grant/README.md#grant-program) - [Edgeware Grants and Bounties](https://gov.edgewa.re/discussion/1132-edgeware-proposal-process-and-template) - [HydraDX Grants and Bounties](https://docs.hydradx.io/new_deal/) -- [Interlay Labs Grants Program](https://github.com/interlay/Grants-Program) +- [Interlay Labs Grants Program](https://github.com/interlay/Grants-Program) - [Moonbeam Grants Program](https://moonbeam.foundation/grants/) - [OAK’s Developer Grants](https://oak.tech/community/grants/) - [Picasso / Composable Grants Program](https://grants.composable.finance) diff --git a/applications/AdMeta.md b/applications/AdMeta.md index e4e74b0039a..a31ffbea789 100644 --- a/applications/AdMeta.md +++ b/applications/AdMeta.md @@ -1,6 +1,5 @@ -# W3F Grant Proposal +# AdMeta -- **Project Name:** AdMeta - **Team Name:** AdMeta - **Payment Address:** 0x1D346c4F0732674a1fc69b4bAFBa854F53353C35 (ERC20 USDT) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 @@ -73,7 +72,7 @@ Dr. John Wu - Core Dev of Litentry Parachain Team. The University of Tokyo - **Contact Name:** Han Zhao - **Contact Email:** windzhaohan@gmail.com -- **Website:** https://admeta.network/ +- **Website:** ### Legal Structure @@ -94,28 +93,28 @@ Note: Both [Litentry](https://www.litentry.com/) and [Web3Go](https://github.com ### Team Code Repos -- https://github.com/litentry/litentry-parachain -- https://github.com/litentry/litentry-pallets -- https://github.com/web3go-xyz/web3go +- +- +- Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine. -- https://github.com/h4n0 Han Zhao -- https://github.com/Shihao66 Shihao Zhao -- https://github.com/Moehringen Hao Ding +- Han Zhao +- Shihao Zhao +- Hao Ding ### Team LinkedIn Profiles (if available) -- https://www.linkedin.com/in/zhaohan6 -- https://www.linkedin.com/in/shihao-zhao-55752685/ -- https://www.linkedin.com/in/hao-ding-msc-pmp-64411193/ +- +- +- ## Development Status :open_book: -- https://github.com/AdMetaNetwork/admeta This is the AdMeta Substrate chain implementation. We already started to build the pallets mentioned in Milestone 1 below. -- https://github.com/AdMetaNetwork/admeta-webapp This is our web app repo according to Milestone 1. We already had a single page app with polkadot js API integrated now. -- https://github.com/AdMetaNetwork/admeta-decentraland This is a simple asset built with Decentraland SDK, and currently it's just for a demo purpose. -- https://admeta.network/ We also have the first version of our website. +- This is the AdMeta Substrate chain implementation. We already started to build the pallets mentioned in Milestone 1 below. +- This is our web app repo according to Milestone 1. We already had a single page app with polkadot js API integrated now. +- This is a simple asset built with Decentraland SDK, and currently it's just for a demo purpose. +- We also have the first version of our website. ## Development Roadmap :nut_and_bolt: @@ -127,7 +126,6 @@ Please also provide the GitHub accounts of all team members. If they contain no ### Milestone 1 — Substrate Chain with Impression Ad, Web App - - **Estimated duration:** 6 month - **FTE:** 2 - **Costs:** 12,000 USD diff --git a/applications/Afloat.md b/applications/Afloat.md index ef5ebaa149f..9b7ba518047 100644 --- a/applications/Afloat.md +++ b/applications/Afloat.md @@ -1,22 +1,20 @@ -# W3F Grant Proposal +# Afloat Tax Infrastructure Polkadot Integration -- **Project Name:** Afloat Tax Infrastructure Polkadot Integration - **Team Name:** Afloat Inc. - **Payment Address:** bc1q0aghk8qufzwpmrp5nfyu9r7dh3yynmphk7rhjj - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 - ## Overview [Afloat](https://stayafloat.io/#/) is one of the first real-use cases of blockchain technology in the accounting industry. It enables the fractional buying and selling of tax credits that historically have been inefficient, opaque, and centralized. It has already processed tax credits ranging in orders from $2K -$70k USD. -Afloat was built on a private Ethereum clone but wants to migrate to Polkadot due to its technology, identity management, and community. Parachains like Kilt and their identity services would be crucial at validating government roles and professional certifications like accountants and institutional sellers. +Afloat was built on a private Ethereum clone but wants to migrate to Polkadot due to its technology, identity management, and community. Parachains like Kilt and their identity services would be crucial at validating government roles and professional certifications like accountants and institutional sellers. ## Project Details ### Background -A common tax credit is for land preservation. The inhabitants of a geographic area recognize that their shared quality of life may be positively impacted if more land was preserved rather than developed. If the owner of land property in that area agrees to preserve land, they may be eligible to receive a tax credit in an amount associated with the value of the land property. However, some owners of tax credits do not have enough tax liability to take full advantage of the reward. Because of this, a number of states allow credits to be transferred. State transferable tax credits are typically bought and sold at a discount. +A common tax credit is for land preservation. The inhabitants of a geographic area recognize that their shared quality of life may be positively impacted if more land was preserved rather than developed. If the owner of land property in that area agrees to preserve land, they may be eligible to receive a tax credit in an amount associated with the value of the land property. However, some owners of tax credits do not have enough tax liability to take full advantage of the reward. Because of this, a number of states allow credits to be transferred. State transferable tax credits are typically bought and sold at a discount. Historically, the tax credit industry’s transfer process has been deeply inefficient. Due to a lack of trust between buyers and sellers, accountants and lawyers act as middlemen. This added financial and procedural cost creates an entry barrier for the majority of taxpayers into the tax credit market. What remains is a tight-knit group of wealthy buyers, sellers, and policymakers. @@ -29,29 +27,19 @@ With the ability to tap into a market sector that knows nothing about blockchain Having started in the US, Afloat, Inc., a Wyoming company, is compliant with existing federal, state, and local regulations and takes care of the entire transfer process with the following functions: - Uploading proof of tax credit ownership -

- -

-
+![Image](https://user-images.githubusercontent.com/7217054/159963378-b850c316-aa28-46ea-9a87-2e184de57a0d.png) - Linking a US bank account -

- -

-
+![Image](https://user-images.githubusercontent.com/7217054/159963375-a06565dc-9f19-4aa9-8e31-a6223aa2cef8.png") - Fiat integration using Dwolla, a third party company - Placing buy and sell limit orders on blockchain -

- -

-
+ +![Image](https://user-images.githubusercontent.com/7217054/159963749-d7e2ef89-fac0-4f4c-a823-9dd3a4e9d263.png) - Algorithmic matching overlapping full or partial orders in a ”pending” status while waiting for government approval -

- -

-
+ +![Image](https://user-images.githubusercontent.com/7217054/159963752-dc5f9323-1d07-4bc5-b309-ab2147ff71b8.png) - Autopopulate tax forms with blockchain data (Afloat supports five of thirty-six US tax forms) - Completion of government paperwork and money transfer after government approval @@ -73,9 +61,9 @@ To handle fractional tax credits in Substrate we are using "fruniques". That is An earlier implementation of this used a fungible token to represent the parts of the tax credit, but we've found that fractional NFTs fit the mental model a bit better and more ergonomically in existing tools. A user is buying a "thing", see that thing in their wallet, where they may hold 7 of them. Holding various quantities of 7 different fungible tokens seemed to increase the complexity more than necessary. This is a design element we frequently brainstorm on though. In a future release, it may be useful to have fruniques support both use cases. -This proposal covers the migration or creation of the following: +This proposal covers the migration or creation of the following: -1. User onboarding (set and verify identity with gatekeeper parameters) and slides. +1. User onboarding (set and verify identity with gatekeeper parameters) and slides. 2. Sign and Login with email. 3. Originate and configure a tax credit and create sales orders for tax credits. 4. Support for encrypted files attached to tax credits. @@ -86,11 +74,7 @@ This proposal covers the migration or creation of the following: ### Workflow -

- -

-
- +![Image](https://user-images.githubusercontent.com/7217054/160020369-b64ae31d-8cc5-49ce-8c4d-82dea85546cf.png) ## Ecosystem Fit @@ -103,6 +87,7 @@ The secondary target audience are the community of developers that will benefit As the perfect technology for record-keeping, blockchain makes a lot of sense for accountants. Afloat not only wants to bring its infrastructure to Polkadot but also bring Polkadot into the accounting community with the following: #### Continuing Education for CPAs + Afloat’s founder and current CEO [Louise Reed](https://www.linkedin.com/in/louisewreed/) has given talks at a number of CPE conferences, where CPAs receive continuing education credits to maintain their licenses each year. Introducing her to Web 3 infrastructure would allow her to speak about it at CPA conferences, especially to other CPAs looking for classes covering new and interesting topics and ideas. #### Crypto Clients @@ -114,9 +99,11 @@ Working in a historically conservative industry, CPAs are starting to feel the p Typically, sellers of tax credits are large international businesses, which are usually slow with internal changes. However, familiarity with the tax credit market paves the way for an easier introduction to a new technology. #### Buyers + Introducing programming/blockchain/crypto taxpayers to tax savings by way tax credits would bring new customers to a marketplace that has a strong history of centralization, opacity, and insularity. #### Bridging Communities + Afloat would naturally bridge two opposing communities: accounting, the most trusted and conservative industries, and blockchain, one of the most innovative industries. By association with such a trusted industry, blockchain would receive credibility in the eyes of the general public while also modernizing accounting with new and better processes. #### Natural Use Case @@ -134,7 +121,6 @@ Louise Reed is scheduled to speak at the following Certified Public Accountant S | 9/26/2022 | VA (+ VA Tech) | Roanoke | | 11/17/2022 | VA (+ VA Tech) | Virginia Beach | - ## Team :busts_in_silhouette: ### Team members @@ -145,12 +131,11 @@ Louise Reed is scheduled to speak at the following Certified Public Accountant S - Erick Casanova - Blockchain Engineer - Abel Yanez - Substrate Developer - ### Contact - **Contact Name:** Louise Reed - **Contact Email:** louise@stayafloat.io -- **Website:** https://stayafloat.io/#/ +- **Website:** ### Legal Structure @@ -163,33 +148,35 @@ With a master's degree in physics from Duke University and a Master of Accountin Afloat is partnering with Hashed Systems DAO LLC, a substrate development team with years of experience building blockchain applications. They have worked on substrate and Polkadot since spring 2021. Their developers completed Brian Chen's course and have experience running substrate chains and have significant experience working with the Uniques, Identity and Node-authorization pallets. Additional relevant experience below: - [Hypha DAO](https://dho.hypha.earth/#/): Smart contracts and front end development that enables the creation of flexible roles, assignments and contributions with recurring payments. Design and implement a graph data layer to improve web application performance. Design and build a [Double Entry accounting](https://us02web.zoom.us/rec/share/eRqiBvq-dsV0L_hEjW5e8DWNYQlUn2bLhI8-86jkRVwdXiN3TiD5edym17ubCd9R.QhKQw_Byy0t5_8SW?startTime=1647371674000) (Passcode: .V$C#Br2) plattform that streams wallet activity, supports token price history, reporting and currency conversion. [SEED](https://joinseeds.earth/): Smart contract and mobile development that capture the project's constitution, enable voting on proposals and basic identity management like reputation, vote history etc. Design and build a PWA token swaps app. Design and build a basic [Economic Simulator](https://seeds-sim.hypha.earth/dashboard) that enables voters to understand the economic impact of policy changes. - ### Relevant profile links -- Louise Reed CPA website: https://louisereedcpa.com/ -- Louise Reed LinkedIn: https://www.linkedin.com/in/louisewreed/ -- Abel on Github: https://github.com/amatsonkali -- Jose Maria on Github: https://github.com/jmgayosso and Gitlab: https://gitlab.com/jmgayosso -- Hashed website: https://hashed.io/ -- Erick on GitHub: https://github.com/tlacloc +- Louise Reed CPA website: +- Louise Reed LinkedIn: +- Abel on Github: +- Jose Maria on Github: and Gitlab: +- Hashed website: +- Erick on GitHub: ## Development Roadmap :nut_and_bolt: + ### Overview + - **Total Estimated Duration:** 13 weeks - **Full-Time Equivalent (FTE):** 2 FTE (across 5 contributors) - **Total Costs:** 46,200 USD #### Languages -- All pallets will be developed in Rust. + +- All pallets will be developed in Rust. - The custodial/persistence partner backend will be developed in Nodejs, with a slight possibility of porting it to Rust. - The front end will be Angular, with a possibility that it will be migrated to Vuejs. -### Milestone 1 — User onboarding (set and verify identity with gatekeeper parameters) and slides. +### Milestone 1 — User onboarding (set and verify identity with gatekeeper parameters) and slides + - **Estimated duration:** 5 weeks - **FTE:** 2 - **Costs:** 17,675 USD @@ -204,10 +191,10 @@ Afloat is partnering with Hashed Systems DAO LLC, a substrate development team w | 0e. | Article | We will publish an **article** in English and Spanish that explains what was built and how it can benefit other projects | | 1. | Set Profile and Upload KYC Materials | User onboarding web client for uploading identity details in a privacy preserving manner. Data will be encrypted and only accessible by 1) the user, 2) a pre-specified KYC administrator account, and 3) a persistence partner/custodian that the user or app administrator selects. | | 2. | KYC Admin | KYC administrator screen for viewing and approving new user (market participant) requests. We plan to use the existing `registrar` process on the Identity pallet. UI is in Angular, with a small chance we may migrate it to Vuejs | -| 3. | Slides |1-3 additional presentation slides for Louise W. Reed, CPA’s currently scheduled talks at CPA conferences regarding blockchain, cryptocurrency, triple-entry accounting and transferring state tax credits. The additional slides will be added to address why Afloat sees value in being supported by Polkadot’s ecosystem| +| 3. | Slides |1-3 additional presentation slides for Louise W. Reed, CPA’s currently scheduled talks at CPA conferences regarding blockchain, cryptocurrency, triple-entry accounting and transferring state tax credits. The additional slides will be added to address why Afloat sees value in being supported by Polkadot’s ecosystem| +### Milestone 2 — Originate and configure a tax credit and create sales order for tax credits -### Milestone 2 — Originate and configure a tax credit and create sales order for tax credits. - **Estimated duration:** 4 weeks - **FTE:** 2 - **Costs:** 14,140 USD @@ -221,12 +208,12 @@ Afloat is partnering with Hashed Systems DAO LLC, a substrate development team w | 0d. | Video | We will provide a video demonstration that will illustrate all of the functionality delivered with this milestone. | | 0e. | Article | We will publish an **article** in English and Spanish that explains what was built and how it can benefit other projects | 1. | Originate Tax Credit | Web client for onboarding new tax credits as NFTs, appropriate metadata persisted using the Uniques and likely Statemint specifications. | -| 2. | Upload Confidential Documents | This feature allows for NFT originators to upload encrypted files attached to tax credits. The files will be accessible only by the user and the application administartor. | +| 2. | Upload Confidential Documents | This feature allows for NFT originators to upload encrypted files attached to tax credits. The files will be accessible only by the user and the application administartor. | | 3. | Tax Credit verification | MVP Tax Credit pallet, compatible with the prebuilt Uniques pallet (and/or RMRK), will support data validation rules by jurisdiction and tax credit type. The user will be able to save a draft of their tax credit if they need to identify more IRL steps to fix discrepancies. It's like a 'tax credit compiler'. | -| 4. | List for Sale | Ability for Tax Credit (NFT) owners to assign a price and list it for sale.| +| 4. | List for Sale | Ability for Tax Credit (NFT) owners to assign a price and list it for sale.| +### Milestone 3 — Sell the entire or a fraction of the tax credit to interested buyers using fruniques pallets -### Milestone 3 — Sell the entire or a fraction of the tax credit to interested buyers using fruniques pallets. - **Estimated duration:** 2 weeks - **FTE:** 2 - **Costs:** 7,070 USD @@ -239,11 +226,12 @@ Afloat is partnering with Hashed Systems DAO LLC, a substrate development team w | 0c. | Testing | Unit testing will be applied to ensure reliability. Documentation of tests and results will be provided | | 0d. | Video | We will provide a video demonstration that will illustrate all of the functionality delivered with this milestone. | | 0e. | Article | We will publish an **article** in English and Spanish that explains what was built and how it can benefit other projects -| 1. | Order Part of an NFT | Web client and pallet support for fractionalizing a Tax Credit NFT. Users may specify the % and/or direct amount for the order. Rust and Angular/Vuejs | -| 2. | Complete/Confirm Order | Sell the entire or a fraction of the tax credit to interested buyers using fruniques pallets. Rust and Angular/Vuejs | +| 1. | Order Part of an NFT | Web client and pallet support for fractionalizing a Tax Credit NFT. Users may specify the % and/or direct amount for the order. Rust and Angular/Vuejs | +| 2. | Complete/Confirm Order | Sell the entire or a fraction of the tax credit to interested buyers using fruniques pallets. Rust and Angular/Vuejs | | 3. | Order Settlement | Ensure the marketplace correctly calculates appropriate commissions and fees. Calculations will be in Rust, displayed in application using Angular/Vuejs | -### Milestone 4 — Redeem the tax credit and confirm redemption and freeze/burn asset on-chain. +### Milestone 4 — Redeem the tax credit and confirm redemption and freeze/burn asset on-chain + - **Estimated duration:** 2 weeks - **FTE:** 2 - **Costs:** 7,070 USD @@ -258,59 +246,67 @@ Afloat is partnering with Hashed Systems DAO LLC, a substrate development team w | 0e. | Article | We will publish an **article** in English and Spanish that explains what was built and how it can benefit other projects | 1. | Approve Redemption Specialists | Pallet and web client for onboarding and approving/enrolling Tax Credit Redemption Specialists. These are experts that know how to perform appropriate steps to migrate a tax credit IRL. Approval will be handled by marketplace administrator initially, by the community eventually. | | 2. | Request Redemption | Pallet and web function/form for requesting redemption, optionally from a specific Redemption Specialist or system will choose. | -| 3. | View materials and Redeem | Pallet support and web client for Redemption Specialist to review the encrypted tax credit materials and confirm that off-chain IRL redemption has been completed. Redemption completion will be approved by owner and Redemption specialist. | +| 3. | View materials and Redeem | Pallet support and web client for Redemption Specialist to review the encrypted tax credit materials and confirm that off-chain IRL redemption has been completed. Redemption completion will be approved by owner and Redemption specialist. | | 4. | Asset Manager | Once part or all of a tax credit NFT is redeemed, the Tax Credit Asset Manager(s) will be able to lock, freeze, and/or burn the NFT. | | 5. | Launch Materials | Launch materials, videos and speaking arrangements for Louise are already in queue.| - + ## Future Plans + ### Immediate Use -All Afloat users will be migrated to the substrate application and benefit from the identity and security enhancements. Afloat will gain access to the full substrate ecosystem and vice versa. + +All Afloat users will be migrated to the substrate application and benefit from the identity and security enhancements. Afloat will gain access to the full substrate ecosystem and vice versa. ### Next Phases + This proposal covers Afloat migration of the current functionality. Below are future phases that expand it: #### Phase 2 -User scenarios: -- Registration/approval of new appraisers, -- Request appraisal of NFT, -- Appraise NFT, + +User scenarios: + +- Registration/approval of new appraisers, +- Request appraisal of NFT, +- Appraise NFT, - Review and compensate appraiser -Web client for: +Web client for: + - NFT creator to request judgment and grant access to Asset Grader(s) - Asset Grader to review materials and provide judgment #### Phase 3 -User scenarios: -- More advanced ordering and pricing models, -- Candle auctions, + +User scenarios: + +- More advanced ordering and pricing models, +- Candle auctions, - Improved compatibility with more jurisdictions. #### Phase 4 + - Provide API access and referral program for tax industry participants. (e.g. allow existing systems and networks to seamlessly integrate) ## Additional Information :heavy_plus_sign: -**How did you hear about the Grants Program?** +**How did you hear about the Grants Program?** Raul Romanutti recommended the program on a call with Louise Reed, Max Gravitt and Augusto Lara on March 21st, 2022. ### Additional Context + #### State Tax Credit Breakdown + Currently, forty-one states offer tax credits designed to incentivize economically and socially desirable behavior, like historic structure rehabilitation, land preservation and film production. + - Linking a US bank account -

- -

-
+ +![Image](https://user-images.githubusercontent.com/7217054/160020375-0e360e26-17f9-4856-8266-1e95b76efc7c.png) + Thirty-four of those states allow the producers of these credits to be incentivized even if they do not have enough state income to fully utilize the credits and/or need the cash flow to further expand the incentivized behavior. -

- -

-
+ +![Image](https://user-images.githubusercontent.com/7217054/160020372-8190f4aa-81aa-4b0e-ae1b-d92eb031df5b.png) Blockchain Friendly State Breakdown -

- -

-
-https://www.investopedia.com/news/majority-us-states-are-still-acknowledge-cryptocurrencies/ \ No newline at end of file + +![Image](https://user-images.githubusercontent.com/7217054/160020643-84313880-4e0b-4942-8b1a-7278eb7aa219.png) + + diff --git a/applications/AlgoCash.md b/applications/AlgoCash.md index f2db43a9dc4..ddd6083f483 100644 --- a/applications/AlgoCash.md +++ b/applications/AlgoCash.md @@ -1,13 +1,11 @@ -# Open Grant Proposal +# AlgoCash > This document is referenced in the terms and conditions and therefore needs to contain all the required information. Don't remove any of the mandatory parts presented in bold letters or as headlines! See the [Open Grants Program Process](https://github.com/w3f/Open-Grants-Program/blob/master/README_2.md) on how to submit a proposal. - - -* **Project Name:** Algo Cash * **Team Name:** Reserve Labs * **Payment Address:** DAI Address: 0x3f91475fbd0c3d9c676d39af071691c1cf635f0b -## Project Overview + +## Project Overview ### Overview @@ -25,15 +23,13 @@ Algo Cash is implemented as a smart contract which can be deployed into ink! pal For trading and liquidity purpose, Algo Cash could be integrated with such protocols in Polkadot as Konomi and Zenlink. - -## Project Details +## Project Details ### Tokens #### ALC - Algo Cash -Algo Cash tokens are designed to be used as a medium of exchange. The built-in stability mechanism expands and contracts their supply, maintaining their peg to the aUSD token. - +Algo Cash tokens are designed to be used as a medium of exchange. The built-in stability mechanism expands and contracts their supply, maintaining their peg to the aUSD token. #### ALB - Algo Bonds @@ -67,7 +63,6 @@ Every 24 hours, the time-weighted average of the ALC-aUSD exchange rate is read The stabilization mechanism is triggered whenever the price of Algo Cash is observed to be above / below (1+ε) aUSD, where ε is a parameter that defines the range of price stability for the ALC token. In inilization, ε is set to be 0.05. - #### Contractionary Policy At any point in time, Algo Bonds can be bought from the protocol in exchange for Algo Cash. Purchase of Bonds are performed at an algorithmically set price. With a Algo Cash oracle price of P aUSD, bonds are sold off at a price of P ALC (effective price being P^2 aUSD), promising bond holders a premium when redeemed. Purchased bonds can be converted to Algo Cash, insofar as the preconditions are met and the Treasury is not empty. @@ -104,26 +99,22 @@ Advantages **cash - Minting and burning of the cash token** -Mints *amount* cash to the *recipient* account. +Mints *amount* cash to the *recipient* account. Burns *amount* cash from the *account*. - **bond - Minting and burning of the bond token** -Mints *amount* bond to the *recipient* account. +Mints *amount* bond to the *recipient* account. Burns *amount* bond from the *account*. - - **share - Minting and burning of the share token** -Mints *amount* share to the *recipient* account. +Mints *amount* share to the *recipient* account. Burns *amount* share from the *account*. - **Treasure - Bond purchase and redemptions** Returns the oracle price of Algo Cash denominated in aUST. @@ -134,7 +125,6 @@ Mints *amount* Algo Cash, in exchange for *amount* Algo Bonds burnt. If the oracle price of Algo Cash is above (1+ε) aUST, mints *((ALC Oracle Price) - 1) * cashSupply* number of Algo Cash to either the Boardroom contract or the Treasury contract.If the Treasury's balance is below 1,000 ALC, the allocation is given to the Treasury, else give it to the Boardroom. - **Boardroom - Handling claims from the share** Stakes *amount* Algo Shares to Boardroom sends all prior accrued dividends to *account*. @@ -147,56 +137,59 @@ Claims all accrued dividends to *account*. When new cash is assigned to the Boardroom contract. Records the current block timestamp, the amount of new cash, and the current amount of total Shares staked. - **oracle - Retrieving the exchange rate between Algo Cash and aUST** -If 24 hours has passed since update() was last successfully executed, updates the time-weighted average price of Algo Cash. +If 24 hours has passed since update() was last successfully executed, updates the time-weighted average price of Algo Cash. Returns the amount of *output* tokens given in exchange for *input* number of *token* tokens ((Price of *token* token denominated in *output* tokens) * *input*). +### Ecosystem Fit - - - -### Ecosystem Fit Acala, aUSD is generated in a collateral way. Basis Cash (on Ethereum), shares are initialized by 'AMM + 2nd pool' which would cause dramatic infaltion, forcing Yeild Farmers to sell their assets to the second market. -## Team +## Team ### Team members + * Nick Hsu, Blockchain Expert and Team Leader -* Gang Chan, Full Stack Developer +* Gang Chan, Full Stack Developer * Gieno Miao, Crypto Expert and Blockchain Architect ### Contact + * **Contact Name:** Nick Hsu * **Contact Email:** nick_hsu@sina.com +### Legal Structure -### Legal Structure No legal Entity ### Team's experience + Nick has 16 years of software development experience and 5 years working in Blochain area as developer and product owner. Gang is now working as a freelancer. He is a full stack developer proficient in C++, Rust, React and Solidity. He has 3 years software development experience and 2 years smart contract development experience. ### Team Code Repos -* https://github.com/ReserveLabs/AlgoCash + +* ### Team LinkedIn Profiles + no +## Development Roadmap -## Development Roadmap ### Overview + * **Total Estimated Duration:** 6 weeks * **Full-time equivalent (FTE):** 1.5 * **Total Costs:** 5,000 DAI -### Milestone 1 Example — Implement Substrate Modules +### Milestone 1 Example — Implement Substrate Modules + * **Estimated Duration:** 7 weeks * **FTE:** 2 * **Costs:** 5,000 DAI @@ -206,15 +199,15 @@ no | 0 | License | Apache 2.0 / MIT / Unlicense | | 1 | Documentation | Specification of the background, components and working mechanism| | 2 | Smart Contract | AlgoCash smart contract repo. The smart contract can be deployed to any substrate chain with ink! pallet.| -| 3 | Tests |Unit Test and also we will test it on Canvas| +| 3 | Tests |Unit Test and also we will test it on Canvas| | 4 | Docker | A docker image with a Substrate chain for PoC| - - ## Future Plans + Shares token design for governance. We will build a DEX with PMM (Proactive Market Maker) algorithm. ## Community Engagement -We will reach DEX and Lending protocol communities to enlarge Algo Cash adoption. + +We will reach DEX and Lending protocol communities to enlarge Algo Cash adoption. diff --git a/applications/Apron_Network.md b/applications/Apron_Network.md index 5d2d1117c48..a7dbb253dc9 100644 --- a/applications/Apron_Network.md +++ b/applications/Apron_Network.md @@ -1,10 +1,9 @@ -# Open Grant Proposal +# Apron Network -* **Project Name:** Apron Network * **Team Name:** Apron Labs * **Payment Address:** 15tV6rQSwNgWQ1Z5pim2yJmELLvWNm5D4V -## Project Overview :page_facing_up: +## Project Overview :page_facing_up: ### Overview @@ -18,27 +17,22 @@ Maybe you are still thinking that it sounds terrible but no one can prove it. Le **On Nov. 11th, 2020, the API services from infura.io are down, and the idea of Apron Network comes out.** -The Apron Network is built by the Apron Labs powered by Substrate. It provides a Cross-chain Decentralized Infrastructure Services Network that will be used by blockchain node runners, DApp developers, the public chain community, and DApp users. Every DApp developer can discover the proper service provider for a specific blockchain through the decentralized infrastructure market on the Apron Network. The Apron Network can be run as a parachain of Polkadot. +The Apron Network is built by the Apron Labs powered by Substrate. It provides a Cross-chain Decentralized Infrastructure Services Network that will be used by blockchain node runners, DApp developers, the public chain community, and DApp users. Every DApp developer can discover the proper service provider for a specific blockchain through the decentralized infrastructure market on the Apron Network. The Apron Network can be run as a parachain of Polkadot. With the Apron Network, the DApp developers can find their API endpoint, node runners can provide infrastructure services to get profit and all the infrastructure services will be decentralized on the two-layers infrastructure service network. The Apron Network will guaranty there is no infura.io accident anymore! - - #### Integration The Apron Network can be run as a parachain on Polkadot, or an independent chain. The Apron Network contains Apron Node and Apron Market. The Apron Node is built with Substrate 2.0 Framework, and the OCW (Off-chain worker) will be included for API manage records. Apron Market consists of Apron Market Contracts and Apron Market Front End. The contracts will be implemented with Ink!, and the front-end will be built with polkadot.js. - - #### Team Interest -Most of the team members are DApp developers who suffer from the lacking of Ethereum API Endpoint and tightly rely on infura.io since we are not able to set up our full node due to funds. As we have known, most of the DApp developers have the same embarrassing situation as us. After shocked by the accident of infura.io, we are willing to build a decentralized infrastructure service network, and we name it the Apron Network. +Most of the team members are DApp developers who suffer from the lacking of Ethereum API Endpoint and tightly rely on infura.io since we are not able to set up our full node due to funds. As we have known, most of the DApp developers have the same embarrassing situation as us. After shocked by the accident of infura.io, we are willing to build a decentralized infrastructure service network, and we name it the Apron Network. With Substrate 2.0 Framework, we are able to build a customized blockchain network easily, and we have the ability to integrate an API Gateway to manage blockchain API services in Apron Node. With the Apron Network, the blockchain node runners can provide Infrastructure service easily and get profit through this decentralized infrastructure services network. +### Project Details - -### Project Details #### Architecture The Apron Network consists of **Apron Node**, **Arpon Market Contracts**, **Decentralized API Market**, and the **Apron SDK**. @@ -50,42 +44,32 @@ The Apron Network consists of **Apron Node**, **Arpon Market Contracts**, **Dece * Decentralized API Market lists all the API services registered and available for developers from the data in smart contracts. DApp developers search the API services according to their needs and choose the one with the proper price. * The Apron SDK makes the use of Apron Network easier. DApp developers can integrate this SDK in their app to dynamic switch blockchain entry-point according to their needs. - - #### Substrate / Polkadot Integration -The Apron Network can be run as a para-chain of Polkadot, and also can be run as an independent chain apart from Polkadot. +The Apron Network can be run as a para-chain of Polkadot, and also can be run as an independent chain apart from Polkadot. The whole network is built on top of the Substate 2.0 Framework, and OCW (off-chain worker) is used to report API usage statistics on which the billing relies. All the contracts will be implemented with Ink!, and the front-end of Decentralized API Market will be on top of polkadot.js. - - #### Scenarios * Node Runners - - ![img](https://raw.githubusercontent.com/Apron2050/graphics/main/Apron%20Node.jpg) -The above figure shows the role of each component act from the view of the blockchain node owner. To simply the scenario, we take an example. The para-chain node is running at the beginning, the Apron Node shown above is set up by the owner by staking some **$ANT**, and the Apron Node is accessible on the internet. The owner can configure Apron Node with the RPC entry point of the para-chain node, API access frequency, API access fee, and other limitations. After everything is configured, the Apron Node will be able to call the RPC interface of para-chain, and DApps will call the API through the Apron Node. The Apron Node calculates the API usage statistics of each caller, then stores this data through OCW (off-chain worker) on the chain for further billing. - - +The above figure shows the role of each component act from the view of the blockchain node owner. To simply the scenario, we take an example. The para-chain node is running at the beginning, the Apron Node shown above is set up by the owner by staking some **$ANT**, and the Apron Node is accessible on the internet. The owner can configure Apron Node with the RPC entry point of the para-chain node, API access frequency, API access fee, and other limitations. After everything is configured, the Apron Node will be able to call the RPC interface of para-chain, and DApps will call the API through the Apron Node. The Apron Node calculates the API usage statistics of each caller, then stores this data through OCW (off-chain worker) on the chain for further billing. * DApp Developers - - ![img](https://raw.githubusercontent.com/Apron2050/graphics/main/Apron%20Usage.jpg) For DApp developers, there are two components that will be used. One is the Decentralized API Market, the other one is the Apron SDK. Firstly, DApp developers search the API services in the API service repositories ( which is part of the Decentralized API Market) on the webpage. After finding the proper API service, the DApp developer will generate an API access key with the help of Apron Market Contracts. Finally, the DApp developer develops the DApp with the API access key to use the related API services. Of course, the DApp developer should pay the fee of using the API services according to the fee addressed by the API service provider. - #### Interface Specification The function provided by the pallet to report API usage statistics data is reportAPIUsage. + ``` 1. reportAPIUsage @@ -94,11 +78,11 @@ The function provided by the pallet to report API usage statistics data is repor - return: the calls number ``` -### Ecosystem Fit +### Ecosystem Fit -Infura.io is the typical infrastructure services provider that is totally centralized. +Infura.io is the typical infrastructure services provider that is totally centralized. -The Apron Network provides exactly the same API services as infura.io but in a decentralized way, thanks to Substrate 2.0 Framework which let us only focused on the logic on top of blockchain rather than re-develop a new blockchain. In the future, the Apron Network will provide a decentralized infrastructure services network. +The Apron Network provides exactly the same API services as infura.io but in a decentralized way, thanks to Substrate 2.0 Framework which let us only focused on the logic on top of blockchain rather than re-develop a new blockchain. In the future, the Apron Network will provide a decentralized infrastructure services network. ## Team :busts_in_silhouette: @@ -108,51 +92,60 @@ The Apron Network provides exactly the same API services as infura.io but in a d * Junjun - Full-stack Developer ### Contact -- https://apron.network -### Legal Structure +- + +### Legal Structure + No Legal Entity ### Team's experience -Toney - - Over 13 years of experiences in Software Development - - Software Engineer in MS - - Mobile Game Developer - - Blockchain Game Developer - - The Chief Tech Officier of the team which wins TRON Accelerator 2018 Game Rewards +Toney + +* Over 13 years of experiences in Software Development +* Software Engineer in MS +* Mobile Game Developer +* Blockchain Game Developer +* The Chief Tech Officier of the team which wins TRON Accelerator 2018 Game Rewards -Junjun - - Over 15 years of experiences in Software Development - - Former Senior Software Engineer in Lucent - - DApp Developer - - Full-stack Developer +Junjun + +* Over 15 years of experiences in Software Development +* Former Senior Software Engineer in Lucent +* DApp Developer +* Full-stack Developer ### Team Code Repos -* Apron Labs: https://github.com/apron-network + +* Apron Labs: ### Team LinkedIn Profiles + * [Toney](https://www.linkedin.com/in/yi-sui-297a9223/) -## Development Roadmap :nut_and_bolt: +## Development Roadmap :nut_and_bolt: + ### Overview + * **Total Estimated Duration:** 3 months * **Full-time equivalent (FTE):** 4 * **Total Costs:** 0.73 BTC -### Milestone 1 Example — Implement Substrate Modules +### Milestone 1 Example — Implement Substrate Modules + * **Estimated Duration:** 3 months * **Full-time Equivalent (FTE):** 4 -* **Costs:** 0.73 BTC +* **Costs:** 0.73 BTC -In the first milestone, the features for the PoC will be implemented and tested by limited users. +In the first milestone, the features for the PoC will be implemented and tested by limited users. The following components will be included: * Apron Node * Apron Market Contracts -* Decentralized API Market / Front End -* Apron SDK +* Decentralized API Market / Front End +* Apron SDK | Number | Deliverable | Specification | | ------------- | ------------- | ------------- | @@ -167,8 +160,6 @@ The following components will be included: | 6. | Article | We will write an article published on media channels. | | 7. | DAO | A Apron DAO will be created to handle the governance of the Decentralized API Market. | - - ## Future Plans Community Plan @@ -180,8 +171,6 @@ Community Plan * Bounty Program. * Publish articles on media channels to expose the Apron Network. - - Development Plan * The Apron Network will run as a parachain of the Kusama. @@ -191,10 +180,8 @@ Development Plan * In phase 3, provide decentralized quick node services. * Finally, our goal is to provide the infrastructure services network. - - -## Additional Information :heavy_plus_sign: +## Additional Information :heavy_plus_sign: Currently we just start the first design of the Apron Network. -The project repo: https://github.com/apron-network +The project repo: diff --git a/applications/BCANN.md b/applications/BCANN.md index ce2af128727..b828a71a40b 100644 --- a/applications/BCANN.md +++ b/applications/BCANN.md @@ -1,28 +1,27 @@ -# W3F Open Grant Proposal +# BCANN ( The blockchain system for Assigned Names And Numbers ) > 🌏 This page is also available in [Chinese (中文)](./application-template-cn.md). -> +> > This document will be part of the terms and conditions of your agreement and therefore needs to contain all the required information about the project. Don't remove any of the mandatory parts presented in bold letters or as headlines! Lines starting with a `>` (such as this one) can be removed. -> +> > See the [Open Grants Program Process](https://github.com/w3f/Open-Grants-Program/#pencil-process) on how to submit a proposal. -* **Project Name:** BCANN ( The blockchain system for Assigned Names And Numbers ) * **Proposer:** Witter Lee * **Payment Address:** 0x4575f459F79B6ed5Dd644aBCc64affCc4c680DE3 * **Status:** [Terminated](https://github.com/w3f/Grants-Program/pull/353#issuecomment-946463960) - -## Project Overview : +## Project Overview ### Overview + BCANN is a protocol of assigned names & numbers & crypto-currency addresses for multi-chain. ### Background + DNS is the infrastructure of the Internet,an efficient resource addressing method. But DNS has some common problems like below - 1.Domain name hijacking 2.DNS cache pollution 3.DDOS attack @@ -34,21 +33,20 @@ 2.Prevent DNS cache pollution by distributed ledger for Name Services 3.DDOS can not attack all decentralized name service nodes - There are some decentralized DNS projects, such as Namecoin, ENS, etc. These projects solve many central service problems, but the boundary of the blockchain makes DNS unable to act on the blockchain outside of itself. The Polkadot cross-chain ecosystem breaks the boundaries between the blockchain and makes it possible for the deentralized DNS, and that's why we created this project. -### Project Details +### Project Details [architecture](https://drive.google.com/file/d/1eD3fqQ0p7osblX1x-iW3hPLhIWG3R4Lv/view?usp=sharing) The BCANN protocol will allow parachains to quickly obtain the complete functions of decentralized domain names through the Polkadot parachain module, and meet the needs of developers on the parachain for the name services's functions. - #### Interface Specification Main interface (Users can implement the Resolver by themselves for extension) + ``` 1. name registry /** @@ -156,7 +154,7 @@ Main interface (Users can implement the Resolver by themselves for extension) ``` -### Ecosystem Fit +### Ecosystem Fit There is a [deeper.network](https://github.com/w3f/Open-Grants-Program/blob/master/applications/deeper_network.md) project that includes decentralized DNS. There are several diferences worth highligting: @@ -164,13 +162,11 @@ There is a [deeper.network](https://github.com/w3f/Open-Grants-Program/blob/mast There is a [ens](https://ens.domains/) project. There are several diferences worth highligting: -*ENS is a smart contract deployed on ETH,BCANNN is the infrastructure of the parachain, which will be released as a substrate runtime module library. - +*ENS is a smart contract deployed on ETH,BCANNN is the infrastructure of the parachain, which will be released as a substrate runtime module library. There is a [Nicks Module](https://github.com/paritytech/substrate) project. There are several diferences worth highligting: *Nicks Module is a module that keep track of account names on-chain.BCANN provides a complete domain name service and address mapping service. - There is a [substrate-names](https://github.com/xaya/substrate-names/) project. There are several diferences worth highligting: @@ -180,11 +176,10 @@ There is a [substrate-name-service](https://github.com/hskang9/substrate-name-se *Support of Substrate-name-service for subdomains is not good enough, and only supports IPV4. This is just a sample project and the updating has been stopped. BCANN provides complete domain name/subdomain name service and address mapping service. -Name services is an infrastructure for blockchain ecosystem. In the blockchain world, the human-readable name is the effective identification for hash, addresses, and other items, which improves the usability. +Name services is an infrastructure for blockchain ecosystem. In the blockchain world, the human-readable name is the effective identification for hash, addresses, and other items, which improves the usability. Usage scenarios: - a. Human-readable identity for decentralized social media b. Human-readable identity for decentralized email c. Human-readable identity for the address to send asset @@ -193,57 +188,63 @@ Usage scenarios: BCANNN will create a name service protocol on polkadot parachain. As a basic protocol of the name service, BCANNN will have built-in support for name/subname registry and resolver,and it shall support existing blockchain domain names, such as .eth, .luxe, etc., through adapter contract. That means users can use BCANNN as a common resolver for all blockchain domain to query/update name services records. - ## Team :busts_in_silhouette: ### Team members + * Witter Lee * Chak Zhou * Andy An ### Contact + * **Contact Name:** Witter Lee * **Contact Email:** lwt@msn.cn -### Legal Structure +### Legal Structure + - No.2588 Hongmei South Road, Minhang District, Shanghai -- Shanghai Blockchain Network Technology Co., Ltd. +* Shanghai Blockchain Network Technology Co., Ltd. ### Team's experience + Witter Lee : Full stack engineer with 12+ years of experience 7 years of experience in the blockchain industry - 4 years of experience in smart contract + 4 years of experience in smart contract 2013~2014 RippleChina.cn's CTO 2014~2016 fullcoin.com exchange's CTO 2016~2018 19800.com exchange CEO & CTO - 2018~2020 azex exchange CEO + 2018~2020 azex exchange CEO Chak Zhou : Full stack engineer with 10+ years experience 4 years of experience in the blockchain industry - 2 years of experience in smart contract development + 2 years of experience in smart contract development 2010~2014 Senior engineer of Travel e-commerce 2014~2016 Senior engineer of cross-border e-commerce 2017~2018 19800.com exchange CTO - 2018~2020 azex exchange CTO + 2018~2020 azex exchange CTO Andy An : Senior engineer engineer with 10 + years experience 2 years of experience in the blockchain industry - 2 years of experience in smart contract + 2 years of experience in smart contract 2010~2016 Senior engineer of alipay 2016~2018 Senior engineer of 19800.com exchange 2018~2020 Senior engineer of azex exchange We come from a long-term cooperation team, we have 5+ years experience in blockchain industry, like blockchain technology , smart contract development, We have 2+ years of experience in researching on the ens project. -## Development Roadmap +## Development Roadmap + ### Overview + * **Total Estimated Duration:** 12 weeks * **Total Costs:** 10,000.00 DAI ### Milestone 1: Initial implementation, name service registry and name resolver + * **Estimated Duration:** 4 weeks * **Full-time equivalent (FTE):** 2 * **Costs:** 5,000 DAI @@ -252,7 +253,7 @@ We come from a long-term cooperation team, we have 5+ years experience in blockc | ------------- | ------------- | ------------- | | 0a. | License | MIT | | 0b. | Documentation | We will provide inline documentation of the code and basic tutorials, which will explain how to use name services| -| 0c. | Testing coverage | The code will have unit-test coverage (min. 90%) to ensure functionality and robustness. We will describe how to run these tests in the guide.| +| 0c. | Testing coverage | The code will have unit-test coverage (min. 90%) to ensure functionality and robustness. We will describe how to run these tests in the guide.| | 1. | Module design| The name/sub-name will enable NFT support for names transfer/rental services | | 2. | Customizable Resolver | We will implement methods to set up custom resolver| @@ -261,9 +262,10 @@ a. Official website with project introduction b. ParaChain frame source code, protocol introduction document and module deployment document c. Unit testing and test documentation +### Milestone 2: Example of name services dapp -### Milestone 2: Example of name services dapp [mock-ups for milestone 2](https://org.modao.cc/app/4447109c463ec3a36043cb54e1edd7fafcc01c2c?simulator_type=device&sticky) + * **Estimated Duration:** 4 weeks * **Full-time equivalent (FTE):** 3 * **Costs:** 5,000 DAI @@ -273,13 +275,13 @@ c. Unit testing and test documentation | 0a. | License | Apache 2.0 | | 0b. | Documentation |We will provide documentation on how to get a name/subname, and how to use your name/subname for crypto address resolve | | 0c. | Testing Guide | We will provide users with a test name services, and users can get a 30-day test period for a name/subname | -| 1. | ns dapp| We will implement a dapp to get/manage/transfer your name/subname. +| 1. | ns dapp| We will implement a dapp to get/manage/transfer your name/subname. We will implement a dapp at this milestone. The deliverable part includes: a. Dapp for getting/managing/transferring your name/subname b. Dapp for getting/managing/transferring your name/subname for test purpose (free name/subname) ## Future Plans - - 1. We will create a mail system for name/subname which offers common mail service with crypto currency sending service + + 1. We will create a mail system for name/subname which offers common mail service with crypto currency sending service 2. We will create a BCANN parachain for each parachain as the superset of the registry data, it can provide developers with one-stop domain name registry and resolve services diff --git a/applications/Banksy_Finance.md b/applications/Banksy_Finance.md index ad722469931..da109029248 100644 --- a/applications/Banksy_Finance.md +++ b/applications/Banksy_Finance.md @@ -1,6 +1,4 @@ -# Open Grant Proposal - -* **Project:** Banksy Finance +# Banksy Finance * **Proposer:** Clink Li diff --git a/applications/CESS.md b/applications/CESS.md index adb24f866cf..cbdf1084ba5 100644 --- a/applications/CESS.md +++ b/applications/CESS.md @@ -1,22 +1,17 @@ -# W3F Open Grant Proposal - - -* **Project Name:** Cumulus Encrypted Storage System (CESS) -* **Team Name:** CESS LAB -* **Payment Address:** 0x378D889a6e66996C9Eda86D20D7E6adE666ce167(USDT) -* **Level:** 1 +# Cumulus Encrypted Storage System (CESS) +- **Team Name:** CESS LAB +- **Payment Address:** 0x378D889a6e66996C9Eda86D20D7E6adE666ce167(USDT) +- **Level:** 1 ## Project Overview :page_facing_up: - ### Overview -* Tag line: An infrastructure for a blockchain-based decentralized cloud data network. -* Brief description: Cumulus Encrypted Storage System (CESS) is dedicated to develop a new global decentralized cloud data storage platform – a blockchain-based network infrastructure that is transparent, efficient, and equal opportunity to all members of the global community. CESS encourages excess or under-utilized resources as nodes to join CESS’s unrestricted expandable network via the token economy incentive method. Each node joins the CESS peer-to-peer network by contributing data storage resources, computational resources, or network bandwidth. Built on our state-of-the-art virtualization and cloud computing technologies, CESS organizes and manages the participating resources providing clients with secure, high performance, and boundless cloud data storage services. Furthermore, the CESS protocol enables interconnection of network nodes, to build a large decentralized cloud storage system that supports up to 100PB storage scale to meet the demand of enterprise level data storage. CESS will adopt a phased approach to implement the above goals. -* Indication 1: With the goal of entering Polkadot ecosystem, CESS will build a blockchain system based on Substrate directly, and plans to develop custom pallets on FRAME. In the future, CESS will consider integrating to Polkadot in the form of Parachain to create a new decentralized cloud storage ecosystem, establish a large-scale distributed storage network. -* Indication 2: With rapid advances of new computing technologies such as big data and machine learning, the value of humanity’s digital assets, the so-called “Digital Gold”, are being discovered. Explosively growing amount of data in cyberspace calls for new technologies of secure data storage and efficient data sharing. The challenges are to achieve secure storage, efficient sharing, and trading with data owner’s rights protection, but current solutions are complex and worrisome. Distributed storage networks can better drive the arrival of Web3.0 and are one of the underlying technical infrastructure of Web3.0. - +- Tag line: An infrastructure for a blockchain-based decentralized cloud data network. +- Brief description: Cumulus Encrypted Storage System (CESS) is dedicated to develop a new global decentralized cloud data storage platform – a blockchain-based network infrastructure that is transparent, efficient, and equal opportunity to all members of the global community. CESS encourages excess or under-utilized resources as nodes to join CESS’s unrestricted expandable network via the token economy incentive method. Each node joins the CESS peer-to-peer network by contributing data storage resources, computational resources, or network bandwidth. Built on our state-of-the-art virtualization and cloud computing technologies, CESS organizes and manages the participating resources providing clients with secure, high performance, and boundless cloud data storage services. Furthermore, the CESS protocol enables interconnection of network nodes, to build a large decentralized cloud storage system that supports up to 100PB storage scale to meet the demand of enterprise level data storage. CESS will adopt a phased approach to implement the above goals. +- Indication 1: With the goal of entering Polkadot ecosystem, CESS will build a blockchain system based on Substrate directly, and plans to develop custom pallets on FRAME. In the future, CESS will consider integrating to Polkadot in the form of Parachain to create a new decentralized cloud storage ecosystem, establish a large-scale distributed storage network. +- Indication 2: With rapid advances of new computing technologies such as big data and machine learning, the value of humanity’s digital assets, the so-called “Digital Gold”, are being discovered. Explosively growing amount of data in cyberspace calls for new technologies of secure data storage and efficient data sharing. The challenges are to achieve secure storage, efficient sharing, and trading with data owner’s rights protection, but current solutions are complex and worrisome. Distributed storage networks can better drive the arrival of Web3.0 and are one of the underlying technical infrastructure of Web3.0. ### Project Details @@ -24,102 +19,108 @@ We expect the teams to already have a solid idea about your project's expected f Mockups/designs of any UI components -* Global nodes: Display the global map and the number of global nodes of distributed storage network, and mark the location distribution of nodes according to coordinates; Display node list. +- Global nodes: Display the global map and the number of global nodes of distributed storage network, and mark the location distribution of nodes according to coordinates; Display node list. ![Image](https://raw.githubusercontent.com/Cumulus2021/W3F-illustration/main/img1.png) -* My cloud disk: Personal storage space to view the files uploaded to the storage network; The list can be sorted by upload time, file name, file type and file size; Supports file download, share, property setting, deletion and other operations. +- My cloud disk: Personal storage space to view the files uploaded to the storage network; The list can be sorted by upload time, file name, file type and file size; Supports file download, share, property setting, deletion and other operations. ![Image](https://raw.githubusercontent.com/Cumulus2021/W3F-illustration/main/img2.png) -* File upload: Select the files to be stored and set the relevant storage parameters. +- File upload: Select the files to be stored and set the relevant storage parameters. ![Image](https://raw.githubusercontent.com/Cumulus2021/W3F-illustration/main/img3.png) -* Search for file: Search the whole network through keywords, and download the search results. +- Search for file: Search the whole network through keywords, and download the search results. ![Image](https://raw.githubusercontent.com/Cumulus2021/W3F-illustration/main/img4.png) Documentation of core components, protocols, architecture, etc. to be deployed -* CESS is a high-speed, secure, scalable and decentralized cloud storage system. It can handle tens of thousands of transactions per second through parallel technology. Through Data slicing technology, it can achieve the secure storage of massive data, and it has the functions of Data confirmation and Data rights protection, which provides powerful data service ability. It provides DAPP with unlimited scalable storage capacity and perfect Data rights protection capability. +- CESS is a high-speed, secure, scalable and decentralized cloud storage system. It can handle tens of thousands of transactions per second through parallel technology. Through Data slicing technology, it can achieve the secure storage of massive data, and it has the functions of Data confirmation and Data rights protection, which provides powerful data service ability. It provides DAPP with unlimited scalable storage capacity and perfect Data rights protection capability. + +- Data storage workflow: When a client requests to store a data file, the CESS platform pre-processes the data file to obtain and store its meta-data and data fingerprints. The pre-process software also performs data file replication and fault tolerant erasure coding. The meta-data includes info of data owner, data keywords, and etc. The data fingerprints are for subsequent data rights confirmation. + +
+ +- CESS client-platform interactions: A typical CESS data client and platform interaction flow is as follows: first, a data storage client interrogates CESS chain to get current storage price. The client then places an order for his/her data file via extrinsics on blockchain. Once the payment is made and order is approved, the client then uploads the data file using API provided by CESS platform. The data file is not directly uploaded to storage nodes, instead it is uploaded to a CESS storage scheduling node. The scheduling nodes are the ones with secure hardware environment (Trusted Execution Environment or TEE) and the data file will be pre-processed, encrypted, and sharded. Finally, the scheduling node distributes data segments to storage nodes to store. CESS storage miners do not make deal directly with clients, and they get rewarded from CESS system by providing storage space. Miners’ storage resources are uniformly managed by CESS system, which fairly distributes data files. Miners have the responsibility to maintain the integrity of clients’ data. Any malicious behavior will be punished (CESS token deduction). + +
-* Data storage workflow: When a client requests to store a data file, the CESS platform pre-processes the data file to obtain and store its meta-data and data fingerprints. The pre-process software also performs data file replication and fault tolerant erasure coding. The meta-data includes info of data owner, data keywords, and etc. The data fingerprints are for subsequent data rights confirmation. -
+- Overall system architecture: CESS adopts a layered and loosely coupled system architecture, which is divided into blockchain service layer, distributed storage resource layer, distributed content delivery layer and application layer. -* CESS client-platform interactions: A typical CESS data client and platform interaction flow is as follows: first, a data storage client interrogates CESS chain to get current storage price. The client then places an order for his/her data file via extrinsics on blockchain. Once the payment is made and order is approved, the client then uploads the data file using API provided by CESS platform. The data file is not directly uploaded to storage nodes, instead it is uploaded to a CESS storage scheduling node. The scheduling nodes are the ones with secure hardware environment (Trusted Execution Environment or TEE) and the data file will be pre-processed, encrypted, and sharded. Finally, the scheduling node distributes data segments to storage nodes to store. CESS storage miners do not make deal directly with clients, and they get rewarded from CESS system by providing storage space. Miners’ storage resources are uniformly managed by CESS system, which fairly distributes data files. Miners have the responsibility to maintain the integrity of clients’ data. Any malicious behavior will be punished (CESS token deduction). -
+
-* Overall system architecture: CESS adopts a layered and loosely coupled system architecture, which is divided into blockchain service layer, distributed storage resource layer, distributed content delivery layer and application layer. -
+- CESS MDRC mechanism workflow: CESS have designed a unique **Multi-format Data Rights Confirmation Mechanism (MDRC)**, which extracts data fingerprint from each data file to generate data certificate ID. By comparing similarities between data fingerprints, the system identifies data lineages of data files, and may take appropriate actions to prevent possible violations, and to provide strong evidences for owners’ data rights protection. -* CESS MDRC mechanism workflow: CESS have designed a unique **Multi-format Data Rights Confirmation Mechanism (MDRC)**, which extracts data fingerprint from each data file to generate data certificate ID. By comparing similarities between data fingerprints, the system identifies data lineages of data files, and may take appropriate actions to prevent possible violations, and to provide strong evidences for owners’ data rights protection. -
+
### Ecosystem Fit CESS is a distributed cloud data network with user friendly ledgers, novel consensus mechanism, multiple data authenticity proof schemes, and reliable network infrastructure. CESS offers data storage service with the advantages of low cost, privacy protection, security and robustness. With the implementation of CESS data confirmation and proxy re-encryption technology, CESS provides Web3.0 clients and DAPPs with trustworthy, secure and reliable data rights protection. Compared to the similar projects in the Polkadot ecosystem including Ocean, DataHighway and Bluzelle, CESS storage service features: -* Encrypted data storage -* Multiple copies (3 copies by default, more upon request) -* Sharded and distributed on multiple nodes -* Highly scalable storage space -* Transactions secured by CESS blockchain -* Data rights protection for data owners -* Competitive cost + +- Encrypted data storage +- Multiple copies (3 copies by default, more upon request) +- Sharded and distributed on multiple nodes +- Highly scalable storage space +- Transactions secured by CESS blockchain +- Data rights protection for data owners +- Competitive cost ## Team :busts_in_silhouette: ### Team members -* Joseph Li -* Jinghong Zeng +- Joseph Li +- Jinghong Zeng ### Contact -* **Contact Name:** Jessie Dai -* **Contact Email:** jessie@cess.cloud -* **Website:** http://cess.cloud +- **Contact Name:** Jessie Dai +- **Contact Email:** jessie@cess.cloud +- **Website:** ### Legal Structure -* **Registered Address:** 22 St Leonard's Ave, Lostock, Bolton BL6 4JE, England -* **Registered Legal Entity:** Paul David Humphreys +- **Registered Address:** 22 St Leonard's Ave, Lostock, Bolton BL6 4JE, England +- **Registered Legal Entity:** Paul David Humphreys ### Team's experience -* Team CESS +- Team CESS -CESS technical team members have an affluent understanding of technology and have been involved in internationally renowned cloud storage companies as essential technical development members. +CESS technical team members have an affluent understanding of technology and have been involved in internationally renowned cloud storage companies as essential technical development members. The background of our team members includes but not limited to cloud computing and storage, involved in cloud related PaaS and SaaS products research and development; unique insights into the network development, cryptography algorithm implementation, and performance optimization; comprehensive knowledge of public chain and played a major role in the development of public chain focusing on the delivery of commercial applications. For the past two years, CESS core team members have been developing and building a stable decentralized cloud storage service atop the distributed resources to surmount the security risks presented in the current centralized storage platform. The members are working in the UK, China, and India locations with the commitment creating a decentralized cloud storage data network for commercial use. -* Joseph Li + +- Joseph Li Joseph Li brings to our operations 24 years of experiences as a Principal Network Engineer managing and supporting large-scale networks on a global scale. Amongst Joseph’s numerous achievements was the IP infrastructure conversion for a network of over 900 nodes and his major accomplishments within the field of VPN. -* Jinghong Zeng + +- Jinghong Zeng Jinghong Zeng served more than 20 years with a global telecommunications cooperation as a Senior System Architect and Software Engineer, she has proven skills in data warehousing, data processing within distributed systems and a solid understanding of Blockchain. ### Team Code Repos -* https://github.com/Cumulus2021/CumulusSystem -* https://github.com/Cumulus2021/Whitepaper +- +- ## Development Roadmap :nut_and_bolt: - ### Overview -* **Total Estimated Duration:** 4 months -* **Full-Time Equivalent (FTE):** 2 -* **Total Costs:** 8,000 USD +- **Total Estimated Duration:** 4 months +- **Full-Time Equivalent (FTE):** 2 +- **Total Costs:** 8,000 USD ### Milestone 1: Implement Substrate Modules -* **Estimated Duration:** 2 months -* **FTE:** 2 -* **Costs:** 4,000 USD +- **Estimated Duration:** 2 months +- **FTE:** 2 +- **Costs:** 4,000 USD | Number | Deliverable | Specification | | -----: | ----------- | ------------- | @@ -132,12 +133,11 @@ Jinghong Zeng served more than 20 years with a global telecommunications coopera | 1c. | Substrate module: Storage Miner | We will create a Substrate module that will process and upload user data, and support Integrity verification. | | 2. | Docker | We will provide a dockerfile to demonstrate the full functionality of our chain. | - ### Milestone 2: Implement Storage Mining -* **Estimated Duration:** 1 month -* **FTE:** 2 -* **Costs:** 2,000 USD +- **Estimated Duration:** 1 month +- **FTE:** 2 +- **Costs:** 2,000 USD | Number | Deliverable | Specification | | -----: | ----------- | ------------- | @@ -146,16 +146,15 @@ Jinghong Zeng served more than 20 years with a global telecommunications coopera | 0c. | Testing Guide | The code will have unit-test coverage (min. 80%) to ensure functionality and robustness. In the guide we will describe how to run these tests. | | 0d. | Article/Tutorial | We will publish an article and a tutorial that explains the work done as part of the grant. | | 1a. | Stacked DRG Library | We will create a library for proving and verifying transactions, compatible with the substrate pallet. | -| 1b. | zk-SNARK proofs | We will implement the algorithm to process the proof results from stacked DRG library. | -| 2. | Substrate module: Segment Book | Develop pallet implement function of storage mining. | -| 3. | Miner Client | Interactive with pallet for storage mining to implement mining supporting services. | - +| 1b. | zk-SNARK proofs | We will implement the algorithm to process the proof results from stacked DRG library. | +| 2. | Substrate module: Segment Book | Develop pallet implement function of storage mining. | +| 3. | Miner Client | Interactive with pallet for storage mining to implement mining supporting services. | ### Milestone 3: Implement and Integrate CESS Applications -* **Estimated Duration:** 1 month -* **FTE:** 2 -* **Costs:** 2,000 USD +- **Estimated Duration:** 1 month +- **FTE:** 2 +- **Costs:** 2,000 USD | Number | Deliverable | Specification | | -----: | ----------- | ------------- | @@ -164,11 +163,10 @@ Jinghong Zeng served more than 20 years with a global telecommunications coopera | 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. | | 0d. | Article/Tutorial | We will publish an article and a tutorial that explains the work done as part of the grant. | | 1. | Cryptographic modules | We will implement the cryptographic modules including inner product functional encryption and the associated zero-knowledge proof for storage proof. | -| 2. | UI Modules | We will design a user-friendly UI that supports both PC and mobile. | -| 3. | File processing | We provide abundant file operation services, including file upload, download, share, delete, etc. | -| 4. | Benchmark | Perform unit tests on the individual algorithms to ensure system safety. | -| 5. | Docker | We will provide a dockerfile to demonstrate the full functionality of our chain. | - +| 2. | UI Modules | We will design a user-friendly UI that supports both PC and mobile. | +| 3. | File processing | We provide abundant file operation services, including file upload, download, share, delete, etc. | +| 4. | Benchmark | Perform unit tests on the individual algorithms to ensure system safety. | +| 5. | Docker | We will provide a dockerfile to demonstrate the full functionality of our chain. | ## Future Plans diff --git a/applications/Cere_Turnkey_Private_Blockchain_Network.md b/applications/Cere_Turnkey_Private_Blockchain_Network.md index 06ada64d3a4..ecfed31b2ff 100644 --- a/applications/Cere_Turnkey_Private_Blockchain_Network.md +++ b/applications/Cere_Turnkey_Private_Blockchain_Network.md @@ -1,6 +1,5 @@ -# Open Grant Proposal +# Turn-key Private Standalone Blockchain Network -* **Project:** Turn-key Private Standalone Blockchain Network * **Proposer:** [Cere-Network](https://github.com/Cerebellum-Network) * **Payment Address:** 1BbyAGddobdPgNo9c63xsRnwK5hen8pV7F diff --git a/applications/Coinversation.md b/applications/Coinversation.md index 12aa0aa3495..bbefc75bf23 100644 --- a/applications/Coinversation.md +++ b/applications/Coinversation.md @@ -1,6 +1,5 @@ -# Open Grant Proposal +# Coinversation Protocol -* **Project:** Coinversation Protocol * **Proposer:** [coin-pro](https://github.com/coin-pro) * **Payment Address:** 3FX6TD7Qm255foMg7xZStZNAfpLvDai5P8 * **Status:** [Terminated](https://github.com/w3f/Grant-Milestone-Delivery/pull/233#issuecomment-886535171) diff --git a/applications/DICO.md b/applications/DICO.md index 1495294cbc5..133e0edd372 100644 --- a/applications/DICO.md +++ b/applications/DICO.md @@ -1,12 +1,9 @@ -# DICO Open Grant Proposal +# DICO - -* **Project Name:** DICO * **Team Name:** DICO Team * **Payment Address:** 0x0211ae8881a3a0a41150627da07c900b78144a84(USDT) * **Status:** [Terminated](https://github.com/w3f/Grants-Program/pull/636#issuecomment-1144901144) - ## Project Overview The `DICO` is to create a decentralized and governable ICO platform for the Polkadot/Kusama ecology. Our platform will allow entrepreneurs to quickly find investors. In a word: Be a platform to link ideas and capital. @@ -26,24 +23,20 @@ Our project use substrate framework and is built on top of Polkadot/Kusama ecosy * *KYC*,*ICO*,*DAO* and *Swap* modules are built on substrate runtime. they complete the basic user interaction logic. * *Oracle* enabled off-chain worker to query the current price feed of the platform or other tokens. - ### Project Details #### Mockups and UI components -

- #### ICO

-

@@ -60,12 +53,10 @@ Our project use substrate framework and is built on top of Polkadot/Kusama ecosy

-

- #### KYC

@@ -76,7 +67,6 @@ Our project use substrate framework and is built on top of Polkadot/Kusama ecosy

- #### DAO

@@ -87,10 +77,8 @@ Our project use substrate framework and is built on top of Polkadot/Kusama ecosy

- #### Swap -

@@ -103,7 +91,6 @@ Our project use substrate framework and is built on top of Polkadot/Kusama ecosy

- ### Ecosystem Fit * Where and how does your project fit into the ecosystem? @@ -118,7 +105,6 @@ Our project use substrate framework and is built on top of Polkadot/Kusama ecosy > Be a platform to link ideas and capital. - * Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem? * If so, how is your project different? *coinlist*,A token financing platform, all the mainstream virtual currencies above can be traded and financed. It provides token financing, but does not provide the funds needed by early creator and the control of the entire project cycle. @@ -136,7 +122,7 @@ Our project use substrate framework and is built on top of Polkadot/Kusama ecosy * **Contact Name:** gogomath * **Contact Email:** gogomath@outlook.com -* **Website:** https://dico.io/ +* **Website:** ### Legal Structure @@ -147,11 +133,11 @@ Our project use substrate framework and is built on top of Polkadot/Kusama ecosy ### Team's experience -*Daniel*: Daniel is currently a venture investor at [WEB3 Venture Capital](https://web3.vc/#/). Daniel previously is a solidity/EOS engineer. +*Daniel*: Daniel is currently a venture investor at [WEB3 Venture Capital](https://web3.vc/#/). Daniel previously is a solidity/EOS engineer. *gogomath*: gogomath is the CTO of the team and has 10 years of software development experience. The fields involved are big data, machine learning, SAAS, devops. And familiar with eth/near/polkadot in the field of digital encryption development. -*cf*: cf is a full stack engineer with five years of development experience. and familiar with Go/Rust/Java/Python/Javascript/Typescript +*cf*: cf is a full stack engineer with five years of development experience. and familiar with Go/Rust/Java/Python/Javascript/Typescript *tokggo*: tokggo is the test/devops engineer of the team, he is very good at writing various documents.and has 6 years of development experience. @@ -161,25 +147,20 @@ Our project use substrate framework and is built on top of Polkadot/Kusama ecosy ### Team Code Repos -* https://github.com/DICO-TEAM/dico-chain - +* ## Development Status :open_book: - -*interface iterations and resource*: https://github.com/DICO-TEAM/resources +*interface iterations and resource*: ## Development Roadmap :nut_and_bolt: - ### Overview - * **Total Estimated Duration:** 1 months * **Full-Time Equivalent (FTE):** 6 FTE * **Total Costs:** 10k USD - ### Milestone 1 — Implement KYC, ICO, DAO Modules * **Estimated duration:** 1 month @@ -192,9 +173,9 @@ Our project use substrate framework and is built on top of Polkadot/Kusama ecosy | 1.a | Substrate module: KYC pallet | KYC pallet Includes identity authentication service(IAS), KYC users, and swordholder. responsible for providing users with a decentralized KYC certification service.and provide area authentication of the account.Detailed explanation is described [here](https://github.com/DICO-TEAM/dico-chain/tree/main/pallets/kyc/README.md)| | 1.b | Substrate module: ICO pallet | Apply for ICO and council review for the project party. Detailed explanation is described [here](https://github.com/DICO-TEAM/dico-chain/tree/main/pallets/ico/README.md)| | 1.c | Substrate module: DAO pallet | Integrate governance with the ICO module to provide governance logic for the opening and closing of the ICO of the project. Detailed explanation is described [here](https://github.com/DICO-TEAM/dico-chain/tree/main/pallets/dao/README.md)| -| 2.a. | Integration with front-end(dapp) |integrate our existing front end to the finalized module.| +| 2.a. | Integration with front-end(dapp) |integrate our existing front end to the finalized module.| | 2.b | Tutorial| We will create an screenshot tutorial and a demo video that will explain how users can start using the platform for KYC and ICO. | -| 3. | Testing Guide/Documentation | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests and add inline documentation of the code. | +| 3. | Testing Guide/Documentation | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests and add inline documentation of the code. | | 4. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone.| | 5. | Docker-compose | We will provide a docker-compse.yml that can be used to test parachain version node delivered with this milestone.in this version, users will be invited to this testnet | -| 6. | Lending module(research oriented)| Innovation combining ICO and borrowing/lending. In our 2.0 version, we hope to introduce an innovation combining lending and ICO. The goal is to make ICO more diversified through borrowing/lending. Through the logic of borrowing/lending, and participation in ICO, the participants will be more diverse. At the same time, in the 2.0 testnet, we will let users participate in this pallet. According to the test results, publish a blog to show the test results.| +| 6. | Lending module(research oriented)| Innovation combining ICO and borrowing/lending. In our 2.0 version, we hope to introduce an innovation combining lending and ICO. The goal is to make ICO more diversified through borrowing/lending. Through the logic of borrowing/lending, and participation in ICO, the participants will be more diverse. At the same time, in the 2.0 testnet, we will let users participate in this pallet. According to the test results, publish a blog to show the test results.| diff --git a/applications/DKSAP.md b/applications/DKSAP.md index 308422e8e06..676f7738745 100644 --- a/applications/DKSAP.md +++ b/applications/DKSAP.md @@ -1,6 +1,5 @@ -# W3F Grant Proposal +# DKSAP -- **Project Name:** DKSAP - **Team Name:** DKSAP - **Payment Address:** 0xf4f463B9A0ADa68536423121e7Bf9E559ce54fAf(Ethereum ERC20 USDT) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 diff --git a/applications/DNFT.md b/applications/DNFT.md index 75bfab316e8..082d5606a55 100644 --- a/applications/DNFT.md +++ b/applications/DNFT.md @@ -1,6 +1,5 @@ -# Open Grant Proposal +# DNFT Protocol -* **Project:** DNFT Protocol * **Proposer:** [DNFT](https://github.com/DNFT-Team) * **Payment Address:** 1Atc7JjqeSw1PwxCsSr8KPHEKDoRfh5ERF * **Status:** [Terminated](https://github.com/w3f/Grant-Milestone-Delivery/pull/213#issuecomment-918946371) diff --git a/applications/Dante_Network.md b/applications/Dante_Network.md index e15ded2f4d4..5746535e7fa 100644 --- a/applications/Dante_Network.md +++ b/applications/Dante_Network.md @@ -1,6 +1,5 @@ -# W3F Grant Proposal +# Dante Network -- **Project Name:** Dante Network - **Team Name:** Dante Network - **Payment Address:** 0xc92314a5f62FA54b272612804C9Ac70AC139F7B0 (Ethereum ERC20 USDT) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 diff --git a/applications/Datagen_Project.md b/applications/Datagen_Project.md index 70f449a7e52..e3823ed743f 100644 --- a/applications/Datagen_Project.md +++ b/applications/Datagen_Project.md @@ -1,6 +1,5 @@ -# W3F Grant Proposal +# Datagen Project -- **Project Name:** Datagen Project - **Team Name:** B-Datagray - **Payment Address:** 0x330330C5F676cec700CB30aF9E37D3012f525AeE - Ethereum Network - USDC - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 @@ -11,7 +10,7 @@ B-Datagray’s Datagen project concerns the development of a decentralized infrastructure for CPU/GPU cloud computing, in chain, through different blockchain components. -The Datagen infrastructure requires the creation of a Substrate-based blockchain with some key features: low latency time, high efficiency (compatibly with the decentralized nature of the network), high degree of decentralization (higher than a traditional PoS would allow) of the physical hardware providing the cloud computing (therefore requiring a customized consensus protocol) and in-chain (or near-in-chain) computation (no off-chain based solutions). +The Datagen infrastructure requires the creation of a Substrate-based blockchain with some key features: low latency time, high efficiency (compatibly with the decentralized nature of the network), high degree of decentralization (higher than a traditional PoS would allow) of the physical hardware providing the cloud computing (therefore requiring a customized consensus protocol) and in-chain (or near-in-chain) computation (no off-chain based solutions). The Datagen infrastructure primarily want to serve: privacy friendly search engines and browsers, decentralized Web3 games and other ones (for example decentralizing the hardware layer of PoS blockchains, typically hosted on AWS and similar, etc…). @@ -21,40 +20,40 @@ B-Datagray team is really interested in creating this solution because we think ### Project Details -Architecture: The infrastructure will rely on two main pillars: a fast and independent substrate based blockchain (Fast Blockchain FB) and a slower but more resilient Polkadot/ Kusama parachain (Heavy Blockchain HB). +Architecture: The infrastructure will rely on two main pillars: a fast and independent substrate based blockchain (Fast Blockchain FB) and a slower but more resilient Polkadot/ Kusama parachain (Heavy Blockchain HB). ![datagen_infrastructor_diagram](https://i.imgur.com/3VDy0Wm.png) -The actual cloud computing will happen in our FB Datagen (substrate based). The reason for which we are having the cloud computing in an independent blockchain is that we need our blocktime to be lower than Polkadot’s / Kusama’s blocktime (ideally < 1sec when the infrastructure is ready) to be able to provide cloud computing to most Web3 gaming applications and privacy-friendly search engines. +The actual cloud computing will happen in our FB Datagen (substrate based). The reason for which we are having the cloud computing in an independent blockchain is that we need our blocktime to be lower than Polkadot’s / Kusama’s blocktime (ideally < 1sec when the infrastructure is ready) to be able to provide cloud computing to most Web3 gaming applications and privacy-friendly search engines. While, what happens in this HB will be asynchronously and randomly verified in the Parachain. -We adopt the relativistic point of view of the data-flow from the user to explain the underlying process. +We adopt the relativistic point of view of the data-flow from the user to explain the underlying process. The user connects to the network (typically through the API of the application provider that is using the Datagen Infrastructure), than the user goes through the so called ECHO procedure: he/she sends a package of raw data to be processed by the network and the first validator that answers correctly to him/her is paired to the user on a one to one basis (this is the only PoW heavy-like process that is happening in the whole infrastructure and is done to pair any user with the most efficient validator to him/her, starting from the assumption that by geography and/or specific application in use and/or other factors not all the users and the same validators have the same latency time). -The user is now paired to a specific validator (for a given amount of time -in the magnitude of some weeks-; after that given amount of time the user will send periodically other ECHOs, to allow to reassess the efficiency of the validators in the network). +The user is now paired to a specific validator (for a given amount of time -in the magnitude of some weeks-; after that given amount of time the user will send periodically other ECHOs, to allow to reassess the efficiency of the validators in the network). The user (through the Application Provider’s API) sends raw data both to the paired validator in the FB Datagen and to the HB Polkadot’s Parachain. The validator in the FB must solve the raw computational request and turn it into a hash, within the blocktime, so, the hashed data must propagate in the whole FB, but there is no need for the raw data to be processed multiple times (like in a PoW) in the FB. So, what is verifiably shared by the validators of the FB is the series of hashes and not the reiteration of the same computational process. The FB, as a whole, is so behaving more alike a PoS blockchain than a PoW. -Since the blocktime of the Parachain is longer than the blocktime of the FB, both the raw data from the user and the hashed data from the validator are sent to the Parachain in an asynchronous way (typically it could be every 10 to 30 blocks of the FB). +Since the blocktime of the Parachain is longer than the blocktime of the FB, both the raw data from the user and the hashed data from the validator are sent to the Parachain in an asynchronous way (typically it could be every 10 to 30 blocks of the FB). The parachain is not re-computing all the raw and the hashed data, for the moment is just storing them in a verifiable way. ![datagen_deep_infrastructure_diagram](https://i.imgur.com/w0obsru.png) -**Example**: `raw data X` came from `user A`, resulting in `hash Y` from `validator A`. Randomly, the Parachain extracts some computational problems to be double-checked. For example, it can randomly extract `raw data X` for double-checking and entrust it to validator `B`, `C` and `D` (sending back the request to them in the FB). +**Example**: `raw data X` came from `user A`, resulting in `hash Y` from `validator A`. Randomly, the Parachain extracts some computational problems to be double-checked. For example, it can randomly extract `raw data X` for double-checking and entrust it to validator `B`, `C` and `D` (sending back the request to them in the FB). `B`, `C` and `D` compute `X` again. Presuming that the majority of `B`, `C` and `D` (so at least two of them) are honest, the majority of them should compute `X` and obtain the same hash (`hash Z`). They send the hash back to the Parachain, and than compare the hashes. If for at least two validators (between `B`, `C` and `D`) `hash Z` = `hash Y` (the same hash obtained by `validator A`), `validator A` is then presumed honest and can continue with its validating activity. If, instead, for at least 2 validators (between `B`, `C` and `D`) `hash Z` ≠ `hash Y`, `validator A` is presumed a liar. -Since to be a validator `A` needed both to provide GPU and/or CPU processing capacity and to buy and stake DataGen native tokens, is easy to impose an economical cost for the cheating `validator A` by making it loose staked coins as a consequence of its wrong computation. In this regard the Parachain acts as an authority for the random processes of the FB. +Since to be a validator `A` needed both to provide GPU and/or CPU processing capacity and to buy and stake DataGen native tokens, is easy to impose an economical cost for the cheating `validator A` by making it loose staked coins as a consequence of its wrong computation. In this regard the Parachain acts as an authority for the random processes of the FB. We prefer the use of a Parachain, instead of two FB or a HB of our own FB, because of the improved resiliency that the Polkadot ecosystem can provide. -We must underline that, even if the goal of this very complex design is to keep even the hardware layer as decentralized as possible (compared to a PoS network, where there is strong economic incentive for a validator to host the computing capacity on the top of centralized server farm like AWS) we can’t prevent the validators hosted on centralized providers to participate to the network. +We must underline that, even if the goal of this very complex design is to keep even the hardware layer as decentralized as possible (compared to a PoS network, where there is strong economic incentive for a validator to host the computing capacity on the top of centralized server farm like AWS) we can’t prevent the validators hosted on centralized providers to participate to the network. The trade-off for such a result would so impede efficiency and low latency that, instead of trying to attain it (for some ideological reason of decentralization per self) we think we should try keeping the hardware layer of the network _decentralized enough_. We think that this can be attained as a collateral result of the above explained ECHO procedure (whose primary goal is to increase the overall efficiency and decrease the overall latency time of the network, by pairing users and validators on the basis of response time). -This collateral positive externality happens since validators that are faster to respond to specific clusters of users are rewarded by the process with the right to provide the cloud computing power requested by those clusters, with meaningful consequences for the geographical distribution of the validators themselves: in some geographical contexts (US coasts or Western Europe), where the internet connection is fast and big server farms are close-by, this will keep the economic incentive for validators to be hosted in centralized server farms; on the opposite, in other contexts (like some parts of South-East Asia, Sub-Saharan Africa and LATAM), where broadband connection is slow or inexistent and server farms far away, there will be a strong economic incentive to set up independent hardware facilities to validate the activity of local or regional areas. +This collateral positive externality happens since validators that are faster to respond to specific clusters of users are rewarded by the process with the right to provide the cloud computing power requested by those clusters, with meaningful consequences for the geographical distribution of the validators themselves: in some geographical contexts (US coasts or Western Europe), where the internet connection is fast and big server farms are close-by, this will keep the economic incentive for validators to be hosted in centralized server farms; on the opposite, in other contexts (like some parts of South-East Asia, Sub-Saharan Africa and LATAM), where broadband connection is slow or inexistent and server farms far away, there will be a strong economic incentive to set up independent hardware facilities to validate the activity of local or regional areas. Those independent validators, while not optimally located to compete with AWS-hosted validators for users in the “north of the world”, can also become validators of last resort in the case in which the centralized server farms are not providing service anymore (it can be due to technical outage or political pressure for censorship or other factors). As said, the goal is not to expel AWS-hosted validators from the Datagen network, but to keep it decentralized enough while being at the same time low latency and computationally efficient. @@ -62,7 +61,8 @@ The only computational activity that is happening off-chain is (following the ex Ideally, we would like to explore some technic to keep light the blockchains long-term to keep it clean of old unnecessary raw data and just having hashes long term (that’s why we like so much Polkadot’s feature that allows blockchains to evolve without forking). -So Datagen is **NOT**: +So Datagen is **NOT**: + - providing cloud storage of processed data; - doing substantial stuff off-chain; - PoW; @@ -82,7 +82,7 @@ For the above explained reasons, we see Phala more like a complementary project In other ecosystems we can see different competitors, each one with a very different both technical and go to market approach (explaining them one to one will be too long to explain in this grant application), both off-chain and in-chain. -Off-chain SONM (independent copy-cat of the Ethereum blockchain), Aleph.im (Solana, cross-chain compatible). And (more or less) in-chain: Akash (Solana Nodes + Cosmos), Golem (Ethereum), Cudos (L1, independent, cross-chain compatible), StackOS (Binance Polygon, Avalanche) and others. +Off-chain SONM (independent copy-cat of the Ethereum blockchain), Aleph.im (Solana, cross-chain compatible). And (more or less) in-chain: Akash (Solana Nodes + Cosmos), Golem (Ethereum), Cudos (L1, independent, cross-chain compatible), StackOS (Binance Polygon, Avalanche) and others. The existence of many competitors (each different from the other) in many different stacks is for us a confirmation that we are working on something that matters and we think that for the Polkadot ecosystem is important to harbor different cloud computing projects, with different (in some points complementary and in other alternative) approaches, both to help boosting the wider Web3 environment to shift away from centralized Web2 providers like AWS, Google Cloud, Azure, IBM, Alibaba and to acquire and retain valuable projects while competing with other major stacks, because cloud computing matters a lot in the web economy and in the web physical infrastructure and for a top stack like Polkadot / Kusama should matter _where_ cloud computing, as a strategic asset, is happening. @@ -115,19 +115,19 @@ In particular is possible to observe that the Solana ecosystem is backing both o ### Team's experience -Both founders (Angela & Luca) have a legal background. They entered in the blockchain space in 2019 (shifting carrier) because they both strongly believe in the transformative power that the blockchain revolution can have on society. +Both founders (Angela & Luca) have a legal background. They entered in the blockchain space in 2019 (shifting carrier) because they both strongly believe in the transformative power that the blockchain revolution can have on society. -After ≈1 year of self-taught study of the blockchain technology and market, they incorporated B-Datagray in late 2020. At the beginning it was a very lonely but enriching journey, since they had 0 previous connection in the industry, 0 track record and 0 capital. Angela and Luca started being full-time on the project in January 2021. +After ≈1 year of self-taught study of the blockchain technology and market, they incorporated B-Datagray in late 2020. At the beginning it was a very lonely but enriching journey, since they had 0 previous connection in the industry, 0 track record and 0 capital. Angela and Luca started being full-time on the project in January 2021. -In Spring 2021 they started building the technical team (at the beginning all part time, due to the lack of capital) and not without encountering not particularly honest devs, while that made things more difficult short-term, long-term it allowed the funders to become more skilled in managing a team. Our currently beautiful team started to come togheter after summer 2021. +In Spring 2021 they started building the technical team (at the beginning all part time, due to the lack of capital) and not without encountering not particularly honest devs, while that made things more difficult short-term, long-term it allowed the funders to become more skilled in managing a team. Our currently beautiful team started to come togheter after summer 2021. -In that period, we also entered in the XEurope Accelerator. Ren (with 7 years of coding experience and 5 of Solidity coding) was the first to become mostly full-time, in October 2021, before we were able to pay him a salary. +In that period, we also entered in the XEurope Accelerator. Ren (with 7 years of coding experience and 5 of Solidity coding) was the first to become mostly full-time, in October 2021, before we were able to pay him a salary. In November B-Datagray received the first VC investment and to date we have 2 VC and 2 angel investments. We have developed all the tokenomic smart contracts, including a community governance smart contract to help smoothing the transition from the BSC to our Native + Polkadot blockchain and all of them have been audited by Certik. B-Datagray has also been recently finalist at the MIT Bitcoin Pitch Competition 2022. -We know that we still have much to grow and to learn, but all the journey until here and now taught to B-Datagray’s founder a great deal about bootstrapping and managing a company and about doing much with very little. +We know that we still have much to grow and to learn, but all the journey until here and now taught to B-Datagray’s founder a great deal about bootstrapping and managing a company and about doing much with very little. -The ability and willingness to learn and grow and change and to work hard and to believe, even in the most difficult moment, and to find the resources, in the inner-self and in the other people, even when is seemingly and rationally impossible, in our opinion is more important than any learned skill for team and project leaders, since is an attitude that you have inside you and that you express in every aspect of your personal and professional life and that will be determinant to solve any of the multiple problems that will inevitably and unexpectedly occur during the project’s lifetime. +The ability and willingness to learn and grow and change and to work hard and to believe, even in the most difficult moment, and to find the resources, in the inner-self and in the other people, even when is seemingly and rationally impossible, in our opinion is more important than any learned skill for team and project leaders, since is an attitude that you have inside you and that you express in every aspect of your personal and professional life and that will be determinant to solve any of the multiple problems that will inevitably and unexpectedly occur during the project’s lifetime. All our devs (and our designers) are professionals and also very committed to learning and improving constantly their skills. @@ -156,7 +156,7 @@ All our devs (and our designers) are professionals and also very committed to le ## Development Status -What we have already developed (using Solidity) is all the tokenomic smart contracts regulating our DataGen token (#DG), including one to smooth the transition from the BSC network to the Polkadot / Native Datagen Infrastructure, with a rigorously decentralized community voting procedure (https://github.com/Datagen-Project/DataGen-Smart-Contracts/blob/main/contracts/MiningReservation.sol). +What we have already developed (using Solidity) is all the tokenomic smart contracts regulating our DataGen token (#DG), including one to smooth the transition from the BSC network to the Polkadot / Native Datagen Infrastructure, with a rigorously decentralized community voting procedure (https://github.com/Datagen-Project/DataGen-Smart-Contracts/blob/main/contracts/MiningReservation.sol). In total our team has already developed around ≈2K lines of code of smart contracts just for the Datagen project, excluding of course the default configurations (like lock.json , etc…), we are speaking of functional code. In addition to that, we have in private repo the functional code for the website and the sale interface. @@ -189,11 +189,11 @@ The goal is to achive a fully functional mechanism for the random selection of t | 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | | 0e. | Article | We will publish an **article** on Medium that explains how we are going to develop the pallet. | | 1. | Substrate pallet | We will create a `pallet_random_node_selector` that implement the randomized selection of the nodes for the fast blockchain using the Substrate `Randomness` trait. This pallet run on the Heavy Blockchain. | -|1a.| Functions |
  • `reliable_node` update the list of the reliable nodes on the Heavy Blockchain.
  • `random_checker_node_selector` select 3 reliable random nodes in the fast blockchain to check the computational work.
  • `random_node_to_check` select a single random node to be check by the 3 checker nodes.
+|1a.| Functions |
  • `reliable_node` update the list of the reliable nodes on the Heavy Blockchain.
  • `random_checker_node_selector` select 3 reliable random nodes in the fast blockchain to check the computational work.
  • `random_node_to_check` select a single random node to be check by the 3 checker nodes.
|2.| Substrate pallet | We will create a `pallet_computational_work` that runs computational work on the fast nodes and pair them with their works. |2a.| Functions |
  • `math_work_testing` this function will provide math problems to solve by Fast Blockahin nodes, just for testing.
  • `hash_work` function will hash the raw math problem and the elaborated result from the node and pair, comunicate to the Heavy Blockchain.
|3.| Substrate pallet| We will crate a `pallet_check_node_computational_work` that manage the control process on the Fast Blockchain. -|3a.| Functions |
  • `check_computational_work` take info from the Heavy Blockchain (from the `pallet_random_node_selector`) and check the computational work of the target node. At this moment the nodes will make a simple math calculations just to check the mechanism.
  • `check_result` elaborate the result of the check process. If checked node has the same result of the majority of the checker nodes nothing happen. If the majority of the nodes have a different result from checked node this one will lose all his staked tokens (at this moment we only simulate the token lost) and checked node will be excluded from the Fast Blockchain.
  • `reliable_node` update the list of the reliable nodes on the Fast Blockchain.
+|3a.| Functions |
  • `check_computational_work` take info from the Heavy Blockchain (from the `pallet_random_node_selector`) and check the computational work of the target node. At this moment the nodes will make a simple math calculations just to check the mechanism.
  • `check_result` elaborate the result of the check process. If checked node has the same result of the majority of the checker nodes nothing happen. If the majority of the nodes have a different result from checked node this one will lose all his staked tokens (at this moment we only simulate the token lost) and checked node will be excluded from the Fast Blockchain.
  • `reliable_node` update the list of the reliable nodes on the Fast Blockchain.
### Milestone 2 — Connecting the two blockchains @@ -231,10 +231,10 @@ The goal is to achive a fully functional mechanism for the random selection of t | 1. | Web Dapp | We will create a web dapp to verify the functionality of the infrastructure, the GUI will display interactions between the two blockchains. | | 1a.| Dapp Mock-up| Download the mock-up of the dapp at [this link](https://drive.google.com/drive/folders/1SJRPbczZhRaXVLHnLvmp_XIeBtBBv0g-). | | 1b. | Home page | ![home page](https://i.imgur.com/MhQVfEj.png)
  1. Filter to switch between the two blockcahins for searching purpose
  2. Searching field (could search for blocks or nodes by typing id)
  3. The id of the last node checked with `check_computational_work` pallet
  4. The total number of nodes checked with `check_computational_work` pallet
  5. Total checks with `check_computational_work`
  6. Avarage number of checks on a single fast node with `check_computational_work` pallet
  7. Id of a fast blockchain node
  8. Number of checks on a node with `check_computational_work` pallet
  9. The fast nodes that verify the computational work with `check_computational_work` pallet
  10. Check result from `check_computational_work` pallet
  11. Total blocks finalized by the blockcahin
  12. Total nodes of the blockchain
  13. Block height
  14. Block age
  15. Validator id of the block
| -| 1c. | Fast Blockchain - Block Page| ![FB Block](https://i.imgur.com/ZDMuX7I.png)
  1. Blockchain identifier
  2. Block identifier (height)
  3. Block height, arrows change the block by 1 (left -1, right +1)
  4. The age of the block and its creation time
  5. Validator identifier, optionally a name and time required to validate the block
  6. Total number of fast nodes at this block height
  7. Number of nodes checked with `check_computational_work` pallet in this block
    1. | +| 1c. | Fast Blockchain - Block Page| ![FB Block](https://i.imgur.com/ZDMuX7I.png)
      1. Blockchain identifier
      2. Block identifier (height)
      3. Block height, arrows change the block by 1 (left -1, right +1)
      4. The age of the block and its creation time
      5. Validator identifier, optionally a name and time required to validate the block
      6. Total number of fast nodes at this block height
      7. Number of nodes checked with `check_computational_work` pallet in this block
      | | 1d. | Heavy Blockchain - Block Page | ![HB Block](https://i.imgur.com/iJCc6nh.png) For functionalities see 1c. list. | -| 1e. | Fast Blockchain - Node Page | ![FB Node](https://i.imgur.com/wOBlIdp.png)
      1. Node identifier
      2. Node identifier arrows change the node by 1 (left -1, right +1)
      3. Blockchain identifier
      4. Last time node checked with `check_computational_work` pallet.
      5. Total number of checks with `check_computational_work` pallet on this node
      6. How many pass results on this block
        1. | -| 1f. | Heavy Blockchain - Node Page | ![HB Node](https://i.imgur.com/IYEyVzA.png) For functionalities see 1e. list.| +| 1e. | Fast Blockchain - Node Page | ![FB Node](https://i.imgur.com/wOBlIdp.png)
          1. Node identifier
          2. Node identifier arrows change the node by 1 (left -1, right +1)
          3. Blockchain identifier
          4. Last time node checked with `check_computational_work` pallet.
          5. Total number of checks with `check_computational_work` pallet on this node
          6. How many pass results on this block
          | +| 1f. | Heavy Blockchain - Node Page | ![HB Node](https://i.imgur.com/IYEyVzA.png) For functionalities see 1e. list.| ## Future Plans diff --git a/applications/DipoleOracle.md b/applications/DipoleOracle.md index c94d3c19bf5..3159a93cfb1 100644 --- a/applications/DipoleOracle.md +++ b/applications/DipoleOracle.md @@ -1,6 +1,5 @@ -# Open Grant Proposal +# Dipole Oracle -* **Project:** Dipole Oracle * **Proposer:** [KK](https://www.linkedin.com/in/kaikai-yang) diff --git a/applications/DistributedKeyManagement.md b/applications/DistributedKeyManagement.md index dbbb9128c8d..4697bed24bb 100644 --- a/applications/DistributedKeyManagement.md +++ b/applications/DistributedKeyManagement.md @@ -1,109 +1,104 @@ # Distributed Key Management - - + - **Team Name:** Jett Hays (Individual) - **Payment Address:** 0x33644e4D6bb589854fbb906276147Afd7de86E09 (ERC-20 USDC) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 - - + ## Project Overview :page_facing_up: - - + ### Overview - - + This project will explore the security and applications of using secret sharing to distribute wallet ownership. - -Public key cryptography has enabled encrypted communication and global computing protocols like Polkadot. -But managing keys is hard. Existing noncustodial key management solutions require memorizing long mnemonic phrases, using network specific smart contracts, -or purchasing complicated hardware wallets. These solutions are insufficient for the majority of users who are looking for a simple way to manage private keys. -This grant will support research on a distributed key management system and an open source reference implementation. + +Public key cryptography has enabled encrypted communication and global computing protocols like Polkadot. +But managing keys is hard. Existing noncustodial key management solutions require memorizing long mnemonic phrases, using network specific smart contracts, +or purchasing complicated hardware wallets. These solutions are insufficient for the majority of users who are looking for a simple way to manage private keys. +This grant will support research on a distributed key management system and an open source reference implementation. If successful, this project will help make Polkadot hot wallets more secure and simplify online ownership. With the proposed system, wallets could implement 2fa and authenticate with their existing Google or Apple account. - + I believe wallets are the connection point between users and the decentralized web. Making this connection point accessible and secure is incredibly exciting and drives my interest in developing this project. - + ### Project Details - + This is a research project focused on distributed key management. The basic idea involves sharing a secret– in this case, a BIP32 seed phrase– between a client and remote servers. When the private key is needed, the shares are reassembled on the client and used within a standard key manager. The local key manager can then be used to publish transactions, encrypt data, validate identity, etc. I have already implemented a version of this idea within the open source Kryptik wallet. However, more research is required to answer essential security questions (discussed in the project timeline) and provide a common reference implementation. A skeleton of the distributed key management system, as implemented by the Kryptik wallet, is described below. - + ##### Client Seedloop - + Wallets are derived from a single parent key. This parent key is used as a seed to generate a child key for each blockchain network, in accordance with the BIP 32 specification for hierarchical deterministic wallets. Child keys may produce an array of addresses and have custom methods depending on the network type. This cluster of keyrings is stored on a single seed loop object that contains the parent key. The seedloop can be encrypted with a standard password by the user at any point in time. - + ##### Local Storage - -When a wallet is created, the wallet object is serialized, encrypted, and stored in the browser’s local storage. The random encryption secret is then split with shamir secret sharing into two shares. One share is held locally and one share is sent to the database. When a new user session begins, the service retrieves the database share and combines it locally into the original encryption secret. The wallet can then be decrypted, deserialized, and made available for use. This arrangement results in a two-of-two security scheme, where an attacker must compromise both systems to obtain a user’s private seed. - + +When a wallet is created, the wallet object is serialized, encrypted, and stored in the browser’s local storage. The random encryption secret is then split with shamir secret sharing into two shares. One share is held locally and one share is sent to the database. When a new user session begins, the service retrieves the database share and combines it locally into the original encryption secret. The wallet can then be decrypted, deserialized, and made available for use. This arrangement results in a two-of-two security scheme, where an attacker must compromise both systems to obtain a user’s private seed. + ##### Authentication -Kryptik uses a decentralized authentication provider to generate a user identifier which is passed to the user through a ‘magic’ link sent via email. The ID is then exchanged with the database for an access token and the user session begins. - + +Kryptik uses a decentralized authentication provider to generate a user identifier which is passed to the user through a ‘magic’ link sent via email. The ID is then exchanged with the database for an access token and the user session begins. + ##### Conclusion -This system has worked well during public testing. However, improvements must be made to generalize beyond a 2 of 2 system– this has potential implications for social recovery– and research must be conducted to understand the security implications of distributed key management as described above. This project will accomplish both of these goals in addition to providing a common reference implementation. - - + +This system has worked well during public testing. However, improvements must be made to generalize beyond a 2 of 2 system– this has potential implications for social recovery– and research must be conducted to understand the security implications of distributed key management as described above. This project will accomplish both of these goals in addition to providing a common reference implementation. + ### Ecosystem Fit - + Secure and usable key management is an open issue. This project will improve the security of hot wallets– through encryption, 2fa, and distributed secret sharing– and provide users with a simple key management flow: just authenticate like you would for any other app! - + The initial research will be used to improve the distributed key management implementation currently used by the Kryptik wallet. However, the research, code, and documentation are designed for the broader developer community to use in their own app that supports Polkadat or Kusama. - + ## Team :busts_in_silhouette: - + ### Team members - + Leader: Jett Hays Advisor: Nicolas Christin - + ### Contact - + - **Contact Name:** Jett Hays - **Contact Email:** jehays@andrew.cmu.edu - **Website:** [jetthays.com](https://jetthays.com/) - + ### Legal Structure - + Individual / Sole Proprietor - + ### Team's experience - -Jett Hays is the President of the Carnegie Mellon blockchain club where he helps members build and understand the decentralized future. Previous projects have included a open source key management package[https://github.com/KryptikApp/kryptik-seedloop] and a (multichain web wallet)[https://www.kryptik.app/]. Both projects have received support from Carnegie Mellon and multiple blockchain foundations. - - + +Jett Hays is the President of the Carnegie Mellon blockchain club where he helps members build and understand the decentralized future. Previous projects have included a open source key management package[https://github.com/KryptikApp/kryptik-seedloop] and a [multichain web wallet](https://www.kryptik.app/). Both projects have received support from Carnegie Mellon and multiple blockchain foundations. + ### Team Code Repos - -- https://github.com/KryptikApp -- https://github.com/KryptikApp/kryptikwebapp -- https://github.com/KryptikApp/kryptik-seedloop - -- https://github.com/jettblu - + +- +- +- + +- + ### Team LinkedIn Profiles (if available) - -- https://www.linkedin.com/in/jett-hays-491b541b7/ - + +- + ## Development Status :open_book: - + The idea of a distributed key manager came to me during a class at Carnegie Mellon on shamir secret sharing. After coming up with a rough interface, I applied for a small undergraduate research grant from CMU, with Professor Nicolas Christin agreeing to be my advisor. This research led me to create the open source Kryptik wallet, whcih I have been working on for the past year. A short demo of the wallet can be found via [this link](https://vimeo.com/745609041). This wallet uses a simple version of the distributed key management system I described above. - + As part of this project, I also released a seedloop manager as an open source NPM package, which can be found [here](https://github.com/KryptikApp/kryptik-seedloop). This package allows developers to easily generate wallets and sign transactions across multiple blockchains. - + ## Development Roadmap :nut_and_bolt: - - + ### Overview - + - **Total Estimated Duration:** 3 months - **Full-Time Equivalent (FTE):** .4 FTE - **Total Costs:** $8,000 - + ### Milestone 1 - Research Paper - + - **Estimated duration:** 10 weeks - **FTE:** 0.4 FTE - **Costs:** 5,000 USD - + | Number | Deliverable | Specification | | -----: | ----------- | ------------- | | 0a. | License | Apache 2.0 | @@ -113,15 +108,13 @@ As part of this project, I also released a seedloop manager as an open source NP | 0e. | Article | We will publish an article that summarizes the key findings of our distributed key management research for developers (who may not be interested in the nitty gritty technical details or security models). | | 1. | Formal Investigation | The research period will be spent investigating the following questions about the kryptik key management system. What is the threat model? How can keys be synced across devices? How can the system include more than two shareholders? What is the ideal number of shareholders? Is there any application to social recovery? By the end of this period, I will have organized a sequence of proofs and thoughts that can be shaped into a paper. Each question and associated discovery will be documented via regular blog posts.| | 2. | Research Paper | This paper will include an in depth analysis of the research questions discussed above. Professor Nicolas Cristin of Carnegie Mellon will help advise the paper– he served as an advisor for my initial research grant from CMU. The paper will be released as an open source document on Github. We expect this open source key management knowledge to provide a strong foundation for future Polkadot/Kusama/Substrate wallet designers.| - - - + ### Milestone 2 — Reference Implementation - + - **Estimated Duration:** 1 month - **FTE:** .4 - **Costs:** 3,000 USD - + | Number | Deliverable | Specification | | -----: | ----------- | ------------- | | 0a. | License | Apache 2.0 | @@ -134,23 +127,18 @@ As part of this project, I also released a seedloop manager as an open source NP | 3. | Share Module | The share module will generate shamir shares for a given piece of data (in this case the encryption secret). This module will also allow shares to be recombined (according to the k of n secret sharing scheme) to reconstruct the original piece of data. | | 4. | Sync Module | This module will allow seed vaults to be synced across devices.| | 5. | Web Deployment | And finally, we will wrap these modules in a nice UI and deploy the interface to a website (likely using NextJs + Vercel). This website will allow developers to create a vault, sync their devices, and sign sample transactions. This will be accomplished via open source React components that developers can reuse in their own application. The deployed app will have Polkadot/Kusama/Substrate specific examples (address generation, signatures, etc) that will benefit future developers.| - - - + ## Future Plans - + After the grant is completed, I will continue improving the open source Kryptik wallet, which builds upon the distributed key management system described above. Work on the wallet interface– which has been sponsored by other grants– will necessarily include revisiting the key management system and making improvements (such as adding the ability to sync key shares between devices). Beyond that, the research and published paper are a timeless body of knowledge that will continually benefit production implementations and new research on key management. - - + ## Additional Information :heavy_plus_sign: - + **How did you hear about the Grants Program?** I first heard about the grants program at EthDenver 2022. I then learned more about the program via the Web3 Foundation Website. - + The NEAR foundation awarded a $45,000 grant to develop the Kryptik wallet interface. This work wrapped the key management system with software that supports multi chain swaps, collectibles, payments, etc. I also received $20,000 from the Solana Foundation to provide open source documentation and Solana specific examples. Both of these grants are directed towards the Kryptik wallet interface, not the key management system which was devised separately. - + Finally, I received $500 from Carnegie Mellon to build the key manager and host the wallet interface. **How does this project benefit the Polkadot/Kusama/Substrate ecosystem? -Asymmetric key management is an open issue that affects every blockchain ecosystem. An improved key management system will help improve wallet design which, in turn, will help improve the user experience of the Polkadot/Kusama/Substrate ecosystem. The research proposed above will provide foundational knowledge and software that can be integrated into existing Polkadot related wallets and in emerging wallets that have yet to be designed. In summary, successful execution of the grant will result in a simple and more secure way to interact with the Polkadot/Kusama/Substrate ecosystem. This will benefit users, who will have an improved wallet experience, and developers who can build upon a novel approach to key management. - - +Asymmetric key management is an open issue that affects every blockchain ecosystem. An improved key management system will help improve wallet design which, in turn, will help improve the user experience of the Polkadot/Kusama/Substrate ecosystem. The research proposed above will provide foundational knowledge and software that can be integrated into existing Polkadot related wallets and in emerging wallets that have yet to be designed. In summary, successful execution of the grant will result in a simple and more secure way to interact with the Polkadot/Kusama/Substrate ecosystem. This will benefit users, who will have an improved wallet experience, and developers who can build upon a novel approach to key management. diff --git a/applications/DotPay.md b/applications/DotPay.md index 1bd7a29e9b4..1a6f2a20ab4 100644 --- a/applications/DotPay.md +++ b/applications/DotPay.md @@ -1,6 +1,5 @@ # DOT PAY -- **Project Name:** DOT PAY - **Team Name:** Crypto Pay Lab (CPL) - **Payment Address:** 3CnxDH6myTaK6MVy3SawVF2FC6FdgfK8pj (BTC address) - **[Level]:** 2 @@ -9,19 +8,18 @@ #### Why Dotpay -Many developers love open source very much, but they have no way to devote themselves to the construction of open source, +Many developers love open source very much, but they have no way to devote themselves to the construction of open source, because they can't get enough compensation for users' lives in the process of contributing to open source projects, so they must be employed by a certain company. -We hope to use the power of blockchain to change this status quo. +We hope to use the power of blockchain to change this status quo. -The owner of an open source project can initiate paid tasks, and developers can complete tasks to get paid. +The owner of an open source project can initiate paid tasks, and developers can complete tasks to get paid. -Note that it is not a tip. This will allow more power to participate in open source projects and make open source projects better. +Note that it is not a tip. This will allow more power to participate in open source projects and make open source projects better. The development of the company generates greater value, and then more funds can be used to pay developers to form a virtuous circle. - #### What is Dotpay DotPay is a platform that supports paid tasks to complete open source projects on Github. @@ -42,13 +40,13 @@ Page 2: Configure Github webhook Page 3: Recharge ![image](https://user-images.githubusercontent.com/94216827/142724518-a22d1760-eeb8-4399-b0ac-e04348002beb.png) -Page 4: Creat tasks and trigger the payment +Page 4: Creat tasks and trigger the payment ![image](https://user-images.githubusercontent.com/94216827/142757369-7bb816ae-b834-4a80-a562-8bb21da0624f.png) Page 5: Bind reward address -If the developer has not bound the address before, -the system will prompt him to use the following instructions to bind, +If the developer has not bound the address before, +the system will prompt him to use the following instructions to bind, just reply to similar instructions like `/dotpay bind [address]` in the issue corresponding to the task ![image](https://user-images.githubusercontent.com/94216827/145700577-bb02ef26-cebd-4516-bc9b-772a90f36b68.png) @@ -60,6 +58,7 @@ just reply to similar instructions like `/dotpay bind [address]` in the issue co DotPay is a payment platform, you can initiate open source tasks and paid with DOT tokens (for example, you can initiate paid collaboration tasks when you encounter difficulties in architecture construction, requirements analysis, document construction and testing). Those who complete the tasks as required can receive tokens after the task initiator verifies that the tasks are completed The specific process is as follows: + 1. Alice recharge Dot tokens on the platform. 2. Alice initiates paid open source tasks on the Github (such as the task about architecture construction, requirements analysis, document construction, development and testing, etc ) 3. Bob accepted this task on Github and completed it! @@ -112,16 +111,16 @@ Command line in issue reply: `/pay Bob 10DOT` ### An overview of the technology stack to be used -* Font-end, typescipt,react -* Backend, golang,Rust -* Devops, github action, kubenretes -* Search, MeiliSearch +- Font-end, typescipt,react +- Backend, golang,Rust +- Devops, github action, kubenretes +- Search, MeiliSearch ### Key Functions 0. User management - - Using github OAuth2 login, user group management. - + - Using github OAuth2 login, user group management. + 1. Email / Issue informal - Imformal user to withdraw their DOT tokens. @@ -138,40 +137,39 @@ Command line in issue reply: `/pay Bob 10DOT` 5. Issue search - Users can find and filter paid collaboration tasks that meet their requirements in the issue search form. -6. Payment secrect management +6. Payment secrect management - Create it on DotPay website and config it to github secrect to pay user DOT. - + 7. Recharge & transfer by ink! contract -* Set the maximum amount and maximum total amount for each transaction +- Set the maximum amount and maximum total amount for each transaction set_limit(per_transfer_amount, total_transfer_amount) Only the owner of the project has the calling permission -* Set up the transfer whitelist +- Set up the transfer whitelist set_witelist(username, address) Only the owner of the project has the calling permission -* Transfer interface +- Transfer interface transfer(address,amount) The platform has the calling permission Benefits of this design: -* The platform no longer needs the owner to recharge, just need to sign a contract with the owner -* The platform does not have the authority to set a whitelist, ensuring that the platform cannot transfer funds to addresses other than the whitelist set by the owner -* The single maximum amount and the total amount set to a certain extent ensure the safety of the owner's funds - +- The platform no longer needs the owner to recharge, just need to sign a contract with the owner +- The platform does not have the authority to set a whitelist, ensuring that the platform cannot transfer funds to addresses other than the whitelist set by the owner +- The single maximum amount and the total amount set to a certain extent ensure the safety of the owner's funds ### Ecosystem Fit -As far as I am concerned, there are no similar projects in Polkadot ecosystem. +As far as I am concerned, there are no similar projects in Polkadot ecosystem. Maybe we have some similarities with dotmarket, there are still many differences to compare with dotmarket, dotpay will focus on open-source payment collaboration, deep integration with GitHub, closer to end-users, -what's more important is we prefer to realize open source payment cooperation in Polkadot ecosystem. +what's more important is we prefer to realize open source payment cooperation in Polkadot ecosystem. -As we all know Polkadot offers flexible cross-chain interoperation functionality with a large user base and volume expectation, +As we all know Polkadot offers flexible cross-chain interoperation functionality with a large user base and volume expectation, and as a mainstream cryptocurrency with high market value, DOT tokens is easier for developers to accept and be recognized, @@ -181,56 +179,55 @@ And we also look forward to cooperating with dotmarket in the future. ## Team :busts_in_silhouette: -### Team members +### Team members We will pleased to offer github accounts, LinkedIn and any other information in private. All team members can contact privately for any specific information. -* Richard Fang: team leader, core developer +- Richard Fang: team leader, core developer -* Fugen Wang: Background development +- Fugen Wang: Background development - responsible for the development of the website background. -* Yang Li: +- Yang Li: - Responsible for front-end development. -* Peng Qiao: Rust developer +- Peng Qiao: Rust developer - Responsible for back-end development, relevant development of blockchain, payment task management module, and docking API and key management module on the chain. - -* Wei Zhang: +- Wei Zhang: - Responsible for operation, promotion in the open source community after the website is launched, and attracting open source projects to use our services. - -* AdaLam: PD/PMO + +- AdaLam: PD/PMO - Responsible for product design and project schedule management. - + ### Team's Experience -* Richard Fang: - - As an expert in the field of cloud computing in one of the biggested Internet listed companies with 7 years of rich working experience. - - The author of a well-known cloud native project which has more than 5K stars and 4k paid enterprise users. +- Richard Fang: + - As an expert in the field of cloud computing in one of the biggested Internet listed companies with 7 years of rich working experience. + - The author of a well-known cloud native project which has more than 5K stars and 4k paid enterprise users. -* Fugen Wang: - - CEO of an Internet start-up company and manages more than a dozen employees with 7 years working experience. +- Fugen Wang: + - CEO of an Internet start-up company and manages more than a dozen employees with 7 years working experience. -* Yang Li: - - Andriod/IOS front-end engineer with 5 years working experience. - -* Peng Qiao: - - A core member of AI Research Institute wich is one of the top AI listed companies in China with 5 years working experience. - -* Wei Zhang: - - An advertising director, one of the top AI listed companies in China with 7 years of rich working experience. - -* AdaLam: PD/PMO +- Yang Li: + - Andriod/IOS front-end engineer with 5 years working experience. + +- Peng Qiao: + - A core member of AI Research Institute wich is one of the top AI listed companies in China with 5 years working experience. + +- Wei Zhang: + - An advertising director, one of the top AI listed companies in China with 7 years of rich working experience. + +- AdaLam: PD/PMO - Familiar with product design and project schedule management. ### Contact - **Contact Name:** AdaLam - **Contact Email:** adalamlzy@gmail.com -- **Website:** comming soon +- **Website:** comming soon - **Contact Name:** Richard Fang - **Contact Email:** lamelegdog@gmail.com @@ -241,9 +238,9 @@ We will be pleased to offer specific information in private. ### Team Code Repos -https://github.com/bytepayment + -https://github.com/bytepayment/bytepay + ### Team LinkedIn Profiles @@ -253,14 +250,15 @@ We will provid in private through Google Form. ### Overview -* **Total Estimated Duration:** 8 weeks -* **Full-time equivalent (FTE):** 5 -* **Total Costs:** 30,000 USD +- **Total Estimated Duration:** 8 weeks +- **Full-time equivalent (FTE):** 5 +- **Total Costs:** 30,000 USD ### Milestone 1 — User account management & repo management & mnemonic management + * **Estimated Duration:** 4 weeks -* **FTE:** 5 -* **Costs:** 15,000 USD +- **FTE:** 5 +- **Costs:** 15,000 USD | Number | Deliverable | Specification | | ------------- | ------------- | ------------- | @@ -275,9 +273,10 @@ We will provid in private through Google Form. | 5. | Transfer ink! contract| We will provide an tested ink! contract on Substrate Smart Contracts Node, provide transfer limit, witelist and transfer function. The platform will integrate the contract when the Polkadot mainnet contract para chain is available. | ### Milestone 2 — Transfer module, task module, informal, withdraw module + * **Estimated Duration:** 4 weeks -* **FTE:** 5 -* **Costs:** 15,000 USD +- **FTE:** 5 +- **Costs:** 15,000 USD | Number | Deliverable | Specification | | ------------- | ------------- | ------------- | @@ -290,11 +289,9 @@ We will provid in private through Google Form. | 3. | Withdraw module | Withdraw the DOT from our platform to developer own wallet, if developer bind it own address, payment will transfer to the account directly | | 4. | Informal | Developer will receive the event, tell him how to withdraw DOT in our platform, robot will send Bob email and comment the issue | - - ## Development Status -https://github.com/bytepayment/bytepay + We have developed the webhook event processing module. The following is a brief description of what the repository contains: @@ -302,17 +299,17 @@ Including GitHub webhook server,it can listen to GitHub events, handle some sp ## Future Plans -- About our future plan, we will support more payment scenarios, such as website recharge VIP and online payment to buy goods after completing this grant. -- And then, we are going to support more platforms to expand the number of users, not only completing paid tasks on Github , but also on Telegram, Discord, Twitter, etc, +- About our future plan, we will support more payment scenarios, such as website recharge VIP and online payment to buy goods after completing this grant. +- And then, we are going to support more platforms to expand the number of users, not only completing paid tasks on Github , but also on Telegram, Discord, Twitter, etc, and we also have an idea that cross-chain cooperation with other project. -- After that, We will launch our own Polkadot para-chain tokens and the open source developers will receive tokens by completing the paid tasks on Github. +- After that, We will launch our own Polkadot para-chain tokens and the open source developers will receive tokens by completing the paid tasks on Github. ## FAQ -> Why not use Paypal? +> Why not use Paypal? -Paypal has obvious borders for global developer collaboration, and it is not convenient to use. +Paypal has obvious borders for global developer collaboration, and it is not convenient to use. -In fact, we did similar attempts at the earliest and found that many countries do not use Paypal at all. +In fact, we did similar attempts at the earliest and found that many countries do not use Paypal at all. And we hope that open source paid collaboration More decentralized rather than relying on a certain company. diff --git a/applications/DotPulse.md b/applications/DotPulse.md index 8e88c06fd9f..56950c47ae7 100644 --- a/applications/DotPulse.md +++ b/applications/DotPulse.md @@ -1,6 +1,5 @@ -# W3F Open Grant Proposal +# DotPulse -- **Project Name:** DotPulse - **Team Name:** CrossChain Labs - **Payment Address:** 0xC289B81a8e5f8F8d691b4Cf1DBc16A7107B630e3 (USDC) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 3 @@ -16,6 +15,7 @@ The solution that CrossChain Labs presents is going to address the problems desc ### Project Details Deliverables: + - GitHub Scraper that will collect all the required data from GitHub - DotPulse APIs that will serve to get the data from the scraper and interact with the DotPulse dashboard - DotPulse Dashboard that will include: @@ -28,33 +28,34 @@ Deliverables: Dashboard Overview -DotPulse +DotPulse ### Ecosystem Fit The DotPulse project will enable all the interested parties to track the development among different Polkadot organisations on Github, to follow the number of commits, repositories, contributors, PRs, the top contributors of the month, the evolution of commits and active contributors for each month over the last year and monitor the recent commits that are being done in the various Polkadot organisations. There are many benefits of getting the DotPulse project up and running: - - it offers a clear overview on the open source development that is being done across the various Polkadot organizations, by having all the required data aggregated in one place - - acknowledges the contributors of the month - - displays the active contributors for each month over the last year - - shows the evolution of the number of commits made on GitHub by developers throughout the entire Polkadot ecosystem - - outlines the recent commits - + +- it offers a clear overview on the open source development that is being done across the various Polkadot organizations, by having all the required data aggregated in one place +- acknowledges the contributors of the month +- displays the active contributors for each month over the last year +- shows the evolution of the number of commits made on GitHub by developers throughout the entire Polkadot ecosystem +- outlines the recent commits + ## Team :busts_in_silhouette: ### Team members - - Andreea - Team Leader - - Cristina - Full Stack Developer (JavaScript, React) - - Catalin - Full Stack Developer (JavaScript, React) - - Florin - UI/UX Designer (Sketch, Figma) +- Andreea - Team Leader +- Cristina - Full Stack Developer (JavaScript, React) +- Catalin - Full Stack Developer (JavaScript, React) +- Florin - UI/UX Designer (Sketch, Figma) ### Contact - **Contact Name:** Andreea Stefan - **Contact Email:** andreea.stefan@crosschainlabs.tech -- **Website:** https://www.crosschainlabs.tech/ +- **Website:** ### Legal Structure @@ -63,32 +64,32 @@ There are many benefits of getting the DotPulse project up and running: ### Team's experience -We’re CrossChain Labs, a team of of designer and software developers with hands-on experience on blockchain technology and development of decentralised applications, with previous experience as ConsenSys employees. Some of the latest dev-grants were for projects from Filecoin (https://filmarket.io/) and NEAR protocol (NEAR registrar, Audit Registry, near.link, Developer Dashboard) with tech stack: IPFS, Arweave, rust, react, go and javascript. +We’re CrossChain Labs, a team of of designer and software developers with hands-on experience on blockchain technology and development of decentralised applications, with previous experience as ConsenSys employees. Some of the latest dev-grants were for projects from Filecoin () and NEAR protocol (NEAR registrar, Audit Registry, near.link, Developer Dashboard) with tech stack: IPFS, Arweave, rust, react, go and javascript. We're creative, experienced, responsible, organised and do our best to make high quality work and bring ideas to life. ### Team Code Repos -- https://github.com/CrossChainLabs -- https://github.com/CrossChainLabs/near-registrar -- https://github.com/CrossChainLabs/audit-registry -- https://github.com/CrossChainLabs/near-dns -- https://github.com/CrossChainLabs/near-api-go -- https://github.com/CrossChainLabs/coredns-near -- https://github.com/CrossChainLabs/near-link -- https://github.com/CrossChainLabs/filmarket-contract +- +- +- +- +- +- +- +- Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine. -- https://github.com/yellow-cube -- https://github.com/arctic-ash -- https://github.com/aliasccl +- +- +- ### Team LinkedIn Profiles (if available) -- https://www.linkedin.com/in/andreea-stefan-66740b20/ -- https://www.linkedin.com/in/cristina-varteniuc-6b3121224/ -- https://www.linkedin.com/in/catalin-vlad-48b828229/ -- https://ro.linkedin.com/in/florin-gradinaru-73891bb +- +- +- +- ## Development Status :open_book: @@ -125,13 +126,13 @@ Since Polkadot has increasingly grown the open source developer ecosystem, there | 9. | Implement the DotPulse APIs required by frontend | Statistics API that returns the overall number of commits, repositories, contributors, PRs | | 10. | Implement the DotPulse APIs required by frontend | Contributors API that returns the list of contributors of the month based on the number of commits over the last month | | 11. | Implement the DotPulse APIs required by frontend | Issues APIs that return the total number of issues, the number of closed and open issues | -| 12. | Implement the DotPulse APIs required by frontend | Commits API that returns the total number of commits per month +| 12. | Implement the DotPulse APIs required by frontend | Commits API that returns the total number of commits per month ### Milestone 2 - **Estimated duration:** 4 weeks - **FTE:** 3.5 -- **Costs:** 21,500 USD, +- **Costs:** 21,500 USD, - NOTE: The M2 calculation includes the cloud infrastructure cost estimated at $1,000 | Number | Deliverable | Specification | @@ -140,7 +141,7 @@ Since Polkadot has increasingly grown the open source developer ecosystem, there | 0b. | Documentation | We will provide both documentation of the code and a basic video tutorial that explains how a user can easily use DotPulse app | | 0c. | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | | 0d. | Docker | We will provide a Dockerfile that can be used to test all the functionality delivered with this milestone. | -| 0e. | Article | We will publish an article that explains what was achieved as part of the grant and how users can benefit the most from DotPulse functionalities. | +| 0e. | Article | We will publish an article that explains what was achieved as part of the grant and how users can benefit the most from DotPulse functionalities. | | 1. | Implement the DotPulse APIs required by frontend | Active contributors API that returns the number of active developers for each month over the last year | | 2. | Implement the DotPulse APIs required by frontend | Recent commits API that returns the list of recent commits across all Polkadot repositories over the last 30 days | | 3. | Build the DotPulse dashboard | Display the statistics top section with the overall number of commits, repositories, contributors and PRs | @@ -157,6 +158,7 @@ Since Polkadot has increasingly grown the open source developer ecosystem, there ## Future Plans To drive adoption of the DotPulse platform, CrossChain Labs will: + - create a YouTube video tutorial showcasing the DotPulse functionalities and usage - distribute it via Polkadot Discord channels - add Google Analytics to track users engagement in order to adapt and improve accordingly diff --git a/applications/Doter.md b/applications/Doter.md index c0dc014a07b..fcbca68cef9 100644 --- a/applications/Doter.md +++ b/applications/Doter.md @@ -1,9 +1,7 @@ -# Open Grant Proposal - -* **Project Name:** Doter (A browser extension wallet for Polkadot) -* **Team Name:** ChainBridge network -* **USDT Payment Payment Address:** 0x9bb9af8f2fd4487c88f1352fdd32a3ec2b6d28b6(ERC20) +# Doter (A browser extension wallet for Polkadot) +- **Team Name:** ChainBridge network +- **USDT Payment Payment Address:** 0x9bb9af8f2fd4487c88f1352fdd32a3ec2b6d28b6(ERC20) ## Project Overview @@ -15,11 +13,14 @@ We are committed to building Doter into a truly user-centric browser extension w Now, we can already [install Doter](https://chrome.google.com/webstore/detail/doter/abamjefkidngfegdjbmffdmbgjgpaobf) in the Google Chrome extension market. -### Project Details +### Project Details #### Functional structure + ![img](https://uploader.shimo.im/f/4XnoevPmkhO6ZSqT.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjE2MTkxMzk5MDEsImciOiJtNGtNTFpweGJuczYxQnFEIiwiaWF0IjoxNjE5MTM4MTAxLCJ1IjowfQ.gkX36NMe-V9je08Ofh2mFgSEzsJ_k-YnHBsaVxo2Lyo) + #### Core components + The Doter consists of several core components: Account part: with the help of Doter, users can create account, retrieve account, and backup account conviently. Through these accounts, users can complete a series of core interactions with the Polkadot ecosystem. @@ -31,47 +32,53 @@ Query part: Doter provides many portals to facilitate users to query some common Setting part: with the help of this part, users can easily set the extension to make it closer to their habits. A lot of common community public packages are used to ensure the consistency and correctness of business logic in Doter, such as @polkadot/api, @polkadot/keyring, @polkadot/util etc. In the specific development process, we use a lot of encapsulated public packages based on web technology, so as to ensure a good experience in the browser. + #### UI prototype -* Create wallet +- Create wallet ![img](https://uploader.shimo.im/f/AvN1H55TIy37Mng1.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjE2MTc4NDMwNzMsImciOiJtNGtNTFpweGJuczYxQnFEIiwiaWF0IjoxNjE3ODQxMjczLCJ1Ijo1MjU3NjQ4MX0.-mNzWD92LrbP3ECC42XhCJrIxQqDVhepXo_KK3yXEgQ) -* Import wallet +- Import wallet ![img](https://uploader.shimo.im/f/L2KdTUpEdaLUZFV7.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjE2MTc4NDMwNzMsImciOiJtNGtNTFpweGJuczYxQnFEIiwiaWF0IjoxNjE3ODQxMjczLCJ1Ijo1MjU3NjQ4MX0.-mNzWD92LrbP3ECC42XhCJrIxQqDVhepXo_KK3yXEgQ) -* Transfer and receive +- Transfer and receive ![img](https://uploader.shimo.im/f/ls2kbqxw9OkhNEbz.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjE2MTc4NDMwNzMsImciOiJtNGtNTFpweGJuczYxQnFEIiwiaWF0IjoxNjE3ODQxMjczLCJ1Ijo1MjU3NjQ4MX0.-mNzWD92LrbP3ECC42XhCJrIxQqDVhepXo_KK3yXEgQ) -* Settings +- Settings ![img](https://uploader.shimo.im/f/P23QRARBLwBGQSS0.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjE2MTc4NDMwNzMsImciOiJtNGtNTFpweGJuczYxQnFEIiwiaWF0IjoxNjE3ODQxMjczLCJ1Ijo1MjU3NjQ4MX0.-mNzWD92LrbP3ECC42XhCJrIxQqDVhepXo_KK3yXEgQ) -* Manage +- Manage ![img](https://uploader.shimo.im/f/1YOSQkFmPIg8tUGl.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjE2MTc4NDMwNzMsImciOiJtNGtNTFpweGJuczYxQnFEIiwiaWF0IjoxNjE3ODQxMjczLCJ1Ijo1MjU3NjQ4MX0.-mNzWD92LrbP3ECC42XhCJrIxQqDVhepXo_KK3yXEgQ) -* Transaction records, etc. +- Transaction records, etc. ![img](https://uploader.shimo.im/f/q1gFLzRqrYdAvnxO.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjE2MTc4NDMwNzMsImciOiJtNGtNTFpweGJuczYxQnFEIiwiaWF0IjoxNjE3ODQxMjczLCJ1Ijo1MjU3NjQ4MX0.-mNzWD92LrbP3ECC42XhCJrIxQqDVhepXo_KK3yXEgQ) -* Governance +- Governance ![img](https://uploader.shimo.im/f/ppL6L43PPaQuic1g.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjE2MTc4NDMwNzMsImciOiJtNGtNTFpweGJuczYxQnFEIiwiaWF0IjoxNjE3ODQxMjczLCJ1Ijo1MjU3NjQ4MX0.-mNzWD92LrbP3ECC42XhCJrIxQqDVhepXo_KK3yXEgQ) -* Signature and injection +- Signature and injection ![img](https://uploader.shimo.im/f/lvYJi1DQ4ASFCcIF.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjE2MTc4NDMwNzMsImciOiJtNGtNTFpweGJuczYxQnFEIiwiaWF0IjoxNjE3ODQxMjczLCJ1Ijo1MjU3NjQ4MX0.-mNzWD92LrbP3ECC42XhCJrIxQqDVhepXo_KK3yXEgQ) -* Staking +- Staking ![img](https://uploader.shimo.im/f/MDALPQL6MM0DjPcg.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjE2MTc4NDMwNzMsImciOiJtNGtNTFpweGJuczYxQnFEIiwiaWF0IjoxNjE3ODQxMjczLCJ1Ijo1MjU3NjQ4MX0.-mNzWD92LrbP3ECC42XhCJrIxQqDVhepXo_KK3yXEgQ) -### Ecosystem Fit +### Ecosystem Fit #### Competitive product analysis + Polkadot's browser extension wallet, the currently known competitor is Enzyme. -* From the perspective of feature richness, the functional modules achieved by Doter's first milestone have exceeded Enzyme (Recently, we have completed the first milestone), and more functional modules that will serve the Polkadot ecology will be implemented in the plan. -* From the perspective of UI experience, Doter is a real user-centric wallet. A clear and concise UI experience is more attractive to users, and Doter has achieved Chinese and English language switching, which has a wider potential user group. -* From the perspective of github maintenance frequency, Enzyme has not been maintained for more than 1 year. In contrast, Doter has a clear development roadmap and the code base is constantly updated. + +- From the perspective of feature richness, the functional modules achieved by Doter's first milestone have exceeded Enzyme (Recently, we have completed the first milestone), and more functional modules that will serve the Polkadot ecology will be implemented in the plan. +- From the perspective of UI experience, Doter is a real user-centric wallet. A clear and concise UI experience is more attractive to users, and Doter has achieved Chinese and English language switching, which has a wider potential user group. +- From the perspective of github maintenance frequency, Enzyme has not been maintained for more than 1 year. In contrast, Doter has a clear development roadmap and the code base is constantly updated. #### The difference between Doter and polkadot.js extension -Polkadot.js extension is an official account management tool, Compared with polkadot.js extension, Doter's positioning is not only an account management tool. -Doter will also implements a series of common functions in Polkadot ecology, such as Transfer and receive, query transaction records, wallet management, easy-to-operate on-chain governance modules, etc. This means that doter can not only interact well with other dapps, but also independently complete the functions mentioned above, providing users with a one-stop experience, which polkadot.js extension does not have. + +Polkadot.js extension is an official account management tool, Compared with polkadot.js extension, Doter's positioning is not only an account management tool. +Doter will also implements a series of common functions in Polkadot ecology, such as Transfer and receive, query transaction records, wallet management, easy-to-operate on-chain governance modules, etc. This means that doter can not only interact well with other dapps, but also independently complete the functions mentioned above, providing users with a one-stop experience, which polkadot.js extension does not have. In addition, Doter will also provide a completely user-centric UI experience to make it easier for users to participate in the Polkadot ecosystem. #### Product direction and advantages -Analogous to MetaMask, in the current industry environment, browser extension wallets are more convenient to interact with DApp than mobile wallets. Doter is positioned as a browser extension wallet and has a first-mover advantage in the product direction. + +Analogous to MetaMask, in the current industry environment, browser extension wallets are more convenient to interact with DApp than mobile wallets. Doter is positioned as a browser extension wallet and has a first-mover advantage in the product direction. At the same time, most of the current mobile wallets connected to Polkadot are not dedicated to the Polkadot ecosystem, and there is no in-depth development based on Polkadot. Doter focuses on the Polkadot ecosystem and enables more users to participate in the Polkadot ecosystem through customized and truly friendly interactive experience. #### How to maintain the wallet + In the near future, Our team will have someone in charge of maintaining the Doter, Update at least once a month to fix bugs or improve the experience,to making Doter as close as possible to mature browser extension in other ecosystems(such as Ethereum) Simultaneously, we will build our own community as soon as possible. We believe that a solid community is the foundation for Doter to seize the market, Through word of mouth from seed users, we will accumulate the first batch of users. After completing all the milestones, we will place advertisements in a number of blockchain media, and rapidly expand the number of users through advertising. Secondly, we will embed a frequently used DApp in the wallet and cultivate user habits through this, so that Doter will gradually become the portal of the Polkadot ecosystem. @@ -81,64 +88,77 @@ In summary, we have appropriate market timing, clear product direction, reliable ## Team ### Team members -* Guan Yu -* Gao Jianli + +- Guan Yu + +- Gao Jianli ### Contact -* **Contact Name:** Gao Jianli -* **Contact Email:** dianluyuanli@foxmail.com -* **Website:** Doter is currently maintained on [Github](https://github.com/ChainBridgeNetworkTeam/Doter), no website has been created yet -### Legal Structure +- **Contact Name:** Gao Jianli + +- **Contact Email:** dianluyuanli@foxmail.com +- **Website:** Doter is currently maintained on [Github](https://github.com/ChainBridgeNetworkTeam/Doter), no website has been created yet + +### Legal Structure + Doter is maintained by the [ChainBridgeNetworkTeam](https://github.com/ChainBridgeNetworkTeam), and no company entity has been created yet, The following is our communication information. -* Mailing address: 504, Building 16, Lane 270, Maotai Road, Changning District, Shanghai, China -* E-mail:dianluyuanli@foxmail.com, muskshi@foxmail.com -* Twitter:ChainBridgeNet1 -* WeChat Official Accounts:ChainBridgeNetwork + +- Mailing address: 504, Building 16, Lane 270, Maotai Road, Changning District, Shanghai, China +- E-mail:dianluyuanli@foxmail.com, muskshi@foxmail.com +- Twitter:ChainBridgeNet1 +- WeChat Official Accounts:ChainBridgeNetwork ### Team's experience -* Guan Yu + +- Guan Yu He participated in Polkadot's official crowdfunding campaign in 2017 and has continued to be active in the Polkadot community ever since. From July 2018 to the present, he has been serving as a product manager for Pinduoduo Inc.(listed on NASDAQ), responsible for building core business modules such as CPS. He has 3 years of experience in large-scale Internet companies, is familiar with the development and maintenance of large-scale products, and is good at leading the business from 0 to 1 and achieving rapid growth. -* Gao Jianli +- Gao Jianli He joined Pinduoduo Inc.(listed on NASDAQ)in 2018 and became a full-time front-end development engineer. Responsible for the maintenance of the website promotion page, maintenance and development of the weChat applet architecture Project deployment and launch, development of productivity tools. He has three years of development experience, is familiar with project deployment and front-end technology stack, and is keen on Polkadot ecological technology trends. -Personal Code Repos:https://github.com/dianluyuanli-wp +Personal Code Repos: ### Team Code Repos -* https://github.com/ChainBridgeNetworkTeam/Doter + +- ### Team LinkedIn Profiles -Guan Yu:https://www.linkedin.com/in/yu-guan-482624155/ -Gao Jianli:https://www.linkedin.com/in/jianli-gao-6785a1140/ + +Guan Yu: +Gao Jianli: ## Development Roadmap **In particular, we have completed the basic module of the Doter wallet, and the extension program has been put on the Google extension market. You can already [install](https://chrome.google.com/webstore/detail/doter/abamjefkidngfegdjbmffdmbgjgpaobf) and use Doter.** The following is a list of functions that have been implemented -* Create and import wallets on Polkadot -* Transfer and receive on Polkadot -* Backup wallet on Polkadot -* Query transaction records on Polkadot -* Referendum on the chain on Polkadot -* Switch multiple wallets on Polkadot -* Manage address book on Polkadot -* Switch language on Polkadot + +- Create and import wallets on Polkadot +- Transfer and receive on Polkadot +- Backup wallet on Polkadot +- Query transaction records on Polkadot +- Referendum on the chain on Polkadot +- Switch multiple wallets on Polkadot +- Manage address book on Polkadot +- Switch language on Polkadot ### Overview -* Total Estimated Duration: 2 month -* Full-time equivalent (FTE): 34 -* Total Costs: $16,150 + +- Total Estimated Duration: 2 month + +- Full-time equivalent (FTE): 34 +- Total Costs: $16,150 ### Milestone + #### M1: Injection and signature -* Estimated Duration: 1 month -* FTE: 14 -* Costs: $6,650(2 contributors * 7 FTE * $475/FTE) +- Estimated Duration: 1 month +- FTE: 14 +- Costs: $6,650(2 contributors *7 FTE* $475/FTE) | Number | Deliverable | Specification | | -----: | ----------- | ------------- | @@ -146,14 +166,14 @@ The following is a list of functions that have been implemented | 0b. | Description | We will implement wallet injection and transaction signature on Polkadot, and optimize the UI experience of existing funcctions. | | 0c. | Delivery time | Mid May | | 0d. | How to verify | It is expected that in Mid May, you can install the latest version of Doter in the Google Extended Market and verify the functional modules promised in the milestone. In addition, you can also verify through integration tests, We will provide yarn commond for anyone who want to run the unit test scripts and check the results. | -| 1. | Core component | * Wallet injection on Polkadot
          * Transaction signature on Polkadot
          * Optimize account creation, transfer, account management and other functions to improve user experience +| 1. | Core component | * Wallet injection on Polkadot
          * Transaction signature on Polkadot
          * Optimize account creation, transfer, account management and other functions to improve user experience | #### M2: Support kusama network -* Estimated Duration: 1 month -* FTE: 20 -* Costs: $9,500(2 contributors * 10 FTE * $475/FTE) +- Estimated Duration: 1 month +- FTE: 20 +- Costs: $9,500(2 contributors *10 FTE* $475/FTE) | Number | Deliverable | Specification | | -----: | ----------- | ------------- | @@ -161,11 +181,12 @@ The following is a list of functions that have been implemented | 0b. | Description | We will support all functional modules that have been implemented on Polkadot. | | 0c. | Delivery time | Mid June | | 0d. | How to verify | It is expected that in mid June, you can install the latest version of Doter in the Google Extended Market and verify the functional modules promised in the milestone. In addition, you can also verify through integration tests, We will provide yarn commond for anyone who want to run the unit test scripts and check the results. | -| 1. | Core component | * Create and import wallets on Kusama
          * Transfer and receive on Kusama
          * Backup wallet on Kusama
          * Query transaction records on Kusama
          * Referendum on the chain on Kusama
          * Switch multiple wallets on Kusama
          * Manage address book on Kusama
          * Switch language on Kusama
          * wallet injection and signature on Kusama +| 1. | Core component | * Create and import wallets on Kusama
          * Transfer and receive on Kusama
          * Backup wallet on Kusama
          * Query transaction records on Kusama
          * Referendum on the chain on Kusama
          * Switch multiple wallets on Kusama
          * Manage address book on Kusama
          * Switch language on Kusama
          * wallet injection and signature on Kusama | ## Community engagement -This is a tutorial posted on medium:https://chainbridgenetwork.medium.com/polkadots-browser-extension-wallet-doter-ac8cd91a5bf3 + +This is a tutorial posted on medium: ## Future Plans @@ -174,6 +195,7 @@ Doter’s development team is ChainBridgeNetworkTeam. As the name suggests, our Doter is our first product. We believe that with the launch of the parachain, Doter will act as an important interaction bridge in the Polkadot ecosystem. After completing the development of 2 milestones, we will design Doter version 2.0. In version 2.0, users can easily manage private digital assets without memorizing mnemonic words. This will be achieved through an innovative technology. We believe in version 2.0 Doter will greatly reduce the threshold for users to use wallets, making Doter a real bridge between Polkadot and ordinary users. ## Additional Information + ChainBridgeNetworkTeam has just been established for two months, but we have completed the basic module of Doter, and have designed the other two milestones. In the next two months, we will deliver all pre-designed functional modules. So far, we have developed at our own expense, but in order to have sufficient funds to support the realization of our long-term vision, we will try to obtain the support of investment institutions. diff --git a/applications/EverlastingCash.md b/applications/EverlastingCash.md index f077809f462..30ae2c1fc7a 100644 --- a/applications/EverlastingCash.md +++ b/applications/EverlastingCash.md @@ -1,57 +1,62 @@ -# Open Grant Proposal +# Everlasting Cash -* **Project Name:** Everlasting Cash -* **Team Name:** Cycan Technologies -* **Payment Address:** ETH address: 0x722043b40dEb4656a103aF03Fd8E781d0146d3F6 -* **Status:**: Terminated +- **Team Name:** Cycan Technologies +- **Payment Address:** ETH address: 0x722043b40dEb4656a103aF03Fd8E781d0146d3F6 +- **Status:**: Terminated -## Project Overview :page_facing_up: +## Project Overview :page_facing_up: ### Overview - * While the incumbent stablecoins in the market have served the purpose of stabilizing the prices of cryptocurrencies, there are obvious limitations. Fiat-backed stablecoins such as USDT are not decentralized with the risk of being compromised by the central entity; while crypto-backed stablecoins are more vulnerable to price instability, since they are pegged to other cryptocurrencies. The risk of a possible crash for non-collateralized stablecoins is relatively high, since they lack collateral to liquidate the coin back into, while commodity-backed stablecoins might have liquidity problems as physical assets are not so easily liquidated. - * Everlasting Cash is a new kind of stablecoin which solves these issues with a truly decentralized, anti-inflation and stable product with reserves. - * Everlasting Cash a.k.a. ELC is a decentralized algorithmic stablecoin using Substrate with a unique reserve system, i.e. a hybrid of a crypto-collateralized and an algorithmic stablecoin mechanism, with the collateralized mechanism providing the underlying value guarantee, and the algorithmic mechanism incentivizing the participants on one hand, and hedging the downside risk when the demand for the stablecoin is insufficient on the other. - * ELC aims to provide users in the Polkadot ecosystem with a stablecoin that appreciates naturally and achieves the goal of anti-inflation. -### Project Details +- While the incumbent stablecoins in the market have served the purpose of stabilizing the prices of cryptocurrencies, there are obvious limitations. Fiat-backed stablecoins such as USDT are not decentralized with the risk of being compromised by the central entity; while crypto-backed stablecoins are more vulnerable to price instability, since they are pegged to other cryptocurrencies. The risk of a possible crash for non-collateralized stablecoins is relatively high, since they lack collateral to liquidate the coin back into, while commodity-backed stablecoins might have liquidity problems as physical assets are not so easily liquidated. +- Everlasting Cash is a new kind of stablecoin which solves these issues with a truly decentralized, anti-inflation and stable product with reserves. +- Everlasting Cash a.k.a. ELC is a decentralized algorithmic stablecoin using Substrate with a unique reserve system, i.e. a hybrid of a crypto-collateralized and an algorithmic stablecoin mechanism, with the collateralized mechanism providing the underlying value guarantee, and the algorithmic mechanism incentivizing the participants on one hand, and hedging the downside risk when the demand for the stablecoin is insufficient on the other. +- ELC aims to provide users in the Polkadot ecosystem with a stablecoin that appreciates naturally and achieves the goal of anti-inflation. + +### Project Details Everlasting Cash (ELC) contracts are written in Rust language and can be deployed to Polkadot/Kusama parachain (ink! pallet). #### Technical Design Overview - + #### Tokens + 1) Everlasting Parachain Token - ELP ELP is a native token of the Everlasting Parachain (a parachain on Kusama). Participants are able to send ELP to the ELC multifunction contract as reserve assets to exchange ELC: according to the different system liability ratios, the contract will return both ELC and rELP, or rELP only to participants (see “Reserve” paragraph below). 2) ELC Token -ELC token is the stablecoin within the ELC contract system, with the initial pegged rate of 1 USD value in the year of 2021. The pegged rate varies over time based on inflation and depends on whether its supply expands or shrinks based on the system LR. +ELC token is the stablecoin within the ELC contract system, with the initial pegged rate of 1 USD value in the year of 2021. The pegged rate varies over time based on inflation and depends on whether its supply expands or shrinks based on the system LR. 3) rELP Token rELP token is a risk asset in the ELC system (an equity in the system). Participants are able to add rELP liquidity to the multifunction pool, which could be realized by sending ELP to ELC contract. The system encourages user to do long-term liquidity mining so as to keep the reserve pool more stable with liquidity. #### Multifunction Pool + 1) Reserve Participants can send ELPs to the ELC system in exchange for both ELC and rELP, or rELP alone, depending on what the system liability ratios are. When the system LR is less than 30%, participants who send ELPs to the ELC system can obtain a certain amount of ELC and rELP minted and the LR of the system remains unchanged. When the system LR is higher than 30%, participants who send ELPs to the ELC system will only get rELP, and this can decrease LR. 2) Risk Reserve Fund -The risk reserve fund includes two assets (ELPs and ELCs). The purpose of the Risk Reserve Fund is to keep the ELC prices floating between 98% and 102% of the ELC aim price (ELCaim). For example, 1 million ELPs out of the overall 21 million of ELPs initial issuance are used as initial risk reserves. +The risk reserve fund includes two assets (ELPs and ELCs). The purpose of the Risk Reserve Fund is to keep the ELC prices floating between 98% and 102% of the ELC aim price (ELCaim). For example, 1 million ELPs out of the overall 21 million of ELPs initial issuance are used as initial risk reserves. Such risk reserve fund is used as follows: when ELP price is lower than 98% of ELCaim, the ELC system will swap ELP for ELC until all ELP in the pool are swapped into ELC to keep the price back to ELCaim. When ELP price is higher than 102% of ELCaim, the ELC system will swap ELC to ELP until all ELCs in the pool are swapped into ELP to keep the price back to ELCaim. 3) Liquidity Mining -Participants who have deposited ELPs to the reserve pool contract, can obtain rELP and use rELP to participate in the liquid mining. In order to maintain the size of reserves, participants are encouraged to do long-term liquidity mining. Participants who join liquidity mining will earn more tokens if they hold the tokens longer. +Participants who have deposited ELPs to the reserve pool contract, can obtain rELP and use rELP to participate in the liquid mining. In order to maintain the size of reserves, participants are encouraged to do long-term liquidity mining. Participants who join liquidity mining will earn more tokens if they hold the tokens longer. #### Inflation Governance + The generation time of ELP is 6 seconds per block. The ELP target price rises every 10,000 blocks in K, K is an anti-inflation factor. The inflation factor K can be adjusted through the ELP governance mechanism. rELP holders can vote for the adjustment of the anti-inflation factor K when the USD inflation goes into hyperinflation. #### Oracle -The oracle of reserve asset ELP and stablecoin ELC is implemented with Chainlink-Polkadot. We utilize Chainlink's decentralized Oracle network to quickly and securely connect end-to-end all the inputs and outputs of smart contracts to avoid pitfalls associated with deploying our own Oracle, such as long delays, additional charges, and even fatal security vulnerabilities. + +The oracle of reserve asset ELP and stablecoin ELC is implemented with Chainlink-Polkadot. We utilize Chainlink's decentralized Oracle network to quickly and securely connect end-to-end all the inputs and outputs of smart contracts to avoid pitfalls associated with deploying our own Oracle, such as long delays, additional charges, and even fatal security vulnerabilities. #### Contract + 1) ELC - Minting and burning of the ELC token Mints ELC amount to the recipient account. -Burns ELC amount from the account. +Burns ELC amount from the account. 2) rELP - Minting and burning of the rELP token Mints rELP amount to the recipient account. @@ -63,10 +68,11 @@ Mints some rELC amount, in exchange for some ELP amount. Mints some ELC and rELP amounts, in exchange for some ELP amount. Returns the amount of ELC and rELP. -ELCaim(after adjustment) = ELCaim(before adjustment) * (1+K) -LR = Value/P(ELP) * Amount(ELP) +ELCaim(after adjustment) = ELCaim(before adjustment) *(1+K) +LR = Value/P(ELP)* Amount(ELP) Where: + - Value is the value of the ELCs that have been issued - P isthe price of ELP - Amount is the number of ELP in reserve pool @@ -74,28 +80,28 @@ Where: When LR is lower than 0.3, the ELC system mints amounts of ELCs and rELPs, in exchange for amount of ELPs. -△Amount(rELP) = p(ELP) * △Amount(ELP) * (1-LR)/p(rELP) -△Amount(ELC) = p(ELP) * △Amount(ELP) * LR +△Amount(rELP) = p(ELP) *△Amount(ELP)* (1-LR)/p(rELP) +△Amount(ELC) = p(ELP) *△Amount(ELP)* LR When LR is higher than 0.3, the ELC system mints amount of rELPs only, in exchange for amount of ELPs. △Amount(rELP) = p(ELP) * △Amount(ELP) /p(rELP) When ELC is higher than 102% of ELCaim and LR <= 0.7, the ELC system issues amount of ELC to rELP holders (95% of issued ELC) and the pool (5% of issued ELC). When ELC is higher than 102% of ELCaim, if the multifunction pool has ELC, it swaps amount of ELCs for amount of ELPs, decreasing ELC supply. -When ELC is lower than 98% of ELCaim, the multifuncitonal pool swaps amount of ELPs for amount of ELCs. +When ELC is lower than 98% of ELCaim, the multifuncitonal pool swaps amount of ELPs for amount of ELCs. When ELC is higher than 102% of ELCaim and LR is <= 0.7, when min (weighted average price of ELC 24 hours, weighted average price of ELC 1 hour) > $1, additional ELCs are issued, additional ELC will allocate to rELP liquidity provider (95% of issued ELC) and the multifunction pool (5% of issued ELC). Number of additional ELCs for the day = min (weighted average price of ELCs 24 hours before monitoring point, weighted average price of ELCs 1 hour before monitoring point) /100 * number of ELCs before additional issuance. -Number of ELCs obtained by the rELP liquidity miner = number of additional ELCs issued on that day * 95% * miner’s share +Number of ELCs obtained by the rELP liquidity miner = number of additional ELCs issued on that day *95%* miner’s share Number of ELCs added to the multifunction pool as risk reserve fund = number of additional ELCs issued on the day * 5% When ELC is higher than 102% of ELCaim and LR > 0.7, the system will not issue any new ELCs, but will use the risk reserve fund (ELC) to swap amount of ELC for amount of ELP, which can decrease ELC price. -### Ecosystem Fit +### Ecosystem Fit Everlasting Cash is the stablecoin for the Cycan Network, which is a larger effort to build a decentralized autonomous trust (DAT) protocol for everyone to build business models in fintech and other fields within the Polkadot ecosystem. On the Cycan Network, for instance, anyone can launch a DeFi project, or build an investment portfolio and participate in the decision-making process for any DeFi product on the network. @@ -106,35 +112,44 @@ The Cycan Network (CYA) is an parachain built on the Polkadot network. The Everl ELC has a stable target pricing mechanism, called ELCaim. ELCaim is initially set as 1 USD and the pegged rate of ELCaim will be continuously adjusted and stabilized based on the anti-inflation factor (K), forming the anti-inflation algorithmic stablecoin mechanism. ELC not only uses crypto currencies as systemic reserves to decide the basic value of stablecoins, but also uses algorithms to control the supply of ELC so that the prices are at the same level of ELCaim. Users can use other cryptocurrencies including CYA, ELP, DOT, KSM, BTC, ETH and other digital assets proposed by the Cycan community to generate Everlasting Cash in the ELC protocol. Based on the Polkadot/Kusama ecosystem, Everlasting Cash will be playing a huge role in the future DeFi market, thanks to: -1. The adoption a crypto-collateralized mechanism to ensure the basic value of ELC. + +1. The adoption a crypto-collateralized mechanism to ensure the basic value of ELC. 2. The utilization of a reserve-based liquidity mining mechanism to issue additional ELC, so that ELC grows in an orderly manner with the expansion of demand. 3. The anti-inflation model, and using the anti-inflation factor K to adjust the ELCaim (the pegged rate). The annual appreciation rate of ELC is roughly the same as the inflation rate of USD. -4. The buffer mechanism with reserves for price falls, which avoid the death loop trap of algorithmic stablecoins. +4. The buffer mechanism with reserves for price falls, which avoid the death loop trap of algorithmic stablecoins. The ELC reserve pool will prioritize the tokens from the Polkadot system to build a solid stablecoin ecosystem. ## Team :busts_in_silhouette: -The team beyond Everlasting Cash is the Cycan team, an early-stage core pool of talents from around the world, with a background in finance, blockchain development and large-scale software architectures serving multiple industries, business development and media. + +The team beyond Everlasting Cash is the Cycan team, an early-stage core pool of talents from around the world, with a background in finance, blockchain development and large-scale software architectures serving multiple industries, business development and media. Cycan has a core team of developers numbering 10, including a development leader, 7 Rust developers, 1 product manager, and 1 front-end engineer. ### Team members + Cycan is directed by the following key roles: -* Donald Gao: founder, financial model designer -* Michele Ruberl, global tech partner, IT architect -* Vivi Lin, global partner, CMO + +- Donald Gao: founder, financial model designer +- Michele Ruberl, global tech partner, IT architect +- Vivi Lin, global partner, CMO ### Contact -* **Contact Name:** Donald Gao -* **Contact Email:** Donald@cycan.network -* Website http://cycan.network -### Legal Structure -* **Registered Address:** to be registered. -* **Registered Legal Entity:** Cycan Foundation is being registered in Singapore, ETA March 2021. +- **Contact Name:** Donald Gao + +- **Contact Email:** Donald@cycan.network +- Website http://cycan.network + +### Legal Structure + +- **Registered Address:** to be registered. + +- **Registered Legal Entity:** Cycan Foundation is being registered in Singapore, ETA March 2021. ### Team's experience + Cycan’s team has a long experience in the blockchain technology development and financial model designs. The team has developed public chains similar to Ethereum, cross-chain bridges connecting DPOS-based side chain and the notary network, and the open consortium chain with the rPBFT consensus mechanism. The team also has rich experience in smart contract development, including the Bancor-based decentralized transaction protocol, decentralized identity, distributed domain registration and auction, decentralized stable coin protocols, etc. @@ -147,80 +162,95 @@ Lastly, the team has a consolidated architectural and devops experience both in ### Team Code Repos -* ELP-Runtime-node: https://github.com/CycanTech/ELP-Runtime-node -* ELC-contracts: https://github.com/CycanTech/ELC + +- ELP-Runtime-node: https://github.com/CycanTech/ELP-Runtime-node + +- ELC-contracts: https://github.com/CycanTech/ELC ### Team LinkedIn Profiles -* https://www.linkedin.com/in/donald-gao-6bab74206/ -* https://www.linkedin.com/in/vivi-lin-1862276/ -* https://www.linkedin.com/in/mikrub/ + +- https://www.linkedin.com/in/donald-gao-6bab74206/ + +- https://www.linkedin.com/in/vivi-lin-1862276/ +- https://www.linkedin.com/in/mikrub/ -## Development Roadmap :nut_and_bolt: +## Development Roadmap :nut_and_bolt: ### Overview -* **Total Estimate Duration:** 14 weeks -* **Full-time Equivalent(FTE):** 4 -* **Total cost:** 1500 USD (we accept up to 100% of payment in crypto currencies that are equivalent to $1,500 including DAI) + +- **Total Estimate Duration:** 14 weeks + +- **Full-time Equivalent(FTE):** 4 +- **Total cost:** 1500 USD (we accept up to 100% of payment in crypto currencies that are equivalent to $1,500 including DAI) ### Milestone 1 – Implement ELC contracts -* **Total Estimate Duration:** 8 weeks -* **Full-time Equivalent(FTE):** 2 -* **Total cost:** 1000 USD -* **Task:** to fulfill the ELC contracts development based on ink! + +- **Total Estimate Duration:** 8 weeks + +- **Full-time Equivalent(FTE):** 2 +- **Total cost:** 1000 USD +- **Task:** to fulfill the ELC contracts development based on ink! | Number | Deliverable | Specification | | ------------- | ------------- | ------------- | -| 0a. | License | GNU General Public License v3.0 / Apache 2.0 | -| 0b. | Documentation | We will provide both inline documentation of the code and a tutorial that explains how a user can use ELC contract. | -| 0c. | Testing Guide | The code will have proper unit-test coverage to ensure functionality and robustness. In the guide we will describe how to run these tests. | -| 1. | ELC contracts | Develop ELC contract implement ELC whitepaper | -| 1a. | Anti-Inflation Factor K & On-Chain Governance | As the Polkadot parachain, Cycan/ELP network generates a block every 6 seconds or so, and the ELCaim increases by K every 10,000 blocks. In the ELC network, K can be adjusted through the on-chain governance mechanism, which can be decided by public voting in the community. | -| 1b. | Liability Ratio | To swap digital assets into the ELC contract, in which one can obtain both ELC and the risk assets(rXXX) or only the risk asset(rXXX). The difference will be defined by the Liability Ratio(marked as LR). | -| 1c. | ELC Supply Expansion mechanism | When the prices of ELC exceed ELCaim, additional ELC will be issued and automatically allocated to the risk asset holders. | -| 1d. | ELC Supply Contraction | When the prices of ELC go lower than 0.98 ELCaim, the circulating ELC will be repurchased by the risk reserve fund, and this part of ELC will be temporarily taken out of circulation; when the prices of ELC start to go over ELCaim, the ELC will be sold with priority by the risk reserve fund to recover the reserve. | -| 1e. | Oracle Price acquirement | The oracle price adopts the dual price mechanism of Parachain DEX and Chainlink (or Zenlink). | +| 0a. | License | GNU General Public License v3.0 / Apache 2.0 | +| 0b. | Documentation | We will provide both inline documentation of the code and a tutorial that explains how a user can use ELC contract. | +| 0c. | Testing Guide | The code will have proper unit-test coverage to ensure functionality and robustness. In the guide we will describe how to run these tests. | +| 1. | ELC contracts | Develop ELC contract implement ELC whitepaper | +| 1a. | Anti-Inflation Factor K & On-Chain Governance | As the Polkadot parachain, Cycan/ELP network generates a block every 6 seconds or so, and the ELCaim increases by K every 10,000 blocks. In the ELC network, K can be adjusted through the on-chain governance mechanism, which can be decided by public voting in the community. | +| 1b. | Liability Ratio | To swap digital assets into the ELC contract, in which one can obtain both ELC and the risk assets(rXXX) or only the risk asset(rXXX). The difference will be defined by the Liability Ratio(marked as LR). | +| 1c. | ELC Supply Expansion mechanism | When the prices of ELC exceed ELCaim, additional ELC will be issued and automatically allocated to the risk asset holders. | +| 1d. | ELC Supply Contraction | When the prices of ELC go lower than 0.98 ELCaim, the circulating ELC will be repurchased by the risk reserve fund, and this part of ELC will be temporarily taken out of circulation; when the prices of ELC start to go over ELCaim, the ELC will be sold with priority by the risk reserve fund to recover the reserve. | +| 1e. | Oracle Price acquirement | The oracle price adopts the dual price mechanism of Parachain DEX and Chainlink (or Zenlink). | ### Milestone 2 – Extend functions of the ELC contract. -* **Total Estimate Duration:** 6 weeks -* **Full-time Equivalent(FTE):** 2 -* **Total cost:** 500 USD -* **Task:** Implement new contract functions based on ink! and develop DAPP front-end. + +- **Total Estimate Duration:** 6 weeks + +- **Full-time Equivalent(FTE):** 2 +- **Total cost:** 500 USD +- **Task:** Implement new contract functions based on ink! and develop DAPP front-end. | Number | Deliverable | Specification | | ------------- | ------------- | ------------- | -| 0a. | License | GNU General Public License v3.0 / Apache 2.0 | -| 0b. | Documentation | We will provide both inline documentation of the code and a tutorial that explains how a user can use product. | -| 0c. | Testing Guide | The code will have proper unit-test coverage to ensure functionality and robustness. In the guide we will describe how to run these tests. | -| 1a. | ELC contract extension: Liquidity Mining Pool | ELP reserves a certain percentage of tokens to reward participants generatingELC, which means that part of the tokens will be given to risk asset (rELP) holders. | -| 1b. | ELC contract extension: Risk Reserve Fund | 1) A total of 21 million ELPs, of which 1 million ELPs are deposited into the risk reserve fund as the initial risk reserve. 2) In the ELC supply expansion process, 5% of the additional ELC issued through the algorithmic mechanism is converted into ELP and deposited in the risk reserve fund. | -| 2a. | ELC Dapp | 1) ELC generation function. 2) Redemption of the pledged assets function. 3) ELC price, issuance volumes, risk assets, debt ratios and other query functions. 4) Liquidity mining function. And integrate with the wallet. | +| 0a. | License | GNU General Public License v3.0 / Apache 2.0 | +| 0b. | Documentation | We will provide both inline documentation of the code and a tutorial that explains how a user can use product. | +| 0c. | Testing Guide | The code will have proper unit-test coverage to ensure functionality and robustness. In the guide we will describe how to run these tests. | +| 1a. | ELC contract extension: Liquidity Mining Pool | ELP reserves a certain percentage of tokens to reward participants generatingELC, which means that part of the tokens will be given to risk asset (rELP) holders. | +| 1b. | ELC contract extension: Risk Reserve Fund | 1) A total of 21 million ELPs, of which 1 million ELPs are deposited into the risk reserve fund as the initial risk reserve. 2) In the ELC supply expansion process, 5% of the additional ELC issued through the algorithmic mechanism is converted into ELP and deposited in the risk reserve fund. | +| 2a. | ELC Dapp | 1) ELC generation function. 2) Redemption of the pledged assets function. 3) ELC price, issuance volumes, risk assets, debt ratios and other query functions. 4) Liquidity mining function. And integrate with the wallet. | ## Future Plans + Our team would like to make continuous contributions to the Substrate and Polkadot ecosystems. Our future plans are as follows: - • Everlasting Cash is only deployed in the Polkadot ecosystem, through the Runtime module using the Substrate framework. - • The ELC reserve pool will prioritize tokens from the Polkadot system to build a solid stablecoin ecosystem. - • To provide the users in the Polkadot ecosystem with a stablecoin that appreciates naturally and achieves the goal of anti-inflation. + • Everlasting Cash is only deployed in the Polkadot ecosystem, through the Runtime module using the Substrate framework. + • The ELC reserve pool will prioritize tokens from the Polkadot system to build a solid stablecoin ecosystem. + • To provide the users in the Polkadot ecosystem with a stablecoin that appreciates naturally and achieves the goal of anti-inflation. Everlasting Cash will exist as an independent asset in the Polkadot ecosystem, and will also power the Cycan decentralized autonomous trust (DAT) on the path to revolutionize trust in the financial market. -## Additional Information :heavy_plus_sign: +## Additional Information :heavy_plus_sign: + +- What work has been done so far? -* What work has been done so far? - 1) The development of the initial version of the Substrate-based Pheonix test chain has been completed, supporting the WASM and EVM virtual machines. - 2) The DAO self-governance Runtime module and the application for the access to the Rococo test network are in progress. - 3) The development plan for the ELC contract has been formulated and the development is in progress. + 1) The development of the initial version of the Substrate-based Pheonix test chain has been completed, supporting the WASM and EVM virtual machines. + 2) The DAO self-governance Runtime module and the application for the access to the Rococo test network are in progress. + 3) The development plan for the ELC contract has been formulated and the development is in progress. + +- Are there are any teams who have already contributed (financially) to the project? -* Are there are any teams who have already contributed (financially) to the project?
           No -* Have you applied for other grants so far?
          +- Have you applied for other grants so far? +  No -* Are there any other project similar to yours?
          +- Are there any other project similar to yours? +  To the best of our knowledge, there is no project about anti-inflation stablecoin that is similar to our project. Please let us know if there are any. diff --git a/applications/FIAT-on-off-ramp.md b/applications/FIAT-on-off-ramp.md index 17ed724d6c5..d0c4ccaba0d 100644 --- a/applications/FIAT-on-off-ramp.md +++ b/applications/FIAT-on-off-ramp.md @@ -1,6 +1,5 @@ -# Open Grant Proposal +# FIAT on-off-ramp -* **Project Name:** FIAT on-off-ramp * **Team Name:** element36 * **Payment Address:** Ethereum 0x56788E08C97d2677DAdED801e69bfE5D33ddACD5 diff --git a/applications/Faucet.md b/applications/Faucet.md index 75c67389aa6..d138eced103 100644 --- a/applications/Faucet.md +++ b/applications/Faucet.md @@ -1,6 +1,5 @@ -# W3F Grant Proposal +# Generic sybil-resistant faucet -- **Project Name:** Generic sybil-resistant faucet - **Team Name:** MB Karolio reikalai - **Payment Address:** 0xc3e6eFA4D0847203dD4E19B7D114516Eb45840EC (DAI) - **Level:** 1 diff --git a/applications/Fennel_Protocol.md b/applications/Fennel_Protocol.md index 284a3e322c3..6851aee93c6 100644 --- a/applications/Fennel_Protocol.md +++ b/applications/Fennel_Protocol.md @@ -1,9 +1,8 @@ -# W3F Grant Proposal +# Fennel Protocol -* **Project Name:** Fennel Protocol -* **Team Name:** Fennel Labs -* **Payment Address:** 0xF505894841d53AaBDe6EdeA7C5970fFe3A0240b2 (DAI) -* **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 +- **Team Name:** Fennel Labs +- **Payment Address:** 0xF505894841d53AaBDe6EdeA7C5970fFe3A0240b2 (DAI) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 ## Project Overview :page_facing_up: @@ -15,10 +14,10 @@ This grant proposal describes the first step of a long-term plan to develop Fenn The background of the Whiteflag specification is as follows: -> Current armed conflicts are highly complex, because of the sheer number of parties involved: regular military forces, armed groups, peacekeeping forces, neutral parties such as journalists and non-governmental human-rights and aid organisations, civilians, refugees etc. Even though parties are opposing forces, or neutral organisations that do not want to show any affiliation, they do require to quickly and directly communicate to one or more other parties involved in the conflict in different situations. ->

          This is not new. The white flag is the original internationally recognized protective sign of truce or ceasefire, and request for negotiation. A white flag signifies to all that an approaching negotiator is unarmed, with an intent to surrender or a desire to communicate. ->

          This standard for a digital white flag protocol, the Whiteflag Protocol, provides a reliable means for both combatant and neutral parties in conflict zones to digitally communicate pre-defined signs and signals using blockchain technology. These sign and signals can also be used to communicate information about natural and man-made disasters, thus creating shared situational awareness beyond conflicts. ->

          All in all, the protocol forms the basis for a neutral and open network, the Whiteflag Network, for trusted real-time messaging between parties in conflicts and disaster response. +> Current armed conflicts are highly complex, because of the sheer number of parties involved: regular military forces, armed groups, peacekeeping forces, neutral parties such as journalists and non-governmental human-rights and aid organisations, civilians, refugees etc. Even though parties are opposing forces, or neutral organisations that do not want to show any affiliation, they do require to quickly and directly communicate to one or more other parties involved in the conflict in different situations. +>

          This is not new. The white flag is the original internationally recognized protective sign of truce or ceasefire, and request for negotiation. A white flag signifies to all that an approaching negotiator is unarmed, with an intent to surrender or a desire to communicate. +>

          This standard for a digital white flag protocol, the Whiteflag Protocol, provides a reliable means for both combatant and neutral parties in conflict zones to digitally communicate pre-defined signs and signals using blockchain technology. These sign and signals can also be used to communicate information about natural and man-made disasters, thus creating shared situational awareness beyond conflicts. +>

          All in all, the protocol forms the basis for a neutral and open network, the Whiteflag Network, for trusted real-time messaging between parties in conflicts and disaster response. One can find more details about the Whiteflag Protocol specification by clicking on these links: @@ -71,109 +70,125 @@ Though applications are planned, they are beyond scope for this proposal. ### Team members -* Sean Batzel -* Isaac Adams -* Andre Vanoncini -* Fernando Fonseca-Avalos -* Mateusz Plaza -* Jan Eberle +- Sean Batzel +- Isaac Adams +- Andre Vanoncini +- Fernando Fonseca-Avalos +- Mateusz Plaza +- Jan Eberle ### Contact -* **Contact Name:** Fennel Labs Core Team -* **Contact Email:** info@fennellabs.com -* **Website:** www.fennellabs.com +- **Contact Name:** Fennel Labs Core Team +- **Contact Email:** info@fennellabs.com +- **Website:** www.fennellabs.com ### Legal Structure -* **Registered Address:** 1309 Coffeen Avenue Suite 1200, Sheridan, Wyoming 82801 -* **Registered Legal Entity:** Fennel Labs, LLC. +- **Registered Address:** 1309 Coffeen Avenue Suite 1200, Sheridan, Wyoming 82801 +- **Registered Legal Entity:** Fennel Labs, LLC. ### Team's experience #### Sean Batzel -* Development Team co-lead for Theriak, a project which won the 2020 Odyssey Momentum hackathon's Conflict Prevention track. -* 2 years as lead and only developer of fEMR OnChain, a modular EMR software targeting eventual decentralization. -* 10 years of programming and software development experience -* 5 years of experience as lead/primary developer on expansive projects -* 2 years experience in remote development team coordination -* Graduate-level research experience studying blockchain’s uses in high-level information networks -* Dedicated focus on exploring use cases for blockchain and decentralized consensus beyond cryptocurrency and fusing Web 2 and Web 3 applications in a way that eases the industry’s transition to more decentralized computing + +- Development Team co-lead for Theriak, a project which won the 2020 Odyssey Momentum hackathon's Conflict Prevention track. + +- 2 years as lead and only developer of fEMR OnChain, a modular EMR software targeting eventual decentralization. +- 10 years of programming and software development experience +- 5 years of experience as lead/primary developer on expansive projects +- 2 years experience in remote development team coordination +- Graduate-level research experience studying blockchain’s uses in high-level information networks +- Dedicated focus on exploring use cases for blockchain and decentralized consensus beyond cryptocurrency and fusing Web 2 and Web 3 applications in a way that eases the industry’s transition to more decentralized computing #### Isaac Adams -* Succesfully launched [savvi](https://savvi.com) as tech lead and developed the jwt authentication, sign in/out, cart, and checkout features on the application while helping manage other developers working on the project -* Open source contributions: [added missing rpc method](https://github.com/harmony-one/sdk/pull/82) to harmony-one blockchain's npm package, [json ld transformer](https://github.com/parcel-bundler/parcel/pull/4397) for parcel v2, and extending usage of action-download-artifact to support the [github.ref variable](https://github.com/dawidd6/action-download-artifact/pull/55) -* Published author for [research](https://www.mdpi.com/2571-6182/1/1/1) on the degradation of antibiotics using a plasma apparatus -* 4 years of experience development experience on a wide range of projects, including web applications built using react/angular|.net core|SQL, labview applications for lab experiments, and devops/cloud operations -* 1 year of experience of being tech lead on two successfully launched web projects -* Graduated from Drexel University with a B.S. in Chemical Engineering + +- Succesfully launched [savvi](https://savvi.com) as tech lead and developed the jwt authentication, sign in/out, cart, and checkout features on the application while helping manage other developers working on the project + +- Open source contributions: [added missing rpc method](https://github.com/harmony-one/sdk/pull/82) to harmony-one blockchain's npm package, [json ld transformer](https://github.com/parcel-bundler/parcel/pull/4397) for parcel v2, and extending usage of action-download-artifact to support the [github.ref variable](https://github.com/dawidd6/action-download-artifact/pull/55) +- Published author for [research](https://www.mdpi.com/2571-6182/1/1/1) on the degradation of antibiotics using a plasma apparatus +- 4 years of experience development experience on a wide range of projects, including web applications built using react/angular|.net core|SQL, labview applications for lab experiments, and devops/cloud operations +- 1 year of experience of being tech lead on two successfully launched web projects +- Graduated from Drexel University with a B.S. in Chemical Engineering #### Andre Vanoncini -* Working with the Google Tango tablet for my master thesis (C++, first in depth steps for me with git and linux) -* Developing and implementing a focussing tool and process in C++ with Qt QML GUI -* Getting Inference working with libtorch (C++) and JNI -* Understanding compilation of C++ with cmake and being able to compile on the command line instead of the green play buttons + +- Working with the Google Tango tablet for my master thesis (C++, first in depth steps for me with git and linux) + +- Developing and implementing a focussing tool and process in C++ with Qt QML GUI +- Getting Inference working with libtorch (C++) and JNI +- Understanding compilation of C++ with cmake and being able to compile on the command line instead of the green play buttons #### Fernando Fonseca-Avalos -* Experience with C/C++, Python, JavaScript -* Developing proficiency with Rust. + +- Experience with C/C++, Python, JavaScript + +- Developing proficiency with Rust. #### Mateusz Plaza -* Captain for Theriak, a project which won the 2020 Odyssey Momentum hackathon's Conflict Prevention track. -* 8 years of experience working in high performance medical units -* 2 years of experience leading medical humanitarian teams in Central America -* 2012 Fulbright Research Fellow: completed research project on Poland's Solidarity Movement, exploring methods of self-organization and coordination of social movements that leverage symbols as a form of empowerment and that resist the threat of disinformation/active measures/propaganda. -* Published blockchain researcher, with a focus on the epistemic significance of decentralized blockchain ledgers, especially in terms of Self Sovereign Identity, Decentralized Autonomous Organization, and AI Ontology. + +- Captain for Theriak, a project which won the 2020 Odyssey Momentum hackathon's Conflict Prevention track. + +- 8 years of experience working in high performance medical units +- 2 years of experience leading medical humanitarian teams in Central America +- 2012 Fulbright Research Fellow: completed research project on Poland's Solidarity Movement, exploring methods of self-organization and coordination of social movements that leverage symbols as a form of empowerment and that resist the threat of disinformation/active measures/propaganda. +- Published blockchain researcher, with a focus on the epistemic significance of decentralized blockchain ledgers, especially in terms of Self Sovereign Identity, Decentralized Autonomous Organization, and AI Ontology. #### Jan Eberle -* Experience distinguishing misinformation, disinformation, and combatting the infodemic as a Media Analyst -* Strong communications & usability experience from linguistic studies -* Writing documents for different channels/audiences as a technical writer -* Practical peace keeping experience as a swiss guard in the Vatican + +- Experience distinguishing misinformation, disinformation, and combatting the infodemic as a Media Analyst + +- Strong communications & usability experience from linguistic studies +- Writing documents for different channels/audiences as a technical writer +- Practical peace keeping experience as a swiss guard in the Vatican #### Advisors -* Andrew Plaza -* Zbigniew Zielinski + +- Andrew Plaza + +- Zbigniew Zielinski ### Team Code Repos -* https://github.com/Romulus10 -* https://github.com/isaacadams -* https://github.com/vanandre -* https://github.com/fennelLabs -* https://github.com/Romulus10/infostratus -* https://github.com/Romulus10/blockchain_message -* https://github.com/fennelLabs/Theriak +- https://github.com/Romulus10 +- https://github.com/isaacadams +- https://github.com/vanandre +- https://github.com/fennelLabs +- https://github.com/Romulus10/infostratus +- https://github.com/Romulus10/blockchain_message +- https://github.com/fennelLabs/Theriak ### Team LinkedIn Profiles (if available) -* https://www.linkedin.com/in/seanbatzel/ -* https://www.linkedin.com/in/mateusz-p-6b126424/ -* https://www.linkedin.com/in/jan-eberle-553110195/ -* https://www.linkedin.com/in/fernando-fonseca-avalos-a0a516224/ -* https://www.linkedin.com/in/andreva/ -* https://www.linkedin.com/in/isaacdadams/ +- https://www.linkedin.com/in/seanbatzel/ +- https://www.linkedin.com/in/mateusz-p-6b126424/ +- https://www.linkedin.com/in/jan-eberle-553110195/ +- https://www.linkedin.com/in/fernando-fonseca-avalos-a0a516224/ +- https://www.linkedin.com/in/andreva/ +- https://www.linkedin.com/in/isaacdadams/ ### Ecosystem Fit + Fennel Protocol's key and identity management functionality is fine-tuned for decentralized communication that makes use of pre-defined signals and signs; for example, the Whiteflag specification uses predefined signals and signs derived from International Humanitarian Law, the CRED Disaster Category Classification, and the OECD Economic Infrastructure Common Reporting Standard Codes. Future proposals will build up Fennel Protocol to accomodate the full extent of the Whiteflag Protocol specification. Substrate's interoperability will provide the Polkadot ecosystem with a shared conception of Whiteflag Protocol's predefined signals and signs; -this will allow users to seemlessly send Whiteflag messages across the decentralized Polkadot ecosystem. Critically, an interoperable Whiteflag Network ensures situational awareness is not siloed but is unified in critical use cases. This helps decision makers receive a full picture of the field of operations. +this will allow users to seemlessly send Whiteflag messages across the decentralized Polkadot ecosystem. Critically, an interoperable Whiteflag Network ensures situational awareness is not siloed but is unified in critical use cases. This helps decision makers receive a full picture of the field of operations. #### Whiteflag Section 2.5: Minimally Viable Implementation: -Fennel Protocol will implement the minimally viable implementation of the Whiteflag functionality that allows for the sending of Whiteflag messages. + +Fennel Protocol will implement the minimally viable implementation of the Whiteflag functionality that allows for the sending of Whiteflag messages. We will implement further components of Whiteflag in further proposals. Whiteflag section 2.5 states: any implementation of the Whiteflag Protocol that sends messages on the Whiteflag Network, must implement at a minimum the following functionality: -* The Whiteflag Authentication message with at least one authentication option. At release, both Shared Secret and External Resource Authentication will be fully supported. +- The Whiteflag Authentication message with at least one authentication option. At release, both Shared Secret and External Resource Authentication will be fully supported. -* The possibility to Recall, Update and Discontinue (Whiteflag Reference Codes 1, 2 and 4) any implemented sign or signal, if such Reference Type is valid i.a.w. Reference options. These will be implemented as low-level Fennel messages through the Sign extrinsic call, effectively creating a specialized transaction subtype for each of these. +- The possibility to Recall, Update and Discontinue (Whiteflag Reference Codes 1, 2 and 4) any implemented sign or signal, if such Reference Type is valid i.a.w. Reference options. These will be implemented as low-level Fennel messages through the Sign extrinsic call, effectively creating a specialized transaction subtype for each of these. Fennel Protocol will provide the Substrate infrastructure for two authentication methodologies that abide by Whiteflag Protocol’s specification. -* Method 1, External Resource Authentication: requires the user to declare their identity in some public and trusted place which can be referenced in their activities. This often requires a strong proof, such as a cryptographic signature and public key declaration, that can be verified to prove that a transaction comes from the identity declared. +- Method 1, External Resource Authentication: requires the user to declare their identity in some public and trusted place which can be referenced in their activities. This often requires a strong proof, such as a cryptographic signature and public key declaration, that can be verified to prove that a transaction comes from the identity declared. -* Method 2, Shared Secret Authentication: requires an end user to establish a token known only to themselves and some authentication authority, similar to a password in more Web 2.0-oriented authentication. +- Method 2, Shared Secret Authentication: requires an end user to establish a token known only to themselves and some authentication authority, similar to a password in more Web 2.0-oriented authentication. Fennel Protocol will support both of these authentication mechanisms at launch, with shared secrets covered by our encrypted channel mechanism and external resources declared and submitted as public transactions through the Identity Update extrinsic. @@ -195,15 +210,15 @@ Fennel Protocol will also include support for RSA with a minimal key size of 409 ### Overview -* **Total Estimated Duration:** 3 months -* **Full-Time Equivalent (FTE):** 3 FTE -* **Total Costs:** 50,000 USD +- **Total Estimated Duration:** 3 months +- **Full-Time Equivalent (FTE):** 3 FTE +- **Total Costs:** 50,000 USD ### Milestone 1 — Implement Substrate Modules -* **Estimated duration:** 1 months -* **FTE:** 3 -* **Costs:** 15,000 USD +- **Estimated duration:** 1 months +- **FTE:** 3 +- **Costs:** 15,000 USD | Number | Deliverable | Specification | | -----: | ----------- | ------------- | @@ -222,9 +237,9 @@ Fennel Protocol will also include support for RSA with a minimal key size of 409 ### Milestone 2 — Additional features -* **Estimated duration:** 1 months -* **FTE:** 3 -* **Costs:** 15,000 USD +- **Estimated duration:** 1 months +- **FTE:** 3 +- **Costs:** 15,000 USD | Number | Deliverable | Specification | | -----: | ----------- | ------------- | @@ -240,9 +255,9 @@ Fennel Protocol will also include support for RSA with a minimal key size of 409 ### Milestone 3 — Additional features -* **Estimated duration:** 1 months -* **FTE:** 3 -* **Costs:** 20,000 USD +- **Estimated duration:** 1 months +- **FTE:** 3 +- **Costs:** 20,000 USD | Number | Deliverable | Specification | | -----: | ----------- | ------------- | @@ -266,8 +281,8 @@ identity and signaling applications should be able to easily build on the runtim ## Additional Information :heavy_plus_sign: -**How did you hear about the Grants Program?** -We heard about the Grants Program from the Web 3 Foundation Website, as well as personal recommendations from Polkadot community members. +**How did you hear about the Grants Program?** +We heard about the Grants Program from the Web 3 Foundation Website, as well as personal recommendations from Polkadot community members. Thus far, we've ported our Theriak repository to the most recent version of Substrate as of writing of this application. Financial contribution has not yet begun for the Fennel Protocol project. diff --git a/applications/Gafi.md b/applications/Gafi.md index 984dd2eb01e..af936c5e7c6 100644 --- a/applications/Gafi.md +++ b/applications/Gafi.md @@ -1,7 +1,5 @@ -# W3F Grant Proposal +# Gafi Network - The Network of Game Finance - -- **Project Name:** Gafi Network - The Network of Game Finance - **Team Name:** Cryptoviet - **Gafi Paper:** https://gafi.network/GafiPaper.pdf - **Wiki:** https://wiki.gafi.network/ diff --git a/applications/Gluon_decentralized_hardware_crypto_wallet_services.md b/applications/Gluon_decentralized_hardware_crypto_wallet_services.md index 5ceeb82808e..8e066128187 100644 --- a/applications/Gluon_decentralized_hardware_crypto_wallet_services.md +++ b/applications/Gluon_decentralized_hardware_crypto_wallet_services.md @@ -1,54 +1,54 @@ -# Open Grant Proposal +# Gluon - Decentralized Hardware Crypto Wallet Services > This document is referenced in the terms and conditions and therefore needs to contain all the required information. Don't remove any of the mandatory parts presented in bold letters or as headlines! See the [Open Grants Program Process](https://github.com/w3f/Open-Grants-Program/blob/master/README_2.md) on how to submit a proposal. -* **Project Name:** Gluon - Decentralized Hardware Crypto Wallet Services * **Team Name:** TEA Project * **Payment Address:** ERC20(DAI etc.):0x0cE6254832D553590349Ef7a427519d1eb8af70F - > *The above combination of your GitHub account submitting the application and payment address will be your unique identifier during the program. Please keep them safe.* -## Project Overview :page_facing_up: +## Project Overview :page_facing_up: + > If this application is in response to an RFP, please indicate this on the first line of this section. ### Overview -Leaking or losing private keys are the primary concerns of most blockchain users. Gluon uses a new approach to prevent such issues. +Leaking or losing private keys are the primary concerns of most blockchain users. Gluon uses a new approach to prevent such issues. -Gluon is a TaaS (Trust-as-a-Service) application that provides hardware crypto wallet services to crypto users. Our main goal is to create an all-in-one private key manager for Polkadot ecosystem blockchains. +Gluon is a TaaS (Trust-as-a-Service) application that provides hardware crypto wallet services to crypto users. Our main goal is to create an all-in-one private key manager for Polkadot ecosystem blockchains. Features: -- Passwordless. Users won't have to take responsibility for backup mnemonic phrases. Social recovery is available for users who have lost all their authentication devices. -- Gluon manages Schnorr Multisig Keys that are randomly distributed and encrypted by hardware-secure-modules (HSM). We call them TEA nodes. -- Users only need to submit a transaction to Gluon, and it will take over the signing and committing to blockchains. -- Leverages popular biometric technologies in mobile devices to attain better user experiences without compromising security. +* Passwordless. Users won't have to take responsibility for backup mnemonic phrases. Social recovery is available for users who have lost all their authentication devices. +* Gluon manages Schnorr Multisig Keys that are randomly distributed and encrypted by hardware-secure-modules (HSM). We call them TEA nodes. +* Users only need to submit a transaction to Gluon, and it will take over the signing and committing to blockchains. +* Leverages popular biometric technologies in mobile devices to attain better user experiences without compromising security. -Gluon is built into a WebAssembly module loaded and ran inside the T-rust framework (they are both TEA projects). Gluon is an application (we call TeaLeaf); T-rust is a framework (TeaTree). T-rust contains layer1 and layer2; Layer1 is a blockchain built using Substrate, while Layer2 is an exceptionally designed mini OS along with WebAssembly modules that run on wasm runtime powered by [WaSCC](https://wascc.dev). Gluon also contains layer1 and layer2. Layer1 is a Substrate pellet running inside Tea Layer1 blockchain, and layer2 is a set of WebAssembly actors running in every TEA node's TeaRuntime. +Gluon is built into a WebAssembly module loaded and ran inside the T-rust framework (they are both TEA projects). Gluon is an application (we call TeaLeaf); T-rust is a framework (TeaTree). T-rust contains layer1 and layer2; Layer1 is a blockchain built using Substrate, while Layer2 is an exceptionally designed mini OS along with WebAssembly modules that run on wasm runtime powered by [WaSCC](https://wascc.dev). Gluon also contains layer1 and layer2. Layer1 is a Substrate pellet running inside Tea Layer1 blockchain, and layer2 is a set of WebAssembly actors running in every TEA node's TeaRuntime. -Gluon serves all Polkadot ecosystem dApps and other blockchains as an entry point (portal); it is transparent to other client chains. There is no integration needed. +Gluon serves all Polkadot ecosystem dApps and other blockchains as an entry point (portal); it is transparent to other client chains. There is no integration needed. We designed and developed Gluon to: -- Lower the barrier to blockchain end-users; improve user experiences. -- Protect users' crypto assets. -- Demonstrate the potential of the Substrate framework and TEA project. +* Lower the barrier to blockchain end-users; improve user experiences. +* Protect users' crypto assets. +* Demonstrate the potential of the Substrate framework and TEA project. >Please provide the following: -> * A brief description of the project. -> * An indication of how you will integrate this project into Substrate / Polkadot / Kusama. -> * An indication of why your team is interested in creating this project. +> +> * A brief description of the project. +> * An indication of how you will integrate this project into Substrate / Polkadot / Kusama. +> * An indication of why your team is interested in creating this project. -### Project Details +### Project Details #### Unique features of Gluon From a users point of view, Gluon works just like a hardware wallet, but with a few differences: -- A traditional hardware wallet is just one single hardware secure module (HSM), but Gluon is a group of potentially thousands of HSM running consensus together to protect clients' assets. (Every TEA Mining Node is an HSM which can be considered as a hardware wallet) -- Users need both a Polkadot extension and a Gluon mobile app to access their Gluon account as 2FA. -- Users can transfer authentication factors from one device to another without backing up and restoring mnemonic phases. -- If users lose both their computer (web auth) and phone (mobile auth), social recovery can still protect and recover their new accounts' crypto assets. -- Users only need to submit a transaction then Gluon will submit the signature to the client blockchain without further user interaction. +* A traditional hardware wallet is just one single hardware secure module (HSM), but Gluon is a group of potentially thousands of HSM running consensus together to protect clients' assets. (Every TEA Mining Node is an HSM which can be considered as a hardware wallet) +* Users need both a Polkadot extension and a Gluon mobile app to access their Gluon account as 2FA. +* Users can transfer authentication factors from one device to another without backing up and restoring mnemonic phases. +* If users lose both their computer (web auth) and phone (mobile auth), social recovery can still protect and recover their new accounts' crypto assets. +* Users only need to submit a transaction then Gluon will submit the signature to the client blockchain without further user interaction. #### Key distribution and protection @@ -56,49 +56,50 @@ From a users point of view, Gluon works just like a hardware wallet, but with a Gluon generates Polkadot accounts for users using the 2-out-of-3 Schnorr Threshold Multsig Algorithm implemented by Schnorrkel. The account public key is aggregated from the 3 key pairs while the private keys are kept by 3 individual parties. They are called P1, P2, and P3. -Among them, P1 is a single sign key stored in the users' mobile phones. Both P2 and P3 are Schnorr multisig keys. Gluon owns P2 for additional security policy control, while Guardians (assigned by the User) owns P3. +Among them, P1 is a single sign key stored in the users' mobile phones. Both P2 and P3 are Schnorr multisig keys. Gluon owns P2 for additional security policy control, while Guardians (assigned by the User) owns P3. P2 is a Schnorr threshold multisig key, which means instead of a single signer, a group of signers control P2. For example, we call them key-pieces such as P2-1, P2-2, P2-3, and so on. They are separately generated and stored by different TEA nodes. Multiple TEA nodes distribute the private key of each signer as the replica. We do not allow a single TEA node to hold more than one key piece of any P2 to prevent any TEA node has enough key-pieces to reach the multisig threshold. This policy also guarantees better distribution of key-pieces over TEA nodes. The signature algorithm is implemented by Schnorrkel too. -P3 is also a Schnorr threshold multisig key but each key-pieces owned by different guardians. Users need to assign their friends or legal entities as guardians. K of n guardians could sign the social recovery transaction to restore a user's account if it lost its P1. This process is called [Social Recovery](https://www.parity.io/social-recovery-on-substrate/). +P3 is also a Schnorr threshold multisig key but each key-pieces owned by different guardians. Users need to assign their friends or legal entities as guardians. K of n guardians could sign the social recovery transaction to restore a user's account if it lost its P1. This process is called [Social Recovery](https://www.parity.io/social-recovery-on-substrate/). -P1 is stored in the users' Gluon mobile app. P1 will never be exposed beyond the phone, even when upgrading devices. However, Gluon doesn't require users to take responsibility to backup mnemonic phrases. When upgrading to a new phone, the Gluon app can transfer P1 securely to the new device without exposing it to the network. If users lose their phones, there is no way to restore P1 because there are no backup mnemonic phrases. Lost or being hacked of P1 does not lead to a loss of assets, as one can use P2+P3 for recovery, and bad actors would need two keys to access crypto assets in the case of a leak. As mentioned above, Gluon can transfer all assets to one's new account by running a social recovery process. +P1 is stored in the users' Gluon mobile app. P1 will never be exposed beyond the phone, even when upgrading devices. However, Gluon doesn't require users to take responsibility to backup mnemonic phrases. When upgrading to a new phone, the Gluon app can transfer P1 securely to the new device without exposing it to the network. If users lose their phones, there is no way to restore P1 because there are no backup mnemonic phrases. Lost or being hacked of P1 does not lead to a loss of assets, as one can use P2+P3 for recovery, and bad actors would need two keys to access crypto assets in the case of a leak. As mentioned above, Gluon can transfer all assets to one's new account by running a social recovery process. #### Hardware Secure Module -TEA nodes are HSM (Hardware Secure Module). One can consider commonly used hardware wallets as special-purpose HSM, but TEA nodes are a general-purpose HSM that can do much more. The secret will never be exposed outside of hardware-protected TEA node's RAM nor saved to any storage media persistently. When transferring secrets between TEA nodes (for example, distributing replica), every TEA nodes will run Remote Attestation before an end to end encryption and send. When using P2 co-signing a transaction, the TEA Node will query the layer1 blockchain to verify the signing conditions first and then sign the transaction inside HSM. No secret leaves the HSM except the digital signature. Each co-signer sign using its holding key-piece to a signature-piece. These signature-pieces get aggregated in layer-1 blockchain to become a single signature. As long as the number of co-signers reaches the threshold, this signature can pass verification by Polkadot. +TEA nodes are HSM (Hardware Secure Module). One can consider commonly used hardware wallets as special-purpose HSM, but TEA nodes are a general-purpose HSM that can do much more. The secret will never be exposed outside of hardware-protected TEA node's RAM nor saved to any storage media persistently. When transferring secrets between TEA nodes (for example, distributing replica), every TEA nodes will run Remote Attestation before an end to end encryption and send. When using P2 co-signing a transaction, the TEA Node will query the layer1 blockchain to verify the signing conditions first and then sign the transaction inside HSM. No secret leaves the HSM except the digital signature. Each co-signer sign using its holding key-piece to a signature-piece. These signature-pieces get aggregated in layer-1 blockchain to become a single signature. As long as the number of co-signers reaches the threshold, this signature can pass verification by Polkadot. #### Access control logic -Polkadot allows unlocking User's DOT based on 2 of 3 mutisig from P1 P2 and P3. Gluon has no control over P1 (owned by the User) and P3 (owned by the User's friend - guardians). If a user no longer trusts Gluon, it can ask its guardians to sign P3 along with its P1, and the User still has full control over its assets. If a user lost its P1, it could create a new P1 then recover its assets by running the social recovery process by P2 and P3. If a user wants to update its guardians' list, it can create a new P3 since P1 and P2 are available. +Polkadot allows unlocking User's DOT based on 2 of 3 mutisig from P1 P2 and P3. Gluon has no control over P1 (owned by the User) and P3 (owned by the User's friend - guardians). If a user no longer trusts Gluon, it can ask its guardians to sign P3 along with its P1, and the User still has full control over its assets. If a user lost its P1, it could create a new P1 then recover its assets by running the social recovery process by P2 and P3. If a user wants to update its guardians' list, it can create a new P3 since P1 and P2 are available. P1 is stored in users' mobile apps. Gluon mobile app uses general mobile security protections to protect P1. Such as Biometric ID, Symmetric encryption (6 digits user input passcode), Hardware security chip for some particular model when available. P1 along won't be more secure than other modern crypto wallet mobile apps. That's why we have additional P2 and P3 to protect the User's crypto assets. -P2 is the only key owned by Gluon. When a user requests to sign a transaction, each TEA node that holds a key-piece will run authentication logic separately. The authentication logic includes +P2 is the only key owned by Gluon. When a user requests to sign a transaction, each TEA node that holds a key-piece will run authentication logic separately. The authentication logic includes -- Verifying web and mobile 2FA. The User has to submit a signing request using both the Polkadot browser extension and Gluon mobile app. -- For spending transactions, verify the daily limit or other constraints set by the User in layer1. For example, when the User claims loss of P1 and sets its assets in the Social Recovery frozen period, Gluon will suspend the request. -- For social recovery transactions, verify the guardians' signature follow the predefined logic. For example, suppose a user lost both their computer and mobile phone (all 2FA). In that case, additional requirements apply to social recovery processes such as time window, sequence, or geolocation to mitigate phishing attacks. +* Verifying web and mobile 2FA. The User has to submit a signing request using both the Polkadot browser extension and Gluon mobile app. +* For spending transactions, verify the daily limit or other constraints set by the User in layer1. For example, when the User claims loss of P1 and sets its assets in the Social Recovery frozen period, Gluon will suspend the request. +* For social recovery transactions, verify the guardians' signature follow the predefined logic. For example, suppose a user lost both their computer and mobile phone (all 2FA). In that case, additional requirements apply to social recovery processes such as time window, sequence, or geolocation to mitigate phishing attacks. -Given such logic run on the Gluon Pellet (on-chain) and Gluon Wasm Actors (off-chain), in the future, we can easily add more complex logic without on-chain limitations. +Given such logic run on the Gluon Pellet (on-chain) and Gluon Wasm Actors (off-chain), in the future, we can easily add more complex logic without on-chain limitations. -P3 is only used for Social Recovery. Because of Schnorr Mutisig Algorithm, the guardians' list never exposes in the clear on the blockchain. Even the guardians themself won't know they are selected guardians or know other guardians in the same group. There is little chance for guardians to collude and sign P3 without the User's permission. +P3 is only used for Social Recovery. Because of Schnorr Mutisig Algorithm, the guardians' list never exposes in the clear on the blockchain. Even the guardians themself won't know they are selected guardians or know other guardians in the same group. There is little chance for guardians to collude and sign P3 without the User's permission. #### User experiences -From the end user's point of view, Gluon is a mobile app and a web extension. The end-user needs to install the Polkadot web extension on their browser to visit any dApp sites to generate transactions to be signed. They also will need to install a Gluon mobile app as a decentralized 2FA (not the traditional centralized 2FA). +From the end user's point of view, Gluon is a mobile app and a web extension. The end-user needs to install the Polkadot web extension on their browser to visit any dApp sites to generate transactions to be signed. They also will need to install a Gluon mobile app as a decentralized 2FA (not the traditional centralized 2FA). -Users can go to the Gluonwallet.com website or any other compatible dApp to create a transaction. The web extension will generate a transaction like a QR code on the web page. Users will use the Gluon mobile app to scan this QR code, verify the transaction details, then fingerprint-unlock the partial signing on the phone. Once the phone sends the partial signature to the Gluon network, TEA nodes will multisign the same tx using P2. Once two partial signatures are complete, they are aggregated and committed to the client blockchain to continue processing the transaction. +Users can go to the Gluonwallet.com website or any other compatible dApp to create a transaction. The web extension will generate a transaction like a QR code on the web page. Users will use the Gluon mobile app to scan this QR code, verify the transaction details, then fingerprint-unlock the partial signing on the phone. Once the phone sends the partial signature to the Gluon network, TEA nodes will multisign the same tx using P2. Once two partial signatures are complete, they are aggregated and committed to the client blockchain to continue processing the transaction. #### Relationship between Gluon and T-rust -From the miners' point of view, Gluon is a dApp that runs on top of the T-rust framework. When compiling the source code, a WebAssembly file "gluon.wasm" is generated. This wasm file is loaded to the miner's TEA node by adding Gluon.wasm file hash to their TEA nodes' manifest file. Miners can load this wasm module from IPFS directly. Once "gluon.wasm" is loaded into TEA runtime, this TEA node becomes a TEA hardware wallet capability provider. +From the miners' point of view, Gluon is a dApp that runs on top of the T-rust framework. When compiling the source code, a WebAssembly file "gluon.wasm" is generated. This wasm file is loaded to the miner's TEA node by adding Gluon.wasm file hash to their TEA nodes' manifest file. Miners can load this wasm module from IPFS directly. Once "gluon.wasm" is loaded into TEA runtime, this TEA node becomes a TEA hardware wallet capability provider. Gluon.wasm only handles crypto wallet related logic. All other consensuses, security, network, and hardware validation happens in the T-rust framework. ![relationship tea](https://cdn-images-1.medium.com/max/1120/1*2O7WDwTwH4DlIr4zbOMxng.png) #### Gluon and T-rust's root of trust and PoT (Proof of Trust) consensus + T-rust is a layer2 trusted computing solution on top of a Substrate-based blockchain (layer1). Unlike most blockchain, whose root-of-trust comes from cryptography and consensus, T-rust introduces hardware root-of-trust as the third dimension. Unlike most other blockchains that make consensus on the result, T-rust makes consensus on the proof of trust that comes from hardware TPM chips. Using hardware RoT makes the consensus much more efficient than many blockchains. T-rust can run complex or privacy-sensitive computations, which are not likely possible in other blockchains. Distributed storage of private keys needs both privacy and complex computing, so Gluon is an ideal dApp running on top of T-rust. Gluon and T-rust are two TEA Projects. ![root of trust](https://cdn-images-1.medium.com/max/1120/1*5cLoCE4mLRw7hhDjcuaAxA.png) @@ -108,23 +109,22 @@ T-rust is a layer2 trusted computing solution on top of a Substrate-based blockc There is nothing that needs to be done for other blockchains when integrating with Gluon as long as the client blockchain supports Schnorr Multisig. Gluon is transparent to other client blockchains. Gluon is virtually a client who commits the signed transaction and listens to block events. Polkadot will support off-line Schnorr Multisig very soon. For other dApps, integrating with Gluon is as simple as adding one js API. This js API does three things: -- Gathering input transaction details and show in a QR code. Prompt the User to scan this QR code using Gluon mobile app. -- Sending the hash of transaction and client_id in a TEA transaction to the TEA blockchain. - +* Gathering input transaction details and show in a QR code. Prompt the User to scan this QR code using Gluon mobile app. +* Sending the hash of transaction and client_id in a TEA transaction to the TEA blockchain. #### UI mockups ![typical workflow](https://github.com/tearust/gluon-docs/blob/master/res/typical-workflow.png?raw=true) -The diagram above shows a typical UI workflow, which is signing a DOT spending transaction. +The diagram above shows a typical UI workflow, which is signing a DOT spending transaction. -Users start a task from the web browser. It could be the Gluon web portal or any dApps' website embedded with our js API. A hash of the transaction detail is sent to Gluon TeaLeaf. A QR code is shown on the web page for the paired Gluon mobile app to scan. +Users start a task from the web browser. It could be the Gluon web portal or any dApps' website embedded with our js API. A hash of the transaction detail is sent to Gluon TeaLeaf. A QR code is shown on the web page for the paired Gluon mobile app to scan. After scanning the QR code, the Gluon mobile app shows the transaction's detail for users to confirm visually. Users approve this transaction by fingerprinting and six digits wallet passcode. Gluon mobile app partially signs the transaction using P1. Both the signature and transaction details are sent to Gluon TeaLeaf to continue. -Gluon TeaLeaf takes over the rest of the task by verifying and signing using P2. Finally, Gluon TeaLeaf sends the signature by P1 and P2 to Polkadot to complete the transaction. +Gluon TeaLeaf takes over the rest of the task by verifying and signing using P2. Finally, Gluon TeaLeaf sends the signature by P1 and P2 to Polkadot to complete the transaction. The User will receive the confirmation event of a completed task. @@ -137,20 +137,20 @@ T-rust is a bit more complicated. ##### TEA's four pillars ![four pillars](https://github.com/tearust/tea-docs/raw/main/res/s8.jpg) -In general, TEA is based on four technologies: -- Substrate: This is layer 1 of T-rust. The blockchain runs consensus on Proof-of-Trust, and immutably stores, processes, and verifies PoT (the hashes from the hardware chips). -- IPFS: This is the file system and network layer of T-rust. All public code and data are stored in IPFS, but all secrets are kept inside TEA modules (the HSM). -- Trusted Computing: This is where the hardware root of trust comes from. We use the TPM chips inside the TEA module (HSM) to generate Proof of Trust. -- WebAssembly: All running executable code is in wasm format and runs inside secure wasm runtime except for our OS, runtime, and system providers. +In general, TEA is based on four technologies: +* Substrate: This is layer 1 of T-rust. The blockchain runs consensus on Proof-of-Trust, and immutably stores, processes, and verifies PoT (the hashes from the hardware chips). +* IPFS: This is the file system and network layer of T-rust. All public code and data are stored in IPFS, but all secrets are kept inside TEA modules (the HSM). +* Trusted Computing: This is where the hardware root of trust comes from. We use the TPM chips inside the TEA module (HSM) to generate Proof of Trust. +* WebAssembly: All running executable code is in wasm format and runs inside secure wasm runtime except for our OS, runtime, and system providers. -90% of the source code is written in Rust. The other 6% is written in JS and the remaining 4% in Golang. +90% of the source code is written in Rust. The other 6% is written in JS and the remaining 4% in Golang. For more detail on the TEA project and T-rust framework, you may visit teaproject.org. #### Prior works and demo Gluon is a dApp and a wasm module running on top of T-rust. We currently do not have the Gluon demo running (but it will be available soon). We do have another demo app showing the capability of the T-rust framework. -This demo is a Tensorflow image recognization running on Substrate blockchain. +This demo is a Tensorflow image recognization running on Substrate blockchain. Here is the video link: > Click to play the demo video @@ -162,89 +162,100 @@ Here's another video introduction to the TEA project: [![](https://github.com/tearust/tea-docs/raw/main/res/blog/WX20201215-115720@2x.png)](http://www.youtube.com/watch?v=-NgR3ySWwXg "") > Therefore, we ask the teams to submit (where relevant): +> > * Mockups/designs of any UI components > * API specifications of the core functionality > * An overview of the technology stack to be used > * Documentation of core components, protocols, architecture, etc. to be deployed > * PoC/MVP or other relevant prior work or research on the topic +### Ecosystem Fit -### Ecosystem Fit Are there any other projects similar to yours? If so, how is your project different? There are many existing crypto wallets in the market. They either store the private keys on client devices (phone, hardware wallet) or centralized servers. There are quite a few wallets in Web3 applications. For example: [bdwallet](https://github.com/tearust/Open-Grants-Program/blob/master/applications/bdwallet.md), or [subwallet](https://github.com/tearust/Open-Grants-Program/blob/master/applications/subwallet.md) -Gluon has a very decentralized approach. We do not store the original keys anywhere. Instead, we use the TEA project's decentralized trusted computing infrastructure to scramble, store, and multisign. This approach prevents users from losing or leaking their keys. +Gluon has a very decentralized approach. We do not store the original keys anywhere. Instead, we use the TEA project's decentralized trusted computing infrastructure to scramble, store, and multisign. This approach prevents users from losing or leaking their keys. A few crypto wallets outside of the Polkadot ecosystem are a little bit similar to ours. [ZenGo](https://zengo.com/security/) provides "passwordless" but still require centralized servers to store encrypted secrets. We do everything decentralized. -[Recovery pellets](https://github.com/paritytech/substrate/tree/master/frame/recovery) is not a wallet but a Substrate pellet with the social recovery idea. We did not know it until we search for a similar project just now. +[Recovery pellets](https://github.com/paritytech/substrate/tree/master/frame/recovery) is not a wallet but a Substrate pellet with the social recovery idea. We did not know it until we search for a similar project just now. [Ledger](https://www.ledger.com/) or [Trezor](https://trezor.io/) are hardware wallets. We do not sell hardware wallet units to end-users. We provide Trust-as-a-Service instead. ## Team :busts_in_silhouette: ### Team members + * Name of the team leader: Kevin Zhang -* Names of team members: +* Names of team members: + - William Zhang -- Jacky Li -- Raindust Yan -- Zehua Jiang -- Lex Pablo +* Jacky Li +* Raindust Yan +* Zehua Jiang +* Lex Pablo ### Contact + * **Contact Name:** Kevin G. Zhang * **Contact Email:** kevin.zhang.canada@gmail.com * **Web site:** teaproject.org gluonwallet.com -### Legal Structure +### Legal Structure + * **Registered Address:** 4006 Hastings Park Ct, San Jose, CA 95136 U.S.A. * **Registered Legal Entity:** Elk Insight LLC. ### Team's experience + Please describe the team's relevant experience. If the project involves development work, we'd appreciated if you can single out a few interesting code commits made by team members on their past projects. For research-related grants, references to past publications and projects in a related domain are helpful. -The TEA-Project started in the year 2019. The idea originally came to the team leader, Kevin Zhang, seven years ago when working as the CTO of iHealthLabs. Utilizing patients' health data for scientific research while preventing health data breaches has always been a major problem. He initially tried to solve the dilemma using blockchain but realized that the existing blockchain technologies were far too slow to be practical. He then decided to add the root of trust alongside existing blockchain cryptography + consensus. This is the hardware root of trust. TEA uses existing mature Trusted Computing technologies to provide secure computing services to client blockchains without requiring specialized CPU features such as Phala's (TEE) Intel SGX CPU or Bitcoin's ASIC CPU. Besides the Tensorflow demo app on TEA, making a practical crypto wallet can demonstrate how TEA can do better, so they started the Gluon. The full story of the project can be found here: [Sweeping Monk Medium Blog] (https://pushbar.medium.com/0-of-n-cover-letter-of-the-trusted-webassembly-runtime-on-ipfs-12a4fd8c4338) +The TEA-Project started in the year 2019. The idea originally came to the team leader, Kevin Zhang, seven years ago when working as the CTO of iHealthLabs. Utilizing patients' health data for scientific research while preventing health data breaches has always been a major problem. He initially tried to solve the dilemma using blockchain but realized that the existing blockchain technologies were far too slow to be practical. He then decided to add the root of trust alongside existing blockchain cryptography + consensus. This is the hardware root of trust. TEA uses existing mature Trusted Computing technologies to provide secure computing services to client blockchains without requiring specialized CPU features such as Phala's (TEE) Intel SGX CPU or Bitcoin's ASIC CPU. Besides the Tensorflow demo app on TEA, making a practical crypto wallet can demonstrate how TEA can do better, so they started the Gluon. The full story of the project can be found here: [Sweeping Monk Medium Blog] () ### Team Code Repos -* https://github.com/tearust/Gluon_Actor -* https://github.com/tearust/Gluon_Pellet -* https://github.com/tearust/gluon-docs -* https://github.com/tearust/tea-docs + +* +* +* +* ### Team LinkedIn Profiles -* https://www.linkedin.com/in/kevingzhang/ -* https://www.linkedin.com/in/zhijun/ -* https://www.linkedin.com/in/jacky-li-4039747b/ -* https://www.linkedin.com/in/mingzhi-yan-7544b9203/ -* https://www.linkedin.com/in/zehua-jiang-7494a8203/ -* https://www.linkedin.com/in/lex-pablo-a638941ba/ -## Development Roadmap :nut_and_bolt: +* +* +* +* +* +* + +## Development Roadmap :nut_and_bolt: > This section should break out the development roadmap into several milestones. Since the milestones will appear in the grant contract, it helps to describe the functionality we should expect, plus how we can check that such functionality exists in the product. Whenever milestones are delivered, we refer to the contract to ensure that everything has been delivered as expected. -Below, we provided an **example roadmap**. In the descriptions, it should be clear how the project is related to Substrate and/or Polkadot. We recommend to fit the scope of the work within a 3 month period and for teams to structure their roadmap as 1 month = 1 milestone. +Below, we provided an **example roadmap**. In the descriptions, it should be clear how the project is related to Substrate and/or Polkadot. We recommend to fit the scope of the work within a 3 month period and for teams to structure their roadmap as 1 month = 1 milestone. For each milestone: + * Please be sure to include a specification of your software. Treat it as a contract - the level of detail must be enough to later verify that the software meets the specification. To assist you in defining it, we created a document with examples for some grant categories [here](../src/grant_guidelines_per_category.md). * Please include the total amount of funding requested per milestone. * Please note that we require documentation (e.g. tutorials, API specifications, architecture details) in each milestone. This ensures that the code can be widely used by the community. * Please provide a test suite, comprising unit and integration tests, along with a guide on how to run these. -* Please commit to providing a dockerfiles for the delivery of your project. +* Please commit to providing a dockerfiles for the delivery of your project. * Please indicate the milestone duration, as well as a number of Full-Time Employees working on each milestone, and include the number of days along with their cost per day. * Deliverables 0a-0d are mandatory and should not be removed, unless you explicitly specify a reason within the PR's `Additional Notes` section (e.g. Milestone X is research-oriented and as such there is no code to test) ### Overview + * **Total Estimated Duration:** 5 months * **Full-time equivalent (FTE):** 2.5 FTE * **Total Costs:** 28k USD ### Milestone 1 Example — Web app and mobile app pairing + * **Estimated Duration:** 4 Weeks * **FTE:** 2.5 FTE * **Costs:** 5.6k USD @@ -268,6 +279,7 @@ To assist you in defining it, we created a document with examples for some grant | 3.1 | Gluon substrate pellet: Search API | Search user public information | ### Milestone 2 - Phone upgrading and social recovery + * **Estimated Duration:** 4 Weeks * **FTE** 2.5 FTE * **Cost:** 5.6k USD @@ -288,13 +300,14 @@ To assist you in defining it, we created a document with examples for some grant | 4.1 | Layer1 | Suspend old account activity during the recovering process | | 4.2 | Gluon TeaLeaf | Generate a new account to accept assets | | 5.0 | Layer1 | Verify all social recovery confirmation, transfer assets to new account | - + ### Milestone 3 - Generate DOT asset on test net + * **Estimated Duration:** 4 Weeks * **FTE:** 2.5 FTE * **Costs:** 5.6k USD -Prerequisites: -This milestone require Schnorrkel threshold signature issue https://github.com/w3f/schnorrkel/issues/11 completes. +Prerequisites: +This milestone require Schnorrkel threshold signature issue completes. | Number | Deliverable | Specification | | ------------- | ------------- | ------------- | @@ -314,10 +327,11 @@ This milestone require Schnorrkel threshold signature issue https://github.com/w | 4.1 | Gluon TeaLeaf | Executor aggregates public key from initial pinners | | 4.2 | Gluon TeaLeaf | Delegator verify and response to Layer 1 | | 4.3 | Gluon TeaLeaf | Suspend old P2 P3 when a social recovery task in progress| -| 5.0 | Layer1 | Create Schnorr multisig test chain | +| 5.0 | Layer1 | Create Schnorr multisig test chain | | 5.1 | Layer1 | Update user assets | ### Milestone 4 - Sign DOT transaction on testnet + * **Estimated Duration:** 4 Weeks * **FTE** 2.5 FTE * **Cost:** 5.6k USD @@ -337,8 +351,9 @@ This milestone require Schnorrkel threshold signature issue https://github.com/w | 4.0 | Gluon TeaLeaf | Executor find pinners and organize them to multisign tx individually | | 4.1 | Gluon TeaLeaf | Executor verify and aggregates signatures. Send the P2 signatures to test net | | 5.0 | Layer 1 | Settle payment distribution | - + ### Milestone 5 - Migrate to real hardware and test on Polkadot + * **Estimated Duration:** 4 Weeks * **FTE** 2.5 FTE * **Cost:** 5.6k USD @@ -359,13 +374,13 @@ This milestone require Schnorrkel threshold signature issue https://github.com/w Gluon will be a full-featured demo application for the TEA project once it is ready. So far, there are a few limitations that we are working on. -- Integrate with [Parsec](https://github.com/parallaxsecond/parsec). Parsec can be an abstract layer between TeaRuntime and security-related hardware. It makes TEA agnostic to different hardware platforms. It may increase the adaption of TEA. - - Besides DOT, we will all Polkadot ecosystem chains and other Schnorr signature compatible chains. - - We will retire our facade interface service and use off-chain workers instead. - - Besides hardware protection and Schnorr Multisig algorithm, we open eyes to SMPC and FHE algorithm such as BLS Signature Scheme. +* Integrate with [Parsec](https://github.com/parallaxsecond/parsec). Parsec can be an abstract layer between TeaRuntime and security-related hardware. It makes TEA agnostic to different hardware platforms. It may increase the adaption of TEA. +* Besides DOT, we will all Polkadot ecosystem chains and other Schnorr signature compatible chains. +* We will retire our facade interface service and use off-chain workers instead. +* Besides hardware protection and Schnorr Multisig algorithm, we open eyes to SMPC and FHE algorithm such as BLS Signature Scheme. Most items in this to-do list are part of the TEA Project plan. When TEA is ready, most of the features will be available too. ## Additional Information :heavy_plus_sign: -We started the TEA project in 2019. It has been under the radar until recently when it was released to the public. We believe the TEA project could grow large and become the backend service platform for a new type of dApps. These dApps can go beyond the limit of traditional blockchain technologies. Gluon is just one of the many possible demo apps. Once our honor gets granted, we will start looking for investors and hire a CEO and more developers to join us. We hope to maintain a long term and close relationship with the Polkadot community. +We started the TEA project in 2019. It has been under the radar until recently when it was released to the public. We believe the TEA project could grow large and become the backend service platform for a new type of dApps. These dApps can go beyond the limit of traditional blockchain technologies. Gluon is just one of the many possible demo apps. Once our honor gets granted, we will start looking for investors and hire a CEO and more developers to join us. We hope to maintain a long term and close relationship with the Polkadot community. diff --git a/applications/GreenLemon.md b/applications/GreenLemon.md index 5cc6b98d609..0ae0a06399a 100644 --- a/applications/GreenLemon.md +++ b/applications/GreenLemon.md @@ -1,6 +1,5 @@ -# W3F Grant Proposal +# Green Lemon -- **Project Name:** Green Lemon - **Team Name:** Green Lemon - **Payment Address:** 0xf4f463B9A0ADa68536423121e7Bf9E559ce54fAf(Ethereum ERC20 USDT) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 diff --git a/applications/Idavoll Network.md b/applications/Idavoll Network.md index a2610174b1a..f541b4a67bb 100644 --- a/applications/Idavoll Network.md +++ b/applications/Idavoll Network.md @@ -1,10 +1,9 @@ -# Open Grant Proposal +# Idavoll Network -* Project: Idavoll Network * Proposer: [jasonberger0](https://github.com/jasonberger0) * Payment Address: 1NNtuqwroKc9cMZdigpLdNLrzPKCp7zkXT -## Project Overview : +## Project Overview ### Overview @@ -22,30 +21,29 @@ Idavoll Network has a set of pallets to achive the management of DAOs: orgnaizat #### Transfer Assets -+ the Organization members initiate a proposal to transfer organizational assets through the Finance Module. The proposal is confirmed on the Vote Module and required to complete the voting results of the organization members within a certain period of time. The voting results are required to meet the asset transfer rules in the Finance Module. The approval votes are greater than the minimum approval votes. Only after the number and the number of negative votes are less than the limit of the maximum number of negative votes, can the proposed movement of asset transfer within the organization be realized through the Finance Module. +* the Organization members initiate a proposal to transfer organizational assets through the Finance Module. The proposal is confirmed on the Vote Module and required to complete the voting results of the organization members within a certain period of time. The voting results are required to meet the asset transfer rules in the Finance Module. The approval votes are greater than the minimum approval votes. Only after the number and the number of negative votes are less than the limit of the maximum number of negative votes, can the proposed movement of asset transfer within the organization be realized through the Finance Module. #### Snapshot Vote Decisions -+ We can combine the organization module, voting module and token module to implement the decision management process. Users can create any proposal (an easy-to-understand term that the proposal must follow) and initiate the voting process. All users holding the corresponding tokens can participate in the voting. The voting ends, the Idavoll Network will count the voting results of the voters according to the snapshot of the current blockchain state. The voting results will be used as a community consensus and will be permanently stored on the blockchain. +* We can combine the organization module, voting module and token module to implement the decision management process. Users can create any proposal (an easy-to-understand term that the proposal must follow) and initiate the voting process. All users holding the corresponding tokens can participate in the voting. The voting ends, the Idavoll Network will count the voting results of the voters according to the snapshot of the current blockchain state. The voting results will be used as a community consensus and will be permanently stored on the blockchain. ## Team :busts_in_silhouette: ### Team members -+ jasonberger0 -+ Dylan -+ kericfrank +* jasonberger0 +* Dylan +* kericfrank ### Team’s experience -+ jasonberger0 Over 10 years of experiences in Development and Management,real time database products and digital currency transaction platform products expert. Currently focused on Blockchain Development and Cross-chain Technologies. -+ Dylan holds a master degree from Tsinghua University. He has more than 10 years of experience inlarge-scale computing and algorithm, with many patents such as consensus algorithm and blockchain transaction. -+ kericfrank: 8+ years development experience, proficient in public chain and cross chain development, proficient in using go and rust, p2p network expert. - +* jasonberger0 Over 10 years of experiences in Development and Management,real time database products and digital currency transaction platform products expert. Currently focused on Blockchain Development and Cross-chain Technologies. +* Dylan holds a master degree from Tsinghua University. He has more than 10 years of experience inlarge-scale computing and algorithm, with many patents such as consensus algorithm and blockchain transaction. +* kericfrank: 8+ years development experience, proficient in public chain and cross chain development, proficient in using go and rust, p2p network expert. ### Team Code Repos -* https://github.com/idavollnetwork +* ## Development Roadmap :nut_and_bolt: @@ -75,6 +73,6 @@ In this milestone, We will implement Idavoll DAO proof-of-concept. ## Future Plans -+ we will provides a Dapp for everyone to interact with the Idovall network. +* we will provides a Dapp for everyone to interact with the Idovall network. -+ In the future, the Idavoll Network will add a court protocol to resolve subjective disputes with binary outcomes, combined with the use of IDV’s infrastructure, so that the DAOs can create proposal agreements that define the subjective constraints of organizational operations, and can be used by a minority of interests Stakeholder implementation. \ No newline at end of file +* In the future, the Idavoll Network will add a court protocol to resolve subjective disputes with binary outcomes, combined with the use of IDV’s infrastructure, so that the DAOs can create proposal agreements that define the subjective constraints of organizational operations, and can be used by a minority of interests Stakeholder implementation. diff --git a/applications/Integrating-ISO8583.md b/applications/Integrating-ISO8583.md index 16fc3066453..90b20d819d4 100644 --- a/applications/Integrating-ISO8583.md +++ b/applications/Integrating-ISO8583.md @@ -1,10 +1,9 @@ -# W3F Grant Proposal +# Integrating ISO-8583 > This document will be part of the terms and conditions of your agreement and therefore needs to contain all the required information about the project. Don't remove any of the mandatory parts presented in bold letters or as headlines! Lines starting with a `>` (such as this one) can be removed. > > See the [Grants Program Process](https://github.com/w3f/Grants-Program/#pencil-process) on how to submit a proposal. -- **Project Name:** Integrating ISO-8583 - **Team Name:** Stardust Labs Inc. - **Payment Address:** 0xF3d5F194D9eF961a85a4d5be05EFda7B2B33005d (DAI, Ethereum Mainet) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 @@ -25,28 +24,29 @@ Supporting international standards would smooth the connection between crypto an - An indication of why your team is interested in creating this project. -I've built credit card infrastructure before during my role as an analyst at Capital One and believe I can bring some experience from traditional finance to this problem. At the very least I can call out the details and complex logistics that others without might miss. +I've built credit card infrastructure before during my role as an analyst at Capital One and believe I can bring some experience from traditional finance to this problem. At the very least I can call out the details and complex logistics that others without might miss. ### Project Details [ISO-8583](https://en.wikipedia.org/wiki/ISO_8583) is the international standard for card based payments and transactions. It's used everywhere from ATMs to Merchant point of sale terminals. Supporting international standards could help smooth the connection between crypto and traditional financial institutions. [Further simplifying matters is](https://crates.io/crates/iso8583) [that several rust crates exist](https://github.com/rkbalgi/iso8583_rs) [supporting the packing and unpacking of ISO-8583 data streams.](https://docs.rs/i8583/latest/i8583/) At first glance, it seems like one could easily just integrate these packages to achieve the goals of the RFP, namely: + - (Java) APIs or packages that make it possible for the traditional finance industry to integrate a substrate-based ISO 8583 solution into their existing tech stack. - Proof of concepts, potentially leveraging the unique [Off-Chain Features of Substrate](https://docs.substrate.io/v3/concepts/off-chain-features/) that show the advantages of using ISO 8583 together with Substrate. -- Efficient on-chain representation of the ISO 8583 syntax +- Efficient on-chain representation of the ISO 8583 syntax Unfortunately, the logistics of actually implementing ISO-8583 compliant infrastructure on blockchains is unintuitvely complex. At a minimum, 3 major issues exist that must be addressed. **Security** -ISO-8583 datastreams [reveal far too much information to ever be publically exposed](https://neapay.com/post/iso8583-atm-pos-crypto-api-integration-coinbase-binance_102.html). Here neapay proposes using ISO-8583 to connect to Coinbase to purchase crypto. However you can see that once the datastream is unpacked, the user's financial details are immediately revealed. Unpacking data is a trivial process that has no security, ISO-8583 data is not encrypted. Of note is the exposed primary account number (F02_PAN: 9876 5000 0030 6082). Most people would recognize this number faster as their credit card number. While it is possible, and implemented in practice, to transfer the data securely between two, trusted centralized servers using [Diffie Hellman key exchange](https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange), research is needed to construct a way to place ISO-8583 data on-chain securely, if it is even possible. There are also laws about retaining this information for a fixed period of time, for example, [Minnesota, a US state mandates that this information is deleted within 48 hours of reciept](https://www.revisor.mn.gov/statutes/cite/325E.64) which is at odds with the enduring, provable structure of a blockchain. +ISO-8583 datastreams [reveal far too much information to ever be publically exposed](https://neapay.com/post/iso8583-atm-pos-crypto-api-integration-coinbase-binance_102.html). Here neapay proposes using ISO-8583 to connect to Coinbase to purchase crypto. However you can see that once the datastream is unpacked, the user's financial details are immediately revealed. Unpacking data is a trivial process that has no security, ISO-8583 data is not encrypted. Of note is the exposed primary account number (F02_PAN: 9876 5000 0030 6082). Most people would recognize this number faster as their credit card number. While it is possible, and implemented in practice, to transfer the data securely between two, trusted centralized servers using [Diffie Hellman key exchange](https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange), research is needed to construct a way to place ISO-8583 data on-chain securely, if it is even possible. There are also laws about retaining this information for a fixed period of time, for example, [Minnesota, a US state mandates that this information is deleted within 48 hours of reciept](https://www.revisor.mn.gov/statutes/cite/325E.64) which is at odds with the enduring, provable structure of a blockchain. **Transaction Reversals** -Outside of simple purchases, one of the most common messages communicated over ISO-8583 are [chargebacks.](https://en.wikipedia.org/wiki/Chargeback) [About 0.6% of all transactions are ultimately recalled, though it varies by industry.](https://shiftprocessing.com/chargeback-statistics/) ISO-8583 was designed to handle this process seamlessly and has a reserved MTI code for all chargebacks and reversals (x4xx). Unfortunately, modern blockchains by design are irreversible. From the original [introduction of Satoshi Nakamoto's white paper](https://bitcoin.org/bitcoin.pdf). +Outside of simple purchases, one of the most common messages communicated over ISO-8583 are [chargebacks.](https://en.wikipedia.org/wiki/Chargeback) [About 0.6% of all transactions are ultimately recalled, though it varies by industry.](https://shiftprocessing.com/chargeback-statistics/) ISO-8583 was designed to handle this process seamlessly and has a reserved MTI code for all chargebacks and reversals (x4xx). Unfortunately, modern blockchains by design are irreversible. From the original [introduction of Satoshi Nakamoto's white paper](https://bitcoin.org/bitcoin.pdf). > While the system (traditional finance) works well enough for most transactions, it still suffers from the inherent weaknesses of the trust based model. Completely non-reversible transactions are not really possible, since financial institutions cannot avoid mediating disputes. The cost of mediation increases transaction costs, limiting the minimum practical transaction size and cutting off the possibility for small casual transactions, and there is a broader cost in the loss of ability to make non-reversible payments for nonreversible services. With the possibility of reversal, the need for trust spreads. Supporting ISO-8583 functionality would require building a new token standard, or making changes to the operation of the blockchain to allow reversible transactions. A solution highlighted in the original bitcoin white paper is automatic escrow accounts, but research would be needed to identify the best way to implement these accounts or if there are better solutions. - + **Authorizations and Privilages** This leads to another major challenge. In traditional banking, the users are not equal. Certain entites such as the issuing bank or network can make decisions unilaterally without recourse. An example of this would be the aforementioned chargeback or transaction reversals which can be performed by the issuing bank or network for any reason. Blockchains operate on an equivalent peer model, and it is an open question as to how to authorize a super user and who should maintain super user priviliages over the entire network. @@ -66,7 +66,7 @@ Supporting international standards would smooth the connection between crypto an - **Contact Name:** Adit Patel - **Contact Email:** adit.patel@stardustfunds.com -- **Website:** https://stardust.finance/ +- **Website:** ### Legal Structure @@ -78,15 +78,15 @@ Adit is a technical expert on cryptography, distributed ledgers, financial marke ### Team Code Repos -- https://github.com/adit313/ +- ### Team LinkedIn Profiles (if available) -- https://www.linkedin.com/in/adit-patel/ +- ## Development Status :open_book: -- link to RFP: https://github.com/w3f/Grants-Program/blob/master/rfps/open/ISO_8583.md +- link to RFP: ## Development Roadmap :nut_and_bolt: diff --git a/applications/Interstellar-Network.md b/applications/Interstellar-Network.md index f1a0f0c9a7f..4e59242e617 100644 --- a/applications/Interstellar-Network.md +++ b/applications/Interstellar-Network.md @@ -1,81 +1,61 @@ -# W3F Grant Proposal - +# Interstellar - Wallet Phase 1 > > See the [Grants Program Process](https://github.com/w3f/Grants-Program/#pencil-process) on how to submit a proposal. -- **Project Name:** Interstellar - Wallet Phase 1 - **Team Name:** Interstellar - **Payment Address:** Ethereum - 0xc5C54DcD7b76b3B26ab4a02f191338F31aD732f6 (ETH) -- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 ## Project Overview :page_facing_up: - - ### Overview - “The blockchain ecosystem needs an easy to use interface with hardware wallet security to reach the mass market.” - + The main pain points of non-custodial wallet solutions still are: + - **User experience** [Can an easy to set-up wallet be an efficient customer acquisition tool for DeFi players?](https://medium.com/@jlleleu/can-be-an-easy-to-set-up-wallet-an-efficient-customer-acquisition-tool-for-defi-players-8600812fe01e) -- **Security** [Are cryptocurrency wallets more at risk than ever?](https://medium.com/@jlleleu/are-cryptocurrency-wallets-more-at-risk-than-ever-cf1ce9725de7) +- **Security** [Are cryptocurrency wallets more at risk than ever?](https://medium.com/@jlleleu/are-cryptocurrency-wallets-more-at-risk-than-ever-cf1ce9725de7) > We think that current wallet solutions slow down the DeFi adoption. - Interstellar is a novel non-custodial peace of mind mobile wallet with a hardware security level. Based on a Substrate blockchain and SubstraTEE/IntegriTEE workers. **We can now provide the same hardware security level as hardware wallets with only a mobile and a blockchain** ![Grant-Scheme-White (1)](https://user-images.githubusercontent.com/4605611/145108720-becb76be-6c16-46c8-af69-7e953e5a166d.png#gh-dark-mode-only) - - - ![Grant-Scheme-Black (3)](https://user-images.githubusercontent.com/4605611/145108818-6f8b6158-6c27-4f0d-a104-9d2469c73636.png#gh-light-mode-only) - - **Thanks to Trusted User Interface TUI on mobile and Trusted Execution Environment on both mobile and blockchain nodes** Because TUI is not yet avalaible on all mobile devices we use a Garbled Circuit/Visual Cryptography scheme which provides an alternative that will be complementary down the road to mitigate potential flaws in TUI. - - - ![Iphone-Android-TUI-White (1)](https://user-images.githubusercontent.com/4605611/145201585-5d106219-e51e-44d3-8c1b-95fe99e71455.png#gh-dark-mode-only) ![Iphone-Android-TUI-Black (1)](https://user-images.githubusercontent.com/4605611/145201886-30bafb07-fc1c-4dc0-acf9-f0e9f163fa66.png#gh-light-mode-only) +#### Features - - - - -#### Features: - **Hardware security Level** - TEE on nodes and mobiles (incl. TUI), garbled circuits and visual cryptography secure interface - **Just download an app** - no registration, PIN, password, passphrase, private key or any secret to store or remember - **Multichain Wallet** - securely store and interact with native cryptocurrency coins and tokens from multiple blockchains - **Confirm a transaction with ONLY ONE SCREEN** - no SMS to wait for, no additional 2FA app to use, no QR code to scan -- **Up to 1,000,000 tps** - no tps limit due to slow consensus, thanks to IntegriTEE layer 2 based on hardware enclave technology -- **Social Recovery Service** - leverages the existing Substrate pallet and a novel decentralized autonomous recovery service +- **Up to 1,000,000 tps** - no tps limit due to slow consensus, thanks to IntegriTEE layer 2 based on hardware enclave technology +- **Social Recovery Service** - leverages the existing Substrate pallet and a novel decentralized autonomous recovery service + > We hope that we will be able to provide a response to the related RFP in the following phases -- **Features to securely send coins with social network messages (even to persons with no-wallet)** - explained in [Can an easy to set-up wallet be an efficient customer acquisition tool for DeFi players?](https://medium.com/@jlleleu/can-be-an-easy-to-set-up-wallet-an-efficient-customer-acquisition-tool-for-defi-players-8600812fe01e) +- **Features to securely send coins with social network messages (even to persons with no-wallet)** - explained in [Can an easy to set-up wallet be an efficient customer acquisition tool for DeFi players?](https://medium.com/@jlleleu/can-be-an-easy-to-set-up-wallet-an-efficient-customer-acquisition-tool-for-defi-players-8600812fe01e) -#### Our solution is designed to support blockchain and DeFi mass market adoption with: +#### Our solution is designed to support blockchain and DeFi mass market adoption with - **A decentralized key & asset management service** where the user’s privates keys and signature programs are stored and executed in TEE nodes - **A decentralized Trusted Transaction Validation protocol** that leverages TEE and TUI features on mobile, combined with One Time Garbled Circuits and Visual Cryptography to provide a **Trusted Authentication and Trusted UI layer** on user devices - - - - -The **Interstellar - Wallet Phase 1** W3F Grant Proposal focuses on two of the core components of the Interstellar solution: +The **Interstellar - Wallet Phase 1** W3F Grant Proposal focuses on two of the core components of the Interstellar solution: - A Substrate Off-Chain Worker OCW Garbled Circuit Factory GCF to manage an external garbled circuit generator service (designed to be used by Substrate developers regardless of the Interstellar solution) - An implementation of the Trusted Transaction Validation protocol in Substrate pallets to demonstrate the usage of GCF within a Substrate framework and with a mobile Garbled Circuit evaluator client @@ -87,22 +67,18 @@ Following are other use cases of the Garbled Circuit Factory: - Proof of history of legitimate computation with reusable Garbled Circuit (Interstellar ongoing research: Detection of adverse code execution during short transaction sessions - work in progress) - Post Quantum encryption and signature scheme implementations (NIST candidate examples) - ### Project Details - #### [Detailed documentation](https://docs.google.com/document/d/1RTPx4EeA0Ek33f-8_Dj7p-qjzBp6VqLrrXNhIrwvFWI/edit?usp=sharing) on the project - **OCW Garbled Circuit Factory** - **Transaction Validation protocol pallets (including mobile registry)** - **Transaction Validation Screen Technology (Trusted/Secure UI)** - - **Mobile client GC evaluator** - - - + - **Mobile client GC evaluator** #### Garbled Circuit Factory **previous work** -The team has already developed a strong authentication solution with circuits based on JustGarble implementation https://cseweb.ucsd.edu/groups/justgarble/ that we customized with Free XOR and Half Gates and other specific improvements for our needs (pre-computation of our Visual Cryptography Circuits). + +The team has already developed a strong authentication solution with circuits based on JustGarble implementation that we customized with Free XOR and Half Gates and other specific improvements for our needs (pre-computation of our Visual Cryptography Circuits). We achieved a production ready platform with significant performance on the logic circuit and garbled circuit production with AES-NI. The whole pipeline uses optimized memory management and avoids serialization/deserialization of the different circuit formats: HDL->non-garbled->garbled. ------------ @@ -114,18 +90,16 @@ We achieved a production ready platform with significant performance on the logi 4 circuits_per_hour : 639975 ``` - ![1844c95c-1b74-4987-8466-4ba14da41ff3 (Custom)](https://user-images.githubusercontent.com/4605611/141327055-ea10f548-d6d2-4b1a-af2e-a059f2f67673.png) - - ``` 5,65 ms per circuits on a Processor 11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz, 2304 Mhz, 8 Core(s), 16 Logical Processor(s) ``` - -------------------------- + #### Technology stack + - VHDL - C/C++ - Java/Kotlin/Swift @@ -133,12 +107,6 @@ We achieved a production ready platform with significant performance on the logi - Rust/Substrate - IPFS - - - - - - ### Ecosystem Fit > Where and how does your project fit into the ecosystem? @@ -146,15 +114,10 @@ We achieved a production ready platform with significant performance on the logi This project is the first phase of a wallet project. Although, we think that our Trusted Transaction Validation protocol could bring a novel approach to address UX/UI security issues regardless of other features of our frictionless wallet. We designed our validation transaction protocol to benefit to other wallets or Dapps. We think it could also be complementary down the road to mobile light clients like Substrate Connect (check **Future Plans** section). - - ![TTV overview overview drawio](https://user-images.githubusercontent.com/4605611/144742049-54d3a212-b471-4a69-9f44-adfb150814ca.png#gh-light-mode-only) - ![TTV overview overview dark drawio](https://user-images.githubusercontent.com/4605611/144738926-e6f0db47-f7ff-4382-ae5d-251420e23a61.png#gh-dark-mode-only) - - >Who is your target audience (parachain/dapp/wallet/UI developers, designers, your own user base, some dapp's userbase, yourself)? We want to target Dapp providers in the DeFi ecosystem with developer tools to integrate our solution with their Dapps. We think that our value proposition should be attractive to them. @@ -167,14 +130,13 @@ The need for a wallet to be simpler to set-up and use, as well as the need for h Math Wallet and Gluon are close to our solution. -We think that we could bring a better user experience, security and performance, thanks to a highly scalable layer 2 based on SubstraTEE: +We think that we could bring a better user experience, security and performance, thanks to a highly scalable layer 2 based on SubstraTEE: - Math Wallet is based on MPC that requires heavier computation resources. They also envision smartcards with a screen for their users. It's comparable to our level of security, but more expensive, cumbersome to use, less flexible and more complex to deploy than our solution. - + - Gluon QR code based transaction confirmation that requires 2 screens is more cumbersome for the user. Moreover, this scheme is already exposed to banking trojans with overlay capabilities*. Although their TPM based approach could be complementary down the road to TEE, to mitigate potential future flaws on Intel SGX. -> *see: A high level attack description on solutions that use QR code for transaction confirmations [Are cryptocurrency wallets more at risk than ever?](https://medium.com/@jlleleu/are-cryptocurrency-wallets-more-at-risk-than-ever-cf1ce9725de7) - +> *see: A high level attack description on solutions that use QR code for transaction confirmations [Are cryptocurrency wallets more at risk than ever?](https://medium.com/@jlleleu/are-cryptocurrency-wallets-more-at-risk-than-ever-cf1ce9725de7) ## Team :busts_in_silhouette: @@ -189,12 +151,11 @@ We think that we could bring a better user experience, security and performance, - Aude Bourdouxhe - Philippe Salats (advisor) - ### Contact - **Contact Name:** Jean-Luc Leleu - **Contact Email:** jeanluc.leleu@protonmail.com -- **Website:** https://www.interstellar.gg/ +- **Website:** ### Legal Structure @@ -202,33 +163,30 @@ We think that we could bring a better user experience, security and performance, - **Registered Legal Entity:** N/A - we are still in the process of establishing a legal entity. ### Team's experience + [Team deck](https://docs.google.com/presentation/d/1AuM5YO4ysFqoj3uquQ46NJIprDSaALZrqUqAef-ITns/edit?usp=sharing) We are now multiple security and fintech entrepreneurs, security researchers, patents fillers who turned open-source developers and blockchain enthusiasts. ### Team Code Repos -- https://github.com/Interstellar-Network - -- https://github.com/nathanprat +- +- ### Team LinkedIn Profiles (if available) -- https://www.linkedin.com/in/jlleleu/ Jean-Luc Leleu +- Jean-Luc Leleu -- https://www.linkedin.com/in/nathan-prat/ Nathan Part - -- https://www.linkedin.com/in/eliotjfl/ Eliot Leleu - -- https://www.linkedin.com/in/jlhoenen/ Jean-Louis Hoenen +- Nathan Part -- https://www.linkedin.com/in/aude-bourdouxhe-40656b28/ Aude Bourdouxhe - -- https://www.linkedin.com/in/philippesalats/ Philippe Salats (advisor) +- Eliot Leleu +- Jean-Louis Hoenen +- Aude Bourdouxhe +- Philippe Salats (advisor) ## Development Roadmap :nut_and_bolt: @@ -253,11 +211,8 @@ We are now multiple security and fintech entrepreneurs, security researchers, p | 0e. | Article | We will publish an **article**/workshop that explains what was done/achieved as part of the grant. (Content, language and medium should reflect your target audience described above.) | | 1. | GCF Substrate Interface | GCF external service interface to interact with the following Substrate modules and IPFS. | | 2. | Substrate module: GCF CFG | We will create a Substrate GCF configuration pallet that will store GCF encrypted configuration information on chain (including cid of master circuit file, master key and other security parameter to ensure security of circuit production. | -| 3. | Substrate GCF CFG CLI| A CLI to set-up GCF configuration pallet. | +| 3. | Substrate GCF CFG CLI| A CLI to set-up GCF configuration pallet. | | 4. | Substrate module: OCW GCF | We will create an OCW pallet that will control and interact with GCF external service - Launch GC production and get resulted GC cid on IPFS. | - - - ### Milestone 2 — GC Management in Substrate modules and Transaction Validation protocol use case (first part) @@ -274,7 +229,7 @@ We are now multiple security and fintech entrepreneurs, security researchers, p | 0e. | Article | We will publish an **article**/workshop that explains what was done/achieved as part of the grant. (Content, language and medium should reflect your target audience described above.) | | 1. | Substrate module OCW GCP | We will create an OCW GC provider to interact with a GC evaluator/IPFS client. | | 2. | Substrate module: Authenticator| We will create a Substrate Authenticator pallet that will implement the Transaction Validation protocol to manage GC evaluator and IPFS client.| -| 3. | Substrate GCP CLI| A CLI to request GC cid for evaluation. | +| 3. | Substrate GCP CLI| A CLI to request GC cid for evaluation. | ### Milestone 3 — Transaction Validation protocol with mobile use case (second part) @@ -309,8 +264,6 @@ We are now multiple security and fintech entrepreneurs, security researchers, p | 1. | Substrate modules Authenticator port in TEE | We will migrate Authenticator in SubstraTEE/IntegriTEE workers. | | 2. | Substrate module Mobile Registry port in TEE | We will migrate a part of the Mobile Registry pallet in SubstraTEE/IntegriTEE workers. | - - ### Milestone 5 — GCF in TEE - **Estimated Duration:** 1 month @@ -324,14 +277,10 @@ We are now multiple security and fintech entrepreneurs, security researchers, p | 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | | 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | | 0e. | Article | We will publish an **article**/workshop that explains what was done/achieved as part of the grant. (Content, language and medium should reflect your target audience described above.) | -| 1. | GCF external service in TEE | We will migrate GCF service in TEE/Intel SGX with Asylo framework. | - - +| 1. | GCF external service in TEE | We will migrate GCF service in TEE/Intel SGX with Asylo framework. | ## Future Plans - - >How we intend to use, enhance, promote and support your project in the short term: - We aim to create a user community and get in talks with Dapp and especially DeFi players with a tailored value proposition for them @@ -339,7 +288,6 @@ We are now multiple security and fintech entrepreneurs, security researchers, p - Continuous Liquidity Pool (native cross-chain swaps) - Seignorage - Quadratic Voting - - Wallet MVP launch with basic features including Social Recovery and Key management service (potential following grant application submissions) @@ -353,18 +301,15 @@ We are now multiple security and fintech entrepreneurs, security researchers, p - Bounty to crack our transaction validation protocol when both Android protected confirmation and detection of adverse code execution will be deployed - - Continuous Liquidity Pool (like THORChain but with higher security and performance that leverages TEE/MPC/TTS + Trusted Transaction Validation protocol with multisig options (mobiles + yubikey) for validators and large liquidity owners - - - Seignorage mechanism by creating synthetic assets (like UST on the Terra blockchain) - - - Quadratic Voting/Funding features to incentivize the CLP and Seignorage functions and address potential future use cases +- Continuous Liquidity Pool (like THORChain but with higher security and performance that leverages TEE/MPC/TTS + Trusted Transaction Validation protocol with multisig options (mobiles + yubikey) for validators and large liquidity owners ->The team's long-term plans and intentions in relation to it. +- Seignorage mechanism by creating synthetic assets (like UST on the Terra blockchain) +- Quadratic Voting/Funding features to incentivize the CLP and Seignorage functions and address potential future use cases -- Include a TEE layer 2 to manage a Root of trust based on full HSM hardware (with YubiHSM type of solution) to provide a 3 tier distributed HSM capability - +>The team's long-term plans and intentions in relation to it. +- Include a TEE layer 2 to manage a Root of trust based on full HSM hardware (with YubiHSM type of solution) to provide a 3 tier distributed HSM capability - Investigate potential integration with Substrate Connect to increase the security and flexibility of our solution with potential additional on-chain/off-chain data/features at mobile/browser level @@ -372,13 +317,14 @@ We are now multiple security and fintech entrepreneurs, security researchers, p ![3T DHSM overview dark drawio](https://user-images.githubusercontent.com/4605611/144741651-ff9f0bb0-91cb-4b76-8f0e-097395303723.png#gh-dark-mode-only) - - Research on other human brain decryption capabilities (like Visual Cryptography, Audio Cryptography, etc...): the long term goal is to increase our capabilities to differentiate bots with IA capabilities from real humans ([Review of the use of human senses and capabilities in cryptography](https://www.sciencedirect.com/science/article/pii/S1574013720304408)) ## Additional Information :heavy_plus_sign: -> **How did you hear about the Grants Program?** +> **How did you hear about the Grants Program?** + - We are following the Polkadot ecosystem since its early stage + > Others -- We have just started a conversation with a team working in stealth mode on a massive blockchain project that is interested in our solution +- We have just started a conversation with a team working in stealth mode on a massive blockchain project that is interested in our solution diff --git a/applications/InvArch.md b/applications/InvArch.md index c173df52d27..390fb99f974 100644 --- a/applications/InvArch.md +++ b/applications/InvArch.md @@ -1,22 +1,23 @@ -# W3F Grant Proposal +# The InvArch - INV4 Frame : IP Assets, Licensings, & CLI tool for the Substate ecosystem. -* **Project Name:** The InvArch - INV4 Frame : IP Assets, Licensings, & CLI tool for the Substate ecosystem. -* **Team Name:** InvArch Network -* **BTC Payment Address:** bc1qr2wg0snstgn4d2wc0alhhyxs32j58hhdrh5zal (PLEASE NOTE CHANGE) -* **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 +- **Team Name:** InvArch Network +- **BTC Payment Address:** bc1qr2wg0snstgn4d2wc0alhhyxs32j58hhdrh5zal (PLEASE NOTE CHANGE) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 ## Project Overview :page_facing_up: ### Overview -* The InvArch Network is the cross-chain IP development & authentication hub built on Polkadot. InvArch provides a proven & validated "best-to-market" -environment for IP Assets & dApps, where as the InvArch Tinkernet provides a "first-to-market" bleeding-edge environment on Kusama for testing. +- The InvArch Network is the cross-chain IP development & authentication hub built on Polkadot. InvArch provides a proven & validated "best-to-market" +environment for IP Assets & dApps, where as the InvArch Tinkernet provides a "first-to-market" bleeding-edge environment on Kusama for testing. The Eureka Relay is envisioned for future scaling improvements. -### The InvArch Network is powered by the INV4, On-Chain Innovation Funding (OCIF), & Cross-Chain Authentication (XCA) protocols. -* INV4 is responsible for defining how IP Assets are defined, stored, & interacted with across Web3. -* OCIF harnesses new & transparent funding possibilities to direct wealth towards the incentivization of realizing IP & unlocking true value. -* XCA unlocks the power of a trustless XC file tracking & data fingerprinting solution that realizes files just as uniquely as NFTs do with CIDs. +### The InvArch Network is powered by the INV4, On-Chain Innovation Funding (OCIF), & Cross-Chain Authentication (XCA) protocols + +- INV4 is responsible for defining how IP Assets are defined, stored, & interacted with across Web3. + +- OCIF harnesses new & transparent funding possibilities to direct wealth towards the incentivization of realizing IP & unlocking true value. +- XCA unlocks the power of a trustless XC file tracking & data fingerprinting solution that realizes files just as uniquely as NFTs do with CIDs. Under this grant, the [InvArch INV4 FRAME](https://github.com/InvArch/InvArch-Frames/tree/main/INV4) will be released & maintained by the InvArch Network team. The INV4 FRAME is a Rust Pallet Module for Substrate-based chains that realizes the INV4 protocol, and as a result, the possibility for @@ -30,29 +31,32 @@ mission. We have also held many exciting discussions with other Parachain teams ### Project Details -* [InvArch Website](https://invarch.network/) -* [InvArch EduSeries 1 (Background)](https://invarch.medium.com/invarch-eduseries-1-the-i-p-war-zone-innovation-graveyard-we-live-in-1f11ded41b5f) -* [InvArch EduSeries 2 (IPS & IPF)](https://invarch.medium.com/invarch-eduseries-2-blockchains-bright-light-a-shining-future-for-ip-rights-164b7a4eaba5) -* [InvArch EduSeries 3 (IP License)](https://invarch.medium.com/invarch-eduseries-3-web3s-super-highway-the-future-of-transporting-ip-rights-ce1368800927) -* [InvArch EduSeries 4 (IPT & SIPA)](https://invarch.medium.com/invarch-eduseries-4-the-sipa-revolution-a-new-golden-age-for-innovation-3e90aed4a57) +- [InvArch Website](https://invarch.network/) +- [InvArch EduSeries 1 (Background)](https://invarch.medium.com/invarch-eduseries-1-the-i-p-war-zone-innovation-graveyard-we-live-in-1f11ded41b5f) +- [InvArch EduSeries 2 (IPS & IPF)](https://invarch.medium.com/invarch-eduseries-2-blockchains-bright-light-a-shining-future-for-ip-rights-164b7a4eaba5) +- [InvArch EduSeries 3 (IP License)](https://invarch.medium.com/invarch-eduseries-3-web3s-super-highway-the-future-of-transporting-ip-rights-ce1368800927) +- [InvArch EduSeries 4 (IPT & SIPA)](https://invarch.medium.com/invarch-eduseries-4-the-sipa-revolution-a-new-golden-age-for-innovation-3e90aed4a57) -
          - +
          +
          -### InvArch approaches ideas (IP) as a set of non-fungible components: The INV4 Protocol -* IP Sets - Either a Root or Parent IP Set, and/or a Child Subset (collections) of interchangeable & freely composable IP Files & NFTs. -* IP Files - NFT-based files that which can emulate or contain any content or data as found as any other file on the internet & local devices. -* IP Licenses - On-chain Licensing agreements pegged to an IP Set that can be used to allocate ownership, manage custom access, & define utility. -* IP Tokens - Fungible tokens pegged to an IP Set & managed using an IP License; multiple unique classes of IP Tokens can be pegged to the same IP Set. +### InvArch approaches ideas (IP) as a set of non-fungible components: The INV4 Protocol + +- IP Sets - Either a Root or Parent IP Set, and/or a Child Subset (collections) of interchangeable & freely composable IP Files & NFTs. -* When interacting with `Pallet_ips` users can call the following functions `create_ips`, `destroy`, `append`, `remove`, `Allow_replica`, `Disallow_replica`, & `Create_replica`. -* When interacting with `Pallet_ipf` users can call the following functions: `mint` & `burn`. -* When interacting with `Pallet_ipl` users can call the following functions: `set_asset_weight` & `set_permission`. -* When interacting with `Pallet_ipt` users can call the following functions: `mint`, `burn`, `create_subasset`, `operate_multisig`, `vote_multisig`, `withdraw_vote_multisig`, `burn`. -* While some hidden functions are only callable by the actual Pallets in the INV4 FRAME themselves. +- IP Files - NFT-based files that which can emulate or contain any content or data as found as any other file on the internet & local devices. +- IP Licenses - On-chain Licensing agreements pegged to an IP Set that can be used to allocate ownership, manage custom access, & define utility. +- IP Tokens - Fungible tokens pegged to an IP Set & managed using an IP License; multiple unique classes of IP Tokens can be pegged to the same IP Set. + +- When interacting with `Pallet_ips` users can call the following functions `create_ips`, `destroy`, `append`, `remove`, `Allow_replica`, `Disallow_replica`, & `Create_replica`. +- When interacting with `Pallet_ipf` users can call the following functions: `mint` & `burn`. +- When interacting with `Pallet_ipl` users can call the following functions: `set_asset_weight` & `set_permission`. +- When interacting with `Pallet_ipt` users can call the following functions: `mint`, `burn`, `create_subasset`, `operate_multisig`, `vote_multisig`, `withdraw_vote_multisig`, `burn`. +- While some hidden functions are only callable by the actual Pallets in the INV4 FRAME themselves. ### Technologies + 1. Rust 2. Substrate 3. Polkadot.js @@ -62,135 +66,148 @@ mission. We have also held many exciting discussions with other Parachain teams ### InvArch INV4 FRAME ### 1. IP Sets & IP Files -* `Pallet_ips` - Provides basic functionality for creating and managing an `IPSet`. You can think of an `IPSet` as an idea, which is basically a collection of components (intellectual property tokens) that define and describe that idea. -* `Pallet_ipf` - Provides basic functionality for creating and managing an `IPToken`. You can think of an `IPToken` as a component of an idea. For example, a business summary PDF file, or even a 3D rendering of a prototype mold. When combined and stored in an `IPSet`, that collection forms the foundtion for an idea. The more detailed and/or comprehensive an `IPSet` is, the stronger the idea. -
          - +- `Pallet_ips` - Provides basic functionality for creating and managing an `IPSet`. You can think of an `IPSet` as an idea, which is basically a collection of components (intellectual property tokens) that define and describe that idea. + +- `Pallet_ipf` - Provides basic functionality for creating and managing an `IPToken`. You can think of an `IPToken` as a component of an idea. For example, a business summary PDF file, or even a 3D rendering of a prototype mold. When combined and stored in an `IPSet`, that collection forms the foundtion for an idea. The more detailed and/or comprehensive an `IPSet` is, the stronger the idea. + +
          +
          ### 2. IP Licenses & Tokens -* `Pallet_dev` - Provides basic functionality for structuring, managing, and listing a `DEV`(Decentralized Entrepreneurial Venture). You can think of a `DEV` as an agreement between multiple parties to come together as cofounders over a project in order to contribute towards an `IPSet`'s actualization. -* `Pallet_dao` - Provides basic functionality for creating and managing a `DAO` that helps govern a `DEV`. You can think of a `DAO` as a `DEV`'s governance mechanism. It helps regulate the and ensure the integrity and prudence of participants within a `DEV`. -* `Pallet_worklog` - Provides basic functionality for creating and managing a `WorkLog` within a `DEV`. You can think of a `Worklog` as a `DEV`'s method of recording and storing milestone/deliverables progressions and completions. -
          - +- `Pallet_dev` - Provides basic functionality for structuring, managing, and listing a `DEV`(Decentralized Entrepreneurial Venture). You can think of a `DEV` as an agreement between multiple parties to come together as cofounders over a project in order to contribute towards an `IPSet`'s actualization. + +- `Pallet_dao` - Provides basic functionality for creating and managing a `DAO` that helps govern a `DEV`. You can think of a `DAO` as a `DEV`'s governance mechanism. It helps regulate the and ensure the integrity and prudence of participants within a `DEV`. +- `Pallet_worklog` - Provides basic functionality for creating and managing a `WorkLog` within a `DEV`. You can think of a `Worklog` as a `DEV`'s method of recording and storing milestone/deliverables progressions and completions. + +
          +
          -* Ownership can be fractionalized using multiple pegged fungible assets representing ownership (ARO). An ARO is (typically) reflected in the first IP Token (IPT) attached to an IP Set. The asset ID of an ARO is defined in a copyright ownership agreement, and there can be multiples of these fungible assets. +- Ownership can be fractionalized using multiple pegged fungible assets representing ownership (ARO). An ARO is (typically) reflected in the first IP Token (IPT) attached to an IP Set. The asset ID of an ARO is defined in a copyright ownership agreement, and there can be multiples of these fungible assets. ### Ecosystem Fit -:link: **Chains and Pallets**
          +:link: **Chains and Pallets**
          InvArch applies the categories below: -* NFT -* Governance/DAO -* Other (IP Assets) + +- NFT +- Governance/DAO +- Other (IP Assets) ### Project Uniqueness -* The world's first truly composable network for fully unlocking IP assets & on-chain IP attribution solution (that is flexible for its assets to experience international compliance in business, copyright, & legal transactions. InvArch revolutionizes the world of innovation beginning at the very start of development & pushes the bounds of web3 by taking existing concepts & challenging them to be different and better. By unlocking new doors & redefining what’s possible, InvArch will revolutionize the worlds of technical development & real-world collaboration down to their very core. + +- The world's first truly composable network for fully unlocking IP assets & on-chain IP attribution solution (that is flexible for its assets to experience international compliance in business, copyright, & legal transactions. InvArch revolutionizes the world of innovation beginning at the very start of development & pushes the bounds of web3 by taking existing concepts & challenging them to be different and better. By unlocking new doors & redefining what’s possible, InvArch will revolutionize the worlds of technical development & real-world collaboration down to their very core. ### Target Audience -* Entrepreneurs/Innovators -* Developers/DAOs/Artists -* Educators/Researchers -* Philanthropists + +- Entrepreneurs/Innovators + +- Developers/DAOs/Artists +- Educators/Researchers +- Philanthropists ### Problem Addressed -* On-chain IP attribution (Achieved with this grant proposal). -* International flexibility for compliance (Achieved with this grant proposal). -* Barriers of access to startup capital. (OCIF Protocol) -* On-chain donations for access & transparency. (OCIF Protocol) -* File piracy & inability to securely expose data. (XCA Protocol) + +- On-chain IP attribution (Achieved with this grant proposal). + +- International flexibility for compliance (Achieved with this grant proposal). +- Barriers of access to startup capital. (OCIF Protocol) +- On-chain donations for access & transparency. (OCIF Protocol) +- File piracy & inability to securely expose data. (XCA Protocol) ## Team :busts_in_silhouette: -### Team members +### Team members + (Development & Engineers) -* [Dakota Barnett](https://www.linkedin.com/in/xcastronaut) - Founder & Head of Development -* [Gabriel Facco de Arruda](https://github.com/arrudagates) - Co-Founder & Head of Technology Development -* [Kresna Sucandra](https://github.com/SHA888) - Co-Founder & Head of Protocol Development -* [Mindaugas Savickas](https://www.linkedin.com/in/savickas) - Co-Founder & Head of Ecosystem Development -* [Matheus Braña Iannuzzi Baliones](https://github.com/S0raWasTaken) - Rust Core Engineer +- [Dakota Barnett](https://www.linkedin.com/in/xcastronaut) - Founder & Head of Development +- [Gabriel Facco de Arruda](https://github.com/arrudagates) - Co-Founder & Head of Technology Development +- [Kresna Sucandra](https://github.com/SHA888) - Co-Founder & Head of Protocol Development +- [Mindaugas Savickas](https://www.linkedin.com/in/savickas) - Co-Founder & Head of Ecosystem Development +- [Matheus Braña Iannuzzi Baliones](https://github.com/S0raWasTaken) - Rust Core Engineer -* [Brunk Škvorc](https://www.linkedin.com/in/swader) - Technical Advisor (Founder, RMRK) -* [Marvin Tong](https://twitter.com/marvin_tong) - Product Advisor (Founder, Phala Network) +- [Brunk Škvorc](https://www.linkedin.com/in/swader) - Technical Advisor (Founder, RMRK) +- [Marvin Tong](https://twitter.com/marvin_tong) - Product Advisor (Founder, Phala Network) ### Contact -* **Contact Name:** Dakota Barnett -* **Contact Email:** dakota@invarch.network -* **Website:** [https://invarch.network](https://www.invarch.network) +- **Contact Name:** Dakota Barnett +- **Contact Email:** dakota@invarch.network +- **Website:** [https://invarch.network](https://www.invarch.network) ### Legal Structure -The InvArch Association.
          -Baarerstrasse 86,
          -6300 Zug, Switzerland
          +The InvArch Association. + +Baarerstrasse 86, + +6300 Zug, Switzerland ### Founders' experiences -* [Dakota Barnett](https://www.linkedin.com/in/dakotasb97) has experience succesfully directing and leading multi-national teams, overseeing and directing -succesful project management strategies, and scaling large operations. He's a seasoned developer, programming in JavaScript (3yrs), Node.js (2yrs), +- [Dakota Barnett](https://www.linkedin.com/in/dakotasb97) has experience succesfully directing and leading multi-national teams, overseeing and directing +succesful project management strategies, and scaling large operations. He's a seasoned developer, programming in JavaScript (3yrs), Node.js (2yrs), React.js (2yrs), Python (2yrs), Rust (1yr), and the Substrate framework (1yr). Past work includes private projects for previous employers focused on machine learning, task automation, and website development. 💡 -* [Gabriel Facco de Arruda](https://github.com/arrudagates) has experience as a Rust Developer, programming for the past 3 years, and as a developer in +- [Gabriel Facco de Arruda](https://github.com/arrudagates) has experience as a Rust Developer, programming for the past 3 years, and as a developer in the Web3 ecosystem. Gabriel is a a dedicated programmer and DeFi ninja who loves cutting edge technology and all things Substrate/Rust. He is committed to building applications that help promote a more decentralized global economy, and comes with past experience developing and scaling such applications. He brings direct experience developing applications for the Substrate ecosystem and as a Polkadot ecosystem contributor dedicated to building the future. 🧠 -* [Kresna Sucandra](https://github.com/SHA888) is a dedicated programmer and Parity/Substrate enthusiast. Kusandra has been dedicated for the past year +- [Kresna Sucandra](https://github.com/SHA888) is a dedicated programmer and Parity/Substrate enthusiast. Kusandra has been dedicated for the past year learning everything there is to know about the Web3 ecosystem. Kresna is a medical doctor turned programmer with a background in Substrate blockchain development focusing on multi-chain interoperability, DeFi, NFTs, and the Metaverse. He brings first-hand insights and experience as a former blockchain -startup co-founder and developer with a history focusing on JavaScript and Rust programming. Kresna is a Polkadot ecosystem contributor who loves +startup co-founder and developer with a history focusing on JavaScript and Rust programming. Kresna is a Polkadot ecosystem contributor who loves entrepreneurship. 🚀 -* [Mindaugas Savickas](https://www.linkedin.com/in/savickas) is a veteran marketing advisor and fundraising rockstar with a background providing strategic marketing solutions and scaling over 40+ product & marketing teams worldwide. He Provides a proven history of success and strategic insights as a tech marketing guru who lives & breathes outside of the box. 📈 +- [Mindaugas Savickas](https://www.linkedin.com/in/savickas) is a veteran marketing advisor and fundraising rockstar with a background providing strategic marketing solutions and scaling over 40+ product & marketing teams worldwide. He Provides a proven history of success and strategic insights as a tech marketing guru who lives & breathes outside of the box. 📈 ### Team Code Repos -* InvArch Github: https://github.com/InvArch -* InvArch Node https://github.com/InvArch/InvArch-node -* InvArch Frames : https://github.com/InvArch/InvArch-Frames -* InvArch INV4 FRAME : https://github.com/InvArch/InvArch-Frames/tree/main/INV4 +- InvArch Github: +- InvArch Node +- InvArch Frames : +- InvArch INV4 FRAME : Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine. -* [Dakota Barnett](https://www.linkedin.com/in/xcastronaut) - Founder & Head of Development -* [Gabriel Facco de Arruda](https://github.com/arrudagates) - Co-Founder & Head of Technology Development -* [Kresna Sucandra](https://github.com/SHA888) - Co-Founder & Head of Protocol Development -* [Matheus Braña Iannuzzi Baliones](https://github.com/S0raWasTaken) - Rust Core Engineer +- [Dakota Barnett](https://www.linkedin.com/in/xcastronaut) - Founder & Head of Development +- [Gabriel Facco de Arruda](https://github.com/arrudagates) - Co-Founder & Head of Technology Development +- [Kresna Sucandra](https://github.com/SHA888) - Co-Founder & Head of Protocol Development +- [Matheus Braña Iannuzzi Baliones](https://github.com/S0raWasTaken) - Rust Core Engineer ### Team LinkedIn Profiles (if available) -* [Dakota Barnett](https://www.linkedin.com/in/dakotasb97), Founder -* [Gabriel Facco de Arruda](https://www.linkedin.com/in/gabriel-facco-de-arruda-00880787), Sr. Rust Dev -* [Kresna Sucandra](https://www.linkedin.com/in/kresna-sucandra/), Substrate Dev -* [Mindaugas Savickas](https://www.linkedin.com/in/savickas), Head of Marketing +- [Dakota Barnett](https://www.linkedin.com/in/dakotasb97), Founder +- [Gabriel Facco de Arruda](https://www.linkedin.com/in/gabriel-facco-de-arruda-00880787), Sr. Rust Dev +- [Kresna Sucandra](https://www.linkedin.com/in/kresna-sucandra/), Substrate Dev +- [Mindaugas Savickas](https://www.linkedin.com/in/savickas), Head of Marketing ## Development Status :open_book: -* InvArch is a project in the Substrate Builders Program. -* The INV4 protocol is complete & available for public testing. -* Gearing up for the launch of the Brainstorm Testnet (Solo-chain) on May 23rd, 2022. -* Preparing the InvArch Tinkernet for a crowdloan campaign & slot auction on the Kusama relay. +- InvArch is a project in the Substrate Builders Program. +- The INV4 protocol is complete & available for public testing. +- Gearing up for the launch of the Brainstorm Testnet (Solo-chain) on May 23rd, 2022. +- Preparing the InvArch Tinkernet for a crowdloan campaign & slot auction on the Kusama relay. -* INV4 v2 & xcINV4 (Est. August, 2022) will add additional functionality, wrapping of other Substrate NFTs, & authentication of assets. +- INV4 v2 & xcINV4 (Est. August, 2022) will add additional functionality, wrapping of other Substrate NFTs, & authentication of assets. ## Development Roadmap :nut_and_bolt: ### Overview -* **Full-Time Equivalent (FTE):** 2.5 -* **Total Costs:** $25,000 equivalent +- **Full-Time Equivalent (FTE):** 2.5 +- **Total Costs:** $25,000 equivalent ### Milestone 1 — Implement IP Pallets & Standards -* **Estimated duration:** 4 weeks -* **FTE:** 2 -* **Costs:** $10,000 equivalent +- **Estimated duration:** 4 weeks +- **FTE:** 2 +- **Costs:** $10,000 equivalent Goal - Develop Substrate Pallets that fully realize Git-level composability for NFTs; fully emulating file & folder functionalities. @@ -200,35 +217,35 @@ Goal - Develop Substrate Pallets that fully realize Git-level composability for | 0b. | Documentation | Documents containing the description of the whole architecture design for InvArch, an introduction video, and appropriate `README.md` files will be included. | | 0c. | Testing Guide | The code will have proper unit-test coverage to ensure functionality and robustness. In the guide we will describe how to run these tests. | | 0d. | Docker | We will provide a Dockerfile that can be used to test all the functionality delivered with this milestone. | -| 1. | Node Repo | Complete the deployment of the InvArch chain (https://github.com/InvArch/InvArch) | +| 1. | Node Repo | Complete the deployment of the InvArch chain () | | 2a. | Pallet_ips | Complete the development of [pallet_ips](https://github.com/InvArch/InvArch-Pallet-Library/tree/main/ips) and realize the IP Sets standard. | | 2b. | Pallet_ipf | Complete the development of [pallet_ipf](https://github.com/InvArch/InvArch-Pallet-Library/tree/main/ipt) and realize the IP Token Standard. | -| 3. | Article | We will write an **article** that explains the work done as part of the grant. | +| 3. | Article | We will write an **article** that explains the work done as part of the grant. | ### Milestone 2 — Implement DEV Pallets & Standards -* **Estimated duration:** 12 weeks -* **FTE:** 3 -* **Costs:** $15,000 equivalent +- **Estimated duration:** 12 weeks +- **FTE:** 3 +- **Costs:** $15,000 equivalent Goal - Develop and deliver the DEV Pallets & Standards for the InvArch Chain/InvArch Pallet Library | Number | Deliverable | Specification | | -----: | ----------- | ------------- | -| 0a. | License | GPLv3 | +| 0a. | License | GPLv3 | | 0b. | Documentation | An introduction video, and appropriate `README.md` files will be included. | | 0c. | Testing Guide | The code will have proper unit-test coverage to ensure functionality and robustness. In the guide we will describe how to run these tests. | | 0d. | Docker | We will provide a Dockerfile that can be used to test all the functionality delivered with this milestone. | | 1a. | Pallet_ipl | complete the development of [pallet_ipl](https://github.com/InvArch/InvArch-Frames/tree/main/INV4/pallet-ipl) and copyright & license structuring mechanism. | | 1b. | Pallet_ipt | Complete the development of [pallet_ipt](https://github.com/InvArch/InvArch-Frames/tree/main/INV4/pallet-ipt) and realize the refungible & multi-layer governance mechanisms. | | 2. | INV4-Git middleware | We will release a middleware tool for managing INV4 assets using the standard git CLI commands transparently. | -| 3. | Article & Video | We will write an **article** that explains the work done as part of the grant, as well as release a video walk through demonstrating the INV4 protocol | +| 3. | Article & Video | We will write an **article** that explains the work done as part of the grant, as well as release a video walk through demonstrating the INV4 protocol | ## Future Plans -* Launch the InvArchitects Assemble Program, the builders program of the InvArch Network. -* Finish Development on the On-Chain Innovation Funding (OCIF) & Cross-Chain Authentication (XCA) protocols. -* Maintain the Brainstorm Testnet, launch the Tinkernet Parachain on Kusama, & deploy the InvArch Network on Polkadot. +- Launch the InvArchitects Assemble Program, the builders program of the InvArch Network. +- Finish Development on the On-Chain Innovation Funding (OCIF) & Cross-Chain Authentication (XCA) protocols. +- Maintain the Brainstorm Testnet, launch the Tinkernet Parachain on Kusama, & deploy the InvArch Network on Polkadot. 1. GitArch - Decentralized, Incentivized, Open-Source On-Chain Repository Platform powered using INV4-Git. 2. Tinkerspace - A VR Sandbox for experimenting, collaborating, & simulating development using INV4 Assets. @@ -236,5 +253,5 @@ Goal - Develop and deliver the DEV Pallets & Standards for the InvArch Chain/Inv ## Additional Information :heavy_plus_sign: -**How did you hear about the Grants Program?** +**How did you hear about the Grants Program?** Web3 Foundation Website diff --git a/applications/JuniDB.md b/applications/JuniDB.md index a1372a9d416..15150b0b44b 100644 --- a/applications/JuniDB.md +++ b/applications/JuniDB.md @@ -1,4 +1,5 @@ -* **Project Name:** JuniDB +# JuniDB + * **Team Name:** Uddug * **Payment Address:** 0xc45eAd98E95D1962133d9c15847e2EA4E16dfD0b @@ -7,6 +8,7 @@ ### Overview It's a very highload action to store large amounts of data on-chain. The most-common and useful solution for decentralised apps is to use IPFS as a data storage and store on-chain only hashes. Our team inspired by the OrbitDB will focus on the scalability, decentralised, easy-learning solution for substrat developers that want to manipulate big amounts of data easily. + #### Key advantages * **Usability** - just integrate and code @@ -22,30 +24,32 @@ It's a very highload action to store large amounts of data on-chain. The most-co Working a lot with blockchain technologies, our team found that it’s data-driven, and thus there are rapidly growing interests in integrating them for more secure and efficient data storage and sharing.We are convinced that blockchain technologies change the world, and have been working hard to create more transparent solutions. We designed and built core infrastructure for decentralised projects. -We have been observing and learning Substrate technologies and find Polkadot as the best ecosystem for us to join depending on technology and strong market position. We believe that our protocol will be useful for other projects in the Polkadot ecosystem. +We have been observing and learning Substrate technologies and find Polkadot as the best ecosystem for us to join depending on technology and strong market position. We believe that our protocol will be useful for other projects in the Polkadot ecosystem. ### Project Details + Substrate pallet provides a configurable database module allows to store and manipulate a big amount of data. Pallet works as an offchain worker and connect data between blockchain and ipfs via offchain::worker. #### Encryption module + Built-in encryption module allows to create a secure database and encrypt all data before its uploading to the database with user account keys. With enabled encryption only account users have access to the database. Data could be decrypted via Web-application after receiving. Module is based on asymmetrical cryptography and uses an account public key to encrypt data on the blockchain side and a private key to decrypt data on the client side. -We plan to make it based on ed25519 crypto scheme and use [ecies-ed2551](https://github.com/phayes/ecies-ed25519) crate to implement encryptions on backend side. +We plan to make it based on ed25519 crypto scheme and use [ecies-ed2551](https://github.com/phayes/ecies-ed25519) crate to implement encryptions on backend side. ![scheme A](https://i.postimg.cc/gJds3kj9/encryption.png) -- receive data by RPC request -- Encrypt data by account public key -- Insert encrypted data into ipfs via offfchain::ipfs -- Insert received ipfs hash into storage +* receive data by RPC request +* Encrypt data by account public key +* Insert encrypted data into ipfs via offfchain::ipfs +* Insert received ipfs hash into storage ![scheme B](https://i.postimg.cc/Y9h66G7s/decryption.png) -- catch request to get data by RPC request -- get ipfs hash from storage -- fetch encrypted data from ipfs via offchain::ipfs -- receive encrypted data in RPC response -- decrypt data using user account private key via app ddecryption module +* catch request to get data by RPC request +* get ipfs hash from storage +* fetch encrypted data from ipfs via offchain::ipfs +* receive encrypted data in RPC response +* decrypt data using user account private key via app ddecryption module #### Technical stack @@ -62,6 +66,7 @@ We plan to make it based on ed25519 crypto scheme and use [ecies-ed2551](https:/ * **ecies-ed25519** - encryption crate #### Public Methods + * **KeyValueInit(name)** - initialise new keyValue database * **KeyValueSet(key, value)** - set given value in keyValue database * **KeyValueGet(key)** - get value for given key @@ -76,74 +81,81 @@ We plan to make it based on ed25519 crypto scheme and use [ecies-ed2551](https:/ * **HashAll(hash)** - get all hash fields #### Storage + * **Data Map** - mapping ipfs hashes and data keys * **Key-value** - database meta info #### Scheme 1. Palett structure + ![scheme C](https://i.postimg.cc/Hn1nkxGD/pallet.png) ##### Data uploading -- Rpc/wss request to pallet to insert data -- Validating data based on database schema -- Formatting data -- Encrypted (if needed) -- Store to ipfs via offchain::ipfs -- Retrieving ipfs hash with data -- Store ipfs hash into pallet storage +* Rpc/wss request to pallet to insert data +* Validating data based on database schema +* Formatting data +* Encrypted (if needed) +* Store to ipfs via offchain::ipfs +* Retrieving ipfs hash with data +* Store ipfs hash into pallet storage ##### Data retrieving + - RPC/wsss request to pallet to fetch get data -- Validating data query -- Get ipfs hash from storage -- Fetch data from ipfs via offchain::ipfs -- Return data object in response +* Validating data query +* Get ipfs hash from storage +* Fetch data from ipfs via offchain::ipfs +* Return data object in response #### Scheme 2. Interaction with Substrate + ![scheme D](https://i.postimg.cc/1zzJvmjQ/scheme.png) #### Infrastructure + Testing substrate nodes with offchain::orbitDB pallet orchestrated by kubernetes cluster deployed on GCP. + #### Ci/Cd + Ci/Cs organized by github actions + #### Frontend + Simple SPA web application powered by react and polkadot.js. Using for testing purposes. -### Ecosystem Fit +### Ecosystem Fit Pallet is suitable for substrate developers and strives to become a complex solution for data storage and manipulation. We expect that the project will be useful for the Web3 community. - ## Team :busts_in_silhouette: ### Team members -**Tech lead, backend:** Andrew Skurlatov +**Tech lead, backend:** Andrew Skurlatov -https://www.linkedin.com/in/andrew-skurlatov/ + -**Head of product:** Mike Manko +**Head of product:** Mike Manko -https://www.linkedin.com/in/mikhail-manko-97a491a2/ + -**Product design:** Anuar Zhumaev +**Product design:** Anuar Zhumaev -https://www.linkedin.com/in/yxorama/ + -**DevOps:** Ivan Podcebnev +**DevOps:** Ivan Podcebnev -https://www.linkedin.com/in/naykip/ + -**Data Science:** Constantine Czerniak +**Data Science:** Constantine Czerniak -https://www.linkedin.com/in/%D1%81czerniak/ + -**Frontend:** Nikita Velko - -https://www.linkedin.com/in/nikichv/ +**Frontend:** Nikita Velko + ### Contact @@ -151,7 +163,6 @@ https://www.linkedin.com/in/nikichv/ **Contact Email:** ms@uddug.com - ### Legal Structure **Registered Address:** PO301650, RUSSIA, UL. OVRAZHNAYA, D. 35, S. TETYAKOVKA, NOVOMOSKOVSKIJ R-N, OBL. TUL'SKAYA. @@ -164,28 +175,26 @@ Core of our team is of united, like-minded professionals with solid experience. Team range of experience begins from developing small scaled websites up to complex blockchain architectures. Our projects are diverse, but all of them share the need to have a software solution for humans. - ### Team Code Repos -http://github.com/andskur/ + -http://github.com/uddugteam/ + -### Commits -https://github.com/uddugteam/thc-node/commits/master +### Commits + -### Related domain -https://thc.uddug.com/ +### Related domain + ## Development Status :open_book: -We have already developed the pre-alfa pallet for **Trusted Health Council** [(https://github.com/uddugteam/thc-node)](https://github.com/uddugteam/thc-node). +We have already developed the pre-alfa pallet for **Trusted Health Council** [(https://github.com/uddugteam/thc-node)](https://github.com/uddugteam/thc-node). -Link to initial pull request (https://github.com/uddugteam/General-Grants-Program/blob/master/grants/speculative/trusted_health_consul.md). +Link to initial pull request (). Link to 2nd pull request -(https://github.com/uddugteam/Open-Grants-Program/blob/master/applications/ML-as-a-service.md). - +(). ## Development Roadmap :nut_and_bolt: @@ -193,7 +202,7 @@ Link to 2nd pull request * **Full-Time Equivalent (FTE):** 2.5 FTE * **Total Costs:** 28 000 USD -### Milestone 1 +### Milestone 1 * **Estimated Duration:** 1 month * **FTE:** 2.5 @@ -209,11 +218,10 @@ Link to 2nd pull request | 2. | Web application | Interacting with blockchain + form with fields to manipulate with data. Based on the substrate-front-end-template | | 3. | Docker image| We will provide a dockerfile to demonstrate the full functionality of testing Substrate chain with integrated Database pallet. | - ### Milestone 2 * **Estimated Duration:** 1 month -* **FTE:** 2.5 +* **FTE:** 2.5 * **Costs:** 7 000 USD | Number | Deliverable | Specification | @@ -228,7 +236,7 @@ Link to 2nd pull request ### Milestone 3 * **Estimated Duration:** 1 month -* **FTE:** 2.5 +* **FTE:** 2.5 * **Costs:** 7 000 USD | Number | Deliverable | Specification | @@ -244,7 +252,7 @@ Link to 2nd pull request ### Milestone 4 * **Estimated Duration:** 1 month -* **FTE:** 2.5 +* **FTE:** 2.5 * **Costs:** 7 000 USD | Number | Deliverable | Specification | @@ -259,7 +267,7 @@ Link to 2nd pull request ## Future Plans -Further development (adding new data storages, indexing system, concurrency queries) +Further development (adding new data storages, indexing system, concurrency queries) Community engagement diff --git a/applications/KSM-embeddable-tip-or-donate-button.md b/applications/KSM-embeddable-tip-or-donate-button.md index e2baef7e0b5..466bead9e15 100644 --- a/applications/KSM-embeddable-tip-or-donate-button.md +++ b/applications/KSM-embeddable-tip-or-donate-button.md @@ -1,6 +1,5 @@ -# Open Grant Proposal +# Tip or Donate KSM Embeddable Button -- **Project:** Tip or Donate KSM Embeddable Button - **Proposer:** https://github.com/Shard-Labs - **Payment Address:** bc1q5njhr3r0mgd398yvma75nv48g69c590a0f0zcx diff --git a/applications/Koiverse.md b/applications/Koiverse.md index df52148dc3b..36297005df7 100644 --- a/applications/Koiverse.md +++ b/applications/Koiverse.md @@ -1,53 +1,39 @@ -# Koi Metaverse - Open Grants Program +# Koi Metaverse - - -* **Project:** Koi Metaverse -* **Proposer:** https://github.com/KoiMetaverse +* **Proposer:** * **Payment Address:** 0xfADc3c36E41D36796ca05B4D55b148725c804cE0 * **Status:** [Terminated](https://github.com/w3f/Grants-Program/pull/678#issuecomment-1204360469) - # Project Overview - ## Overview - ### Introduction -Koi Metaverse aims to unlock the next-gen GameFi metaverse economies and it is building the digital collectibles platform for virtual GameFi NFTs. It is a fish collection blockchain game that combines token economy and NFT assets. It consists of a series of smart contracts, and all of the in-game assets belong to its players. Players can play to earn by collecting high mining power fish and growing them, creating a positive self-circulation. +Koi Metaverse aims to unlock the next-gen GameFi metaverse economies and it is building the digital collectibles platform for virtual GameFi NFTs. It is a fish collection blockchain game that combines token economy and NFT assets. It consists of a series of smart contracts, and all of the in-game assets belong to its players. Players can play to earn by collecting high mining power fish and growing them, creating a positive self-circulation. If pure-bred mining fish is reproduced, you can lock it into the pictorial book to mine the governance token, and use it to participate in the other DeFi activities. Koiverse creates a variety of NFT assets in the form of fish images and aims to become the BearBrick in the blockchain GameFi space and the brand new Axie Infinity on the Polkadot network. - ### Team Interest Our team has more than 10 years of game development experience and 3 years of blockchain game development experience. The number of accumulated registered users in the previous games is over 50 million globally. The highest number of active unique users exceeded 1 million. Koi team is also experts in innovative gaming mechanisms, sidechain implementation, tokenization economics and decentralized wallet integration. We are creating new kinds of virtual assets on Blockchain. Certainly we are the true Metaverse believers and builders who have strong motivation to unlock the Next-Gen GameFi Metaverse Economies. In Metaverse powered by Blockchain, we have seen the following core disruptive innovations: - - * Blockchain infrastructure leads to the property rights revolution. With blockchain, we can imagine a world in which contracts are embedded in digital code and stored in transparent, shared databases so that everyone could have the real ownership of properties. * Non-Fungible Token (NFT) changes the types and rules of games. NFT is a new form of unique digital asset designed to show someone has ownership of a unique virtual asset. It will become a new trend of virtual assets for creating, trading and collecting. * Tokenization and crypto creates brand-new business models. Crypto unlocks new rules of business models in game, like the concept of Play-to-Earn (P2E) which created new types of jobs and professions in digital Metaverse economies. - ## Project Details - ### Project Architecture The technical architecture of the project: ![](https://statics.fishnft.xyz/github/koi.png) - The gaming NFT protocols and Dapp consists of: - - * NFT Lottery Draw (NFT function) * NFT Auction Sale (NFT function) * NFT Minting (NFT function) @@ -57,51 +43,38 @@ The gaming NFT protocols and Dapp consists of: * Fish Mining (game function) * Pictorial Book Mining (game function) - #### NFT Functions **NFT Lottery Draw** - ### Types - - * `name` - activity name * `nft` - nft contract address * `noin` - coin contract address * `price` - fees needed to run lottery -* `total` - total number of lotteries +* `total` - total number of lotteries * `remain` - remnant quantity -* `limit` - nft limited per person -* `startTime` - activity start time +* `limit` - nft limited per person +* `startTime` - activity start time * `endTime` - activity end time - ### Functions - - * `lottery()` - lottery **NFT Auction Sale** - ### Types - - * `name` - activity name * `nft` - nft contract address * `coin` - coin contract address * `startTime` - activity start time * `endTime` - activity end time - ### Function - - * `fishList()` - read the fish list in the auction activity * `fishGeneList()` - read the fish gene list in the auction activity * `bid()` - users submit bids @@ -110,21 +83,15 @@ The gaming NFT protocols and Dapp consists of: **NFT Minting** - ### Types - - * `nft` - nft contract address * `coin` - coin contract address * `totalNft` - current NFT quantities in mining pool * `totalNftPower` - current total NFT mining power in mining pool - ### Function - - * `myNft()` - read staked NFT * `getNft()` - read one nft info * `earned()` - read mining profit @@ -133,80 +100,58 @@ The gaming NFT protocols and Dapp consists of: * `withdrawNftAll()` - withdraw all staked nfts * `getReward()` - acquire mining reward - #### NFT Assets **Fish NFT** - - * Each fish is composed of 14 genetic components: shape, color, pattern, eyes, mouth, pectoral fin, dorsal fin, caudal fin, decorations, invisible components, and breeding sequence. * The highest mining power of the fish is determined by the sum of each part’s mining power, gear buff, and the cultivation level. * When certain fish genes match, a mining power bonus and pictorial books will be activated. **Fist Tank NFT** - - * The fish can grow up in fish tanks. The cultivation time cycles are 10 days, 30 days, and 90 days, which respectively come with a maximum 30%, 120%, and 400% mining power increase. * Each fish tank may have unique features and different capacities. * Fish tanks and fish cannot be sold during the lock period. * In the cultivation time, the fish cannot engage in mining or breeding. - #### Game Functions **Fish Breeding** - - * The only way gamers can mint new fish NFT assets is to breed fish. The cost of the very first breeding is determined by the average mining power P of the parent fish and the average ecological mining power AP. The cost F=K*P/AP, tentatively K = 500. * The progeny genes are inherited from the parent fish genes, and each parent has a 50% chance to propagate its genes. * The scarcity of the fish gene is classified as normal, scarce, epic, and legendary. The scarce, epic, and legendary genes, respectively, have a 50%, 35%, and 25% chance to be inherited. There is a 1% chance to increase the gene scarcity level, or the genes will mutate into random and normal genes. **Fish Mining** - - * All fish with mining power can obtain reward tokens every day proportionately. The amount of reward token available to mine per day (M) is related to (F) the total sum of the fish (mining power>0) participating in mining. M=K*F^0.9,K as a constant, tentatively K=50. * Only the fish that are not being sold, bred, or locked by pictorial books can participate in mining. * Every time a fish participates in mining, it loses 4% of the mining power until it reaches 0. **Pictorial Book Mining** - - * A gamer can activate a pictorial book when acquiring some pure-bred fish with the built-in suites. * You can start mining reward tokens if you lock the right fish into the pictorial book. The locked fish must have full mining capacity. * There are 4 levels to each fish’s pictorial book: 0, 10, 30, and 90 growing up days in fish tanks. * When level 2, level 3 or level 4 fish are locked, the system automatically releases the low-level fish previously locked. You can only lock one fish, and you can double your points after collecting all level 4 fish, in all the colors, with the same suit. * The mined reward tokens are distributed according to the points and settled once a day. At the same time, the mining power is reduced by 4%. If the mining power is 0, then no more mining can be done. - #### Front End - - * Implement web front-end based on react.js and polkadot.js. Modules include: NFT Lottery Draw, NFT Auction Sale, NFT Minting, Fish and Fish Tank. * Implement web front-end based on react.js, polkadot.js and pixi.js. Game functions include Fishing Mining, Fish Breeding, Pictorial Book Mining. -* UI mockups: https://www.figma.com/file/0uuKT3XxB6hbzyFxLnzfAr/Koi-Metaverse?node-id=0%3A1 -* Fish Gene and Images: https://drive.google.com/drive/folders/1R4EoaDhoPkpxd9vchh7KLs-jx94pKad1?usp=sharing - +* UI mockups: +* Fish Gene and Images: ### Ecosystem Fit Existing GameFi NFT projects mainly focus on the public chains, games and collectible publishing, Marketplace, etc. Popular projects working in this segment include Axie Infinity (NFT game), Chiliz (sports-oriented underlying public chain), Flow (general NFT issuance public chain), and Opensea (general marketplace). We will add more game functions than Axie Infinity and build on the Substrate framework. We also can collaborate with native Polkadot NFT marketplace [RMRK](https://www.rmrk.app/) and [NFTMart](https://www.nftmart.io/). - - - # Team - ## Team Members - - * Anetta Sultygova - Project Lead * Euglena Liu - Product Manager * Yuan Li - Full-stack Developer @@ -215,43 +160,30 @@ Existing GameFi NFT projects mainly focus on the public chains, games and collec * Hongfeng Liu - Artistic Designer * Vladan Falcic - NFT Advisor - ## Team Website - - * [https://www.koi.io/](https://www.koi.io/) - ## Legal Structure - - * Koi Metaverse Ltd. is a company registered in the British Virgin Islands. - ## Team Experience Anetta Sultygova - - * 8-years project management and investing experience in the blockchain industry. She is good at structuring and organizing the teams around the projects. * Seasoned experience in NFT ecosystem and marketing strategy. * Marketing and community management in MILC, Realm, BloXmove and Metis etc. Euglena Liu - - * Product lead of fishchain and Paopaoyu (Top 10 web game on Renren “Chinese Facebook”). * 8-years gaming product design experience in the game industry. * Early player and investor in Axie Infinity ($AXS). Yuan Li - - * 10-years full stack software development experience * 5-years blockchain and smart contract development experience * Over 15 years of experiences in development and Management @@ -259,70 +191,49 @@ Yuan Li Tao Liu - - * 3-years of product management experience in the game industry. * 20-years of art design and animation experience. * Former Front-end Director of LightInBox, Fishchain and ShopperPlus. Vladan Falcic - - -* Blockchain and crypto enthusiast, he entered the crypto space back in 2014 and was mostly involved in early stage projects. -* In 2016, he started working with different projects, improving their marketing and establishing valuable partnerships. -* As the CEO of Squares Capital, he is working with several startup projects, advising them, improving their marketing and building the community. +* Blockchain and crypto enthusiast, he entered the crypto space back in 2014 and was mostly involved in early stage projects. +* In 2016, he started working with different projects, improving their marketing and establishing valuable partnerships. +* As the CEO of Squares Capital, he is working with several startup projects, advising them, improving their marketing and building the community. Jelly Ji - - * 5-years experience in html5 and front-end stack development. * Expert in mobile game development, H5 game development and blockchain game development * Bsc in Information Management and Information System of Beijing University of Posts and Telecommunications Hongfeng Liu - - * Senior UI and animation designer. * 3-years experience in blockchain game development - ## Team Code Repos - - * [https://github.com/KoiMetaverse](https://github.com/KoiMetaverse) - ## Team Linkedin Profiles - - * [https://www.linkedin.com/in/anetta-sultygova/](https://www.linkedin.com/in/anetta-sultygova/) * [https://www.linkedin.com/in/taoliu-designer/](https://www.linkedin.com/in/taoliu-designer/) * [https://www.linkedin.com/in/vladan-falcic-sqcap/](https://www.linkedin.com/in/vladan-falcic-sqcap/) * [https://www.linkedin.com/in/jelly-ji-7b193a177/](https://www.linkedin.com/in/jelly-ji-7b193a177/) * [https://www.linkedin.com/in/euglena-game/](https://www.linkedin.com/in/euglena-game/) - # Development Roadmap - ## Overview - - * Total Estimated Duration: 3 months * Full-time equivalent (FTE): 4 FTE * Total Costs: 12,000 DAI - ### **Milestone 1 —— Koi Metaverse NFT Modules and Assets** - - * Estimated Duration: 3 months * FTE: 4 FTE. * Costs: 12,000 DAI @@ -396,7 +307,7 @@ Hongfeng Liu 5. - smart contract: Fish Tank + smart contract: Fish Tank fish tank contract include: capacity, totalPower, fishList implemented by ink @@ -426,7 +337,7 @@ Hongfeng Liu - 8. + 8. Test @@ -435,25 +346,18 @@ Hongfeng Liu - ## Community Engagement - - * **Play to Earn:** Koi Metaverse will also adopt the P2E model to inspire players of GameFi games. Through P2E, players can share the growth and development dividend of the Koi Metaverse. * **Genesis Collection:** [Koi NFTs Genesis Collection Offering — Phase 1: Newborn](https://koimetaverse.medium.com/koi-nfts-genesis-collection-offering-phase-1-newborn-5619038200c6) Genesis Collection is an effective way to start a project and have public awareness. * **GameFi Communities:** Koi Metaverse will collaborate with game P2E communities, including Yield Guild Games (YGG), A16, etc. to complete users acquisition and users growth. - # Future Plans Our project plans to become a parachain for the Polkadot network, which provides benefits from shared security and communications (XCMP). We will launch our game application Koi Metaverse first to complete the first adoption and then open our infrastructure layer Koi Network to support more game Dapps. The Koi Network will support marketplace, NFT DeFi, GameFi Hub and Cross-chain Gateway, etc. - # Additional Information - - * Website: [https://koi.io/](https://koi.io/) (Previously [http://koi.network/](http://koi.network/)) * Twitter: [https://twitter.com/KoiMetaverse](https://twitter.com/KoiMetaverse) * Discord: [https://discord.gg/Aj5Zq9Cx9r](https://discord.gg/Aj5Zq9Cx9r) diff --git a/applications/Libra.md b/applications/Libra.md index c61d21c6193..bd558bc97f2 100644 --- a/applications/Libra.md +++ b/applications/Libra.md @@ -1,6 +1,5 @@ -# Project Libra +# Libra - Decentralized Payment Network -- **Project Name:** Libra - Decentralized Payment Network - **Team Name:** @Scale Technologies - **Payment Address:** 0x77AE9e7c90E6f6137AC3b3cd09A4bdc4654A0fe5 (ERC20 USDT) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 @@ -26,6 +25,7 @@ Resolvers Network leverages the power of blockchain and the community to resolve Libra bridges the gap between blockchain and eCommerce to enable all people to exchange value and transact globally, securely, at significantly lower cost, and more inclusively than traditional financial systems allow. ### Project Details + The project's scope is to build three core components that define the foundation of Libra Network: LRP protocol, Resolver Networks, and Javascript SDK. From these components, people can easily integrate the cryptocurrencies payment to their business while their customers are protected by Libra Network. #### LRP protocol @@ -34,10 +34,10 @@ LRP protocol allows buyer and seller to make a p2p payment while the cryptocurre ![Project Libra-LRP Protocol](https://user-images.githubusercontent.com/92568442/148349639-145690aa-98c3-4e13-b9a3-ccfa01d55f6a.png) - For the LRP protocol, the data model for LRP protocol should be generic and flexible for any use cases. Besides, it should be small to store on-chain but need to provide enough information if needed (e.g. dispute case). ##### Data model + ```json { "id": "uuid", @@ -52,6 +52,7 @@ For the LRP protocol, the data model for LRP protocol should be generic and flex "updated_at": 1640761504444 } ``` + ##### State transition ![state-transition](https://user-images.githubusercontent.com/92568442/148345661-fd24292a-389b-44ef-95a5-5d8422f546c6.png) @@ -69,9 +70,11 @@ This diagram shows the whole dispute process ![Project Libra- Dispute process](https://user-images.githubusercontent.com/92568442/148343813-2f581a72-36b7-4065-bf69-cb0d642f25f5.png) #### SDK + The SDK is indispensable for the product’s adoption. It should be developer-friendly and easy to integrate with a few lines of the code. The interface of the SDK is listed below. **Install** + ```bash npm install libra-sdk ``` @@ -81,17 +84,18 @@ import Libra from "@libra-sdk"; const libra = new Libra(config); ``` + **Checkout** Create a payment with the SDK ```jsx const payment = libra.createPayment({ - payee, - amount, - currency, - description, - receipt + payee, + amount, + currency, + description, + receipt }); ``` @@ -101,22 +105,23 @@ Cancel a payment (before the seller accept) libra.cancelPayment(payment.id) ``` -Complete a payment +Complete a payment ```jsx libra.complePayment(payment.id); ``` -Dispute a payment +Dispute a payment ```jsx libra.dispute({ - paymentId: payment.id, - evidence: {...} + paymentId: payment.id, + evidence: {...} }); libra.escalateDispute(disputeId); ``` + **Seller’s dashboard** Get payments @@ -153,11 +158,11 @@ Setup identity ```jsx libra.setIdentity({ - displayName, - legalName, - email, - website, - ... + displayName, + legalName, + email, + website, + ... }); ``` @@ -165,9 +170,9 @@ Apply resolver ```bash libra.apply({ - role: "resolver", - application: {...}, - deposit: 100000, + role: "resolver", + application: {...}, + deposit: 100000, }); ``` @@ -175,9 +180,9 @@ Nominate ```jsx libra.nominate({ - address, - amount, - ... + address, + amount, + ... }); ``` @@ -199,11 +204,11 @@ libra.rejectAppeal(disputeId); ### Ecosystem Fit -- **Where and how does your project fit into the ecosystem?** Libra is built on top of Substrate. Thanks to Substrate's ecosystem, Libra supports all substrate tokens as a payment method by default. +- **Where and how does your project fit into the ecosystem?** Libra is built on top of Substrate. Thanks to Substrate's ecosystem, Libra supports all substrate tokens as a payment method by default. - **Who is your target audience (parachain/dapp/wallet/UI developers, designers, your own user base, some dapp's userbase, yourself)?** Libra's target audience is sellers/buyers who want a safer, faster, more straightforward solution for online payment using cryptocurrencies. Through Resolvers Network, Libra also brings new jobs and a new way to earn income by solving disputes. -- **What need(s) does your project meet?** Libra provides a safe mechanism for both buyers and sellers to transact online -- **Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem?** As far as we know, Libra, with its unique LRP protocol and Resolvers network, is the first project designed to solve real-world eCommerce transactions. There are no similar projects in the ecosystem yet. +- **What need(s) does your project meet?** Libra provides a safe mechanism for both buyers and sellers to transact online +- **Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem?** As far as we know, Libra, with its unique LRP protocol and Resolvers network, is the first project designed to solve real-world eCommerce transactions. There are no similar projects in the ecosystem yet. ## Team :busts_in_silhouette: @@ -216,37 +221,40 @@ Libra's target audience is sellers/buyers who want a safer, faster, more straigh - **Contact Name:** Anthony Dong - **Contact Email:** anthony@atscale.xyz -- **Website:** https://atscale.xyz +- **Website:** ### Legal Structure + (We're in the process of registering the legal entity) + - **Registered Address:** N/A - **Registered Legal Entity:** N/A ### Team's experience -AtScale is a team specialized in blockchain development. We aim to rely on blockchain technologies to solve real-world problems and facilitate blockchain-based products to mass adoption. +AtScale is a team specialized in blockchain development. We aim to rely on blockchain technologies to solve real-world problems and facilitate blockchain-based products to mass adoption. -- **Anthony Dong**: Anthony successfully built and exited several internet startups during the last ten years. Anthony was the CTO in his recent company, helping the company bootstrapped from zero to $15 million ARR (Annual Recurring Revenue) in 2 years. +- **Anthony Dong**: Anthony successfully built and exited several internet startups during the last ten years. Anthony was the CTO in his recent company, helping the company bootstrapped from zero to $15 million ARR (Annual Recurring Revenue) in 2 years. - **Andrew Le**: Andrew was the Lead Researcher at his previous company, specializing in AI/Machine Learning and Blockchain technologies. He led the development to build one of the most accurate body measurement prediction engines in the industry during his past job. ### Team Code Repos -- https://github.com/atscaletech/ -- https://github.com/atscaletech/polkadot-hackathon-apac +- (AtScale Technologies) +- (Hackathon Submission) ### Team LinkedIn Profiles (if available) Due to privacy concerns, the team information will provide in private by email if requested. ## Development Status :open_book: + Libra is founded and developed in the Polkadot APAC Hackathon 2021. We already built a proof of concept application and here is our hackathon submission: -- Pitch video: https://youtu.be/pR4_2nrrJQQ -- Demo screencast: https://youtu.be/cR7gKSzVoAY -- Live demo: https://app.libra.atscale.xyz -- Explorer: https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Frpc.libra.atscale.xyz#/explorer -- Git repository: https://github.com/atscaletech/polkadot-hackathon-apac +- Pitch video: +- Demo screencast: +- Live demo: +- Explorer: +- Git repository: ## Development Roadmap :nut_and_bolt: @@ -255,7 +263,7 @@ Libra is founded and developed in the Polkadot APAC Hackathon 2021. We already b - **Total Estimated Duration:** ~ 4 months - **Full-Time Equivalent (FTE):** 1.5 FTE - **Total Costs:** 16,000 USD - + ### Milestone 1 - LRP Protocol Implementation - **Estimated duration:** 1 month @@ -269,7 +277,7 @@ Libra is founded and developed in the Polkadot APAC Hackathon 2021. We already b | 0c. | Testing | All of the code will be covered by unit and integration test suites with the testing instruction. | | 0d. | Live testnet | The live testnet with a few nodes and public RPC endpoints to test or connect more nodes. | | 1. | Substrate module: LRP pallet | The LRP protocol implementation. | -| 2. | Substrate module: Currencies pallet | The extended module of ORML currencies allows creates and manages currencies by bonding some native tokens. | +| 2. | Substrate module: Currencies pallet | The extended module of ORML currencies allows creates and manages currencies by bonding some native tokens. | | 3. | Substrate based chain | The integration LRP protocol with substrate chain. | ### Milestone 2 - Resolvers Network Implementation @@ -314,12 +322,12 @@ In the short term, we plan to launch the validation and testing phase: - **Canary network launch:** At the end of this phase, we plan to join the Kusama para-chain auction and launch the canary network. For the long term plan, we will: + - Launch Polkadot para-chain - Acquire more users and boost the network's GMV (gross merchandise value) - Scale up the resolvers networks - Develop tools for Libra such as fraud payment detection, API, AI/ML dispute processor, ... - ## Additional Information :heavy_plus_sign: **How did you hear about the Grants Program?** Web3 Foundation Website diff --git a/applications/MAP-Bridge.md b/applications/MAP-Bridge.md index b5d7c2b637c..17fdb325f2b 100644 --- a/applications/MAP-Bridge.md +++ b/applications/MAP-Bridge.md @@ -1,5 +1,5 @@ -# Open Grant Proposal -* **Project:** Map Bridge +# Map Bridge + * **Proposer:** zcheng9 * **Payment Address:** 1CFM6QDvxwXEV3dUN9x2ftqq4rwAfkxN9W * **Status:** [Terminated](https://github.com/w3f/Grant-Milestone-Delivery/pull/89#issuecomment-792968983) diff --git a/applications/MIXER.md b/applications/MIXER.md index da578232c78..e7d61661dee 100644 --- a/applications/MIXER.md +++ b/applications/MIXER.md @@ -1,6 +1,5 @@ -# Open Grant Proposal +# Webb Mixer -* **Project Name:** Webb Mixer * **Team Name:** Webb * **Payment Address:** 0xAC8E9305dc7AC95685c7D52E759c35aCd9eB90Ff diff --git a/applications/MIXERv2.md b/applications/MIXERv2.md index c971ee99af3..d21a4319829 100644 --- a/applications/MIXERv2.md +++ b/applications/MIXERv2.md @@ -1,6 +1,5 @@ -# Open Grant Proposal +# Webb Mixer Extended -* **Project Name:** Webb Mixer Extended * **Team Name:** Webb * **Payment Address:** 0xAC8E9305dc7AC95685c7D52E759c35aCd9eB90Ff diff --git a/applications/Maki.md b/applications/Maki.md index 9f080d5b78f..7a14433bdea 100644 --- a/applications/Maki.md +++ b/applications/Maki.md @@ -1,6 +1,5 @@ -# W3F Grant Proposal +# Maki -- **Project Name:** Maki - **Team Name:** Cyril Carlier (Individual) - **Payment Address:** 0x7e575d2140aa4b723ac2014d5627330a7ed514d4 (ERC-20 USDC) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 diff --git a/applications/MangoBOX-Protocol.md b/applications/MangoBOX-Protocol.md index 2e8bad12479..566eee39af4 100644 --- a/applications/MangoBOX-Protocol.md +++ b/applications/MangoBOX-Protocol.md @@ -1,8 +1,5 @@ -# W3F Grant Proposal +# MangoBOX Protocol - - -- **Project Name:** MangoBOX Protocol - **Team Name:** MangoBOX labs - **Payment Address:** 0x33e69715988126eB3653bFAfd338320BE9A10cd0(USDC)) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 diff --git a/applications/Meta_Defender.md b/applications/Meta_Defender.md index c254a4b500c..84d08be5582 100644 --- a/applications/Meta_Defender.md +++ b/applications/Meta_Defender.md @@ -1,74 +1,73 @@ -# W3F Grant Proposal - -* **Project Name:** Meta Defender -* **Team Name:** Meta Defender Team -* **Payment Address:** 25r4oZedLXEunTmdvytyH4xcmQqqWWw8KmphdiD5LqpU29pv (aUSD) -* **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 - - +# Meta Defender + +- **Team Name:** Meta Defender Team +- **Payment Address:** 25r4oZedLXEunTmdvytyH4xcmQqqWWw8KmphdiD5LqpU29pv (aUSD) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 + + ## Project Overview :page_facing_up: - + ### Overview - + Meta Defender is a decentralised insurance protocol built on the blockchain. It is developed with ink! smart contract, and is designed to provide insurance for transactional and non-transactional assets on the blockchain of users. Later on, it will support cross-chain insurance through substrate and XCM. In the meantime, Meta Defender is also working to apply blockchain technology to real-world insurance scenarios, becoming an important addition to the traditional insurance industry. This project is the first-place winner of Acala Hackathon and is in the 2022 cohort of Web3.0 Bootcamp supported by Web3.0 Foundation and Parity. - + The rapid development of Defi has led to a huge increase in the digital assets that are transactional in smart contracts, which also makes it very vulnerable to cyber attacks. Conventional insurances, on the other hand, have limited capacity to provide transparent, secured and rapid protection for precious assets. In order to cater for the increasing needs, our team decided to work on a Defi insurance protocol, also to solve several pain points in existing web3 insurance products. - -Meta Defender is planned to launch on the parachains in the Polkadot Ecosystem, designed to provide insurance services to multiple subject-matters in the Polkadot Ecosystem. - + +Meta Defender is planned to launch on the parachains in the Polkadot Ecosystem, designed to provide insurance services to multiple subject-matters in the Polkadot Ecosystem. + ### Project Details - + ### 1. Mockups/designs of any UI components - Homepage -

          1

          - +

          1

          + - Buy Cover -

          2

          - +

          2

          + - Become an underwriter -

          3

          - +

          3

          + ### 2. Project Technology Stacks - Rust - Substrate - Node.js - Ethers.js - + ### 3. MVP -

          +

          + +

          -

          - - Buy Cover Meta Defender uses stablecoins to insure, underwrite and pay out for claims. Each Meta Defender policy is currently valid for one year. The premium rate will be calculated using a customised AMM 2.0 model, which will be explained in detail in the next part. - + - Become an underwriter -Underwriters share the Rewards from each premium according to the weight of the capital they provide to the whole Capital Reserve. At the same time, the underwriting capital is correspondingly frozen until the policy expires. Until this policy expires, the underwriter can only withdraw the unfrozen portion of its own provided assets. - +Underwriters share the Rewards from each premium according to the weight of the capital they provide to the whole Capital Reserve. At the same time, the underwriting capital is correspondingly frozen until the policy expires. Until this policy expires, the underwriter can only withdraw the unfrozen portion of its own provided assets. + - Leveraged Mining The Meta Defender protocol makes secondary use of the underwriting capital, with 70% of the capital participating in the public chain's officially secured mining pool. 20% of the proceeds of Leveraged Mining will go to a Risk Reserve. - + - Risk Reserve When a claim occurs, priority is given to using the funds in the Risk Reserve to pay out; when there is not enough to pay out, the excess is shared among all underwriters according to the weighting of the capital in the Capital Reserve by the underwriters. In that way, returns for underwriters can be maximised and the risk of loss can be minimised. - + ### 4. Documentation of core components, protocols, architecture, etc. to be deployed For more detailed explaination, please check out our [white paper](https://metadefender.gitbook.io/meta-defender-v3-eng-ver./). - + #### 4.1 AMM 2.0 Model for calculating premium rates First, two concepts are defined, @@ -79,13 +78,13 @@ First, two concepts are defined, In the absence of new underwriters joining or no underwriters withdrawing liquidity, both of the above always satisfy as the followings: -

          +

          k is a fixed value. As the number of policies increases, P gradually decreases and α increases, representing an increase in insurance demand, and vice versa. When new underwriters join, P increases, α remains constant, and k increases accordingly. -

          +

          Similarly, when the underwriter withdraws liquidity, P and k decrease at the same time. @@ -93,18 +92,18 @@ If the policy expires and frozen capital is released, this also leads to an incr There is a minimum value of α as α0​, and the decrease of α is limited to this value, which then causes the value of k to increase. When the value of P "expands" to the point where α touches α0​, then α stops decreasing and k increases: -

          +

          In the traditional insurance industry, premiums are actuarially priced based on the probability of historical risk events. The existing blockchain insurance products also build some actuarial models, but it is difficult to ensure the actuarial results are truly objective and credible when the historical data samples are not sufficient. Meta Defender tends to determine the risk pricing of each agreement based on the most basic economic rule: the relations between supply and demand. -One possible question is whether the mechanism will cause underwriters to purchase their own insurance in bad faith and drive up premium rates. In order to avoid such attack, In order to calculate k, Meta Defender will add virtual liquidity to the real P value, which will make the curve of premium rate more smooth and significantly increase the cost of such attack. - +One possible question is whether the mechanism will cause underwriters to purchase their own insurance in bad faith and drive up premium rates. In order to avoid such attack, In order to calculate k, Meta Defender will add virtual liquidity to the real P value, which will make the curve of premium rate more smooth and significantly increase the cost of such attack. + #### 4.2 Rewards and responsibility of underwriters To facilitate valuation, Meta Defender suggests to use a stablecoin for insurance and underwriting purposes. Assuming the stablecoin is called Token, the underwriter provides A tokens(A as the number of the token) to an Capital Reserve and receives a number of sTokens (staked token) based on the capital exchange rate η of the pool. The number of sToken, which is A' is: -

          - +

          + The sToken is not a transferable ERC20 token; it is simply a credit to the underwriter by the pool as a credential to capture premium rewards and withdraw assets in the future. At the time each pool is created, the starting value of η is 1. Given that pay-outs of claims are prioritised through the Mining Pool balances for claims(Risk Reserve), the value of η is maintained at 1 as long as there is no large-scale claims event resulting in an encroachment on the Capital Reserve's principal. @@ -121,6 +120,7 @@ At the time each pool is created, the starting value of η is 1. Given that pay- #### 4.2.2 Data Structure of the Underwriter and the Policy When an underwriter stakes some Tokens to the protocol, the protocol marks him like this: + - index: the order in which the underwriter joined the protocol; - sTokenAmount: the number of sTokens acquired by the underwriter (i.e., A as the number of Token in the previous section); - rewardDebt(RDebt): ​sTokenAmount∗accRPS, the reduction factor for calculating the underwriter's capture of the reward; @@ -134,37 +134,37 @@ When a policy is created, the protocol will mark it as follows: After a policy is generated, we set the amount paid by policyholder as “fee”, and we have -

          - +

          + For each underwriter in the underwriting Capital Reserve, the withdrawable proceeds at this point are calculated as: -

          +

          ​The proceeds can be immediately withdrawn to the underwriter's own wallet. - + #### 4.2.4 Policy Generation and Frozen Capital A policy is generated and the accSPS is increased: -

          +

          For each underwriter in the pool, the cumulative frozen capital amount is: -

          - +

          + #### 4.2.5 ​When the Risk Reserve is Insufficient to Pay for Claims -When the Risk Reserve does not have enough funds to pay for a policy that actually suffers a loss or damage, the protocol will share the excess of the claim amount with the underwriter according to the weight of the underwriter's sToken. +When the Risk Reserve does not have enough funds to pay for a policy that actually suffers a loss or damage, the protocol will share the excess of the claim amount with the underwriter according to the weight of the underwriter's sToken. -This is an extremely rare and exceptional circumstance and will result in a reduction of the exchange factor η. +This is an extremely rare and exceptional circumstance and will result in a reduction of the exchange factor η. Assume when that this situation arises, and the excess of claims over the Risk Reserve is δ, the new η becomes -

          +

          TokenRemain includes the token frozen in the protocol of the underwriters who are able to underwrite for new policies, as well as the token of those underwriters who have stopped underwriting for new policies. - + ​It can be seen that the value of η decreases further, and the number of sTokens - representing the weight of capturing premium rewards, while bearing liability - that can be obtained for an equal amount of Tokens for underwriters joining the pool thereafter is increased . This is clearly due to the reduction in the actual underwriting capacity of the original underwriters following the erosion of the principal in the pool. - + #### 4.3 Underwritten Assets Withdrawal Mechanism #### 4.3.1 Available Assets that can be Withdrawn by Underwriters @@ -172,21 +172,21 @@ TokenRemain includes the token frozen in the protocol of the underwriters who ar Underwriters can withdraw a portion of their unfrozen capital at any time before it is completely frozen. However, the frozen part needs to wait for the corresponding policy expiration to exit. The assets that can be withdrawn by the underwriter is calculated by the formula: -

          - +

          + ​shadow is the amount of assets of the underwriters that has been frozen. However, the situation becomes more complicated when considering a policy that has expired which results in releasing part of frozen capital. - + #### 4.3.2 Cancellation of Policies Along with the cancellation of policies which expire, the corresponding underwriters’ frozen capital should be released. When a policy is generated, we record its lastProviderIndex and ΔaccSPS. When it is cancelled, the protocol synchronises the latestUnfrozenIndex to the lastProviderIndex of this policy, and accumulates accSPSDown: -

          - +

          + ​When calculating an underwriter's shadow, it is necessary to first determine the relationship between his index and latestUnfrozenIndex. When index<=latestUnfrozenIndex, it means that the capital being released already has the part of the underwriter’s frozen capital. His shadow will be calculated by: -

          - +

          + #### 4.3.3 After Underwriter Withdrawal of Assets In order to make the protocol easier to maintain and to reduce the cost of gas fee when users invoke the contract, Meta Defender currently requires the underwriter who would like to quit to withdraw all remaining liquidity at once (i.e., withdraw mentioned above). @@ -194,7 +194,7 @@ In order to make the protocol easier to maintain and to reduce the cost of gas f Of course, you may only want to "withdraw partially". It is very simple to implement this - you could simply withdraw in full and then re-join with your desired coverage amount. This saves the protocol from having to maintain a huge ledger, where the cost of gas would otherwise become unimaginable. When an underwriter withdraws assets, he or she needs to destroy all of his or her sToken. - + Suppose an underwriter P destroys all of his sToken, declaring that he has ended his status as an underwriter. Regardless of how much capital he has actually withdrawn (usually less than his original provided capital, i.e. η*sTokenAmount, less than ), he can no longer continue to capture premium and no longer underwrite new policies, i.e., no longer "capture" new shadow. The protocol creates a "historical identity" for him, P', and records the following parameters: @@ -208,14 +208,14 @@ index: the index inherited from P; sTokenAmount_P : the sTokenAmount inherited from P; SDebt_P: the sDebt inherited from P. - + It can be seen that the maximum amount that can eventually be released by P' is: η∗fsToken​ ------ ①; The shadow inherited by P' from P is: -sTokenAmount_P*accSPS_P - SDebt_P +sTokenAmount_P*accSPS_P - SDebt_P Or @@ -230,7 +230,7 @@ When ② < ①, the difference between ① and ② is the capital of P being unf As accSPSDown increases, the value of ② eventually goes to zero. Zero is the minimum value of ② and cannot be a negative number. After ① goes to zero, all residual capital of P finishes withdrawing. - + #### 4.4 Leveraged Liquidity Mining Rewards Mechanism The holder of sToken, i.e. the underwriter of Meta Defender, is entitled to the Leveraged Liquidity Mining rewards. @@ -238,12 +238,12 @@ The holder of sToken, i.e. the underwriter of Meta Defender, is entitled to the In order to encourage underwriters to provide long-term, stable capital, sToken holders are required to hold their sTokens for a certain period of time (approximately 14 natural days, with minor variations depending on the speed of block creation on the mainnet) before they can participate in the withdrawal of this Rewards. After withdrawing from the Capital Reserve and destroying the sToken, the holder will lose the eligibility to withdraw the proceeds. The mining proceeds will be hosted separately by Meta Defender's governance contract and will be claimed from the pool for sToken. - - - - + + + + ### Ecosystem Fit - + - Where and how does your project fit into the ecosystem? Meta Defender will use the stablecoin in parachains as the currency for buying cover, underwriting and for payouts of claims. Currently Meta Defender is planned to be deployed with ink! Smart contract and compatible with Substrate and XCM. Ultimately, we would like to provide insurance services to the main parachains and major protocols in the Polkadot Ecosystem. Also, by introducing XCM, we would like to achieve cross-chain insurance. @@ -269,59 +269,61 @@ Meta Defender’s pricing model is an upgraded Automated Market Maker Model pure Meta Defender’s Leveraged Mining will cooperate with Liquidity Mining protocols in the ecosystem while Nsure has their own capital mining pool. We believe, cooperating with top Liquidity Mining protocols in the ecosystem will maximise the returns with the capital that underwriters inject to the protocol. We are also planning to provide insurance service for more off-chain scenarios by integrating blockchain oracles, such as flight cancellation insurance. - + ## Team :busts_in_silhouette: - + ### Team members - + - Name of team leader: Alvin, CEO - Names of team members: Angie, Fullstack Engineer & 0xdeadbeef, Fullstack Engineer - + ### Contact - + - **Contact Name:** Alvin Lu - **Contact Email:** 0xhikarilab@gmail.com - **Website:** metadefender.finance - + ### Legal Structure - + - **Registered Address:** N/A - **Registered Legal Entity:** N/A - + ### Team's experience - + Alvin: With a background in financial investing and insurance consulting, as well as working a Tech Lead in a Venture Capital, Alvin brings his varied experience to Meta Defender. Alvin is also the external consultant for two AI based projects of China Life Insurance Company, namely an operational decision making tool and a fraud detection technology. He also has massive experience in blockchain, by constructing a DEX and IDO platform. He would like to integrate his expertise in Web3.0 with knowledge in insurance industry and provide a better solution to Blockchain insurance. - + Angie: Angie is a Data Scientist in a ASX-listed Fintech in Australia. She has extensive experience in Finance industry since 2017 and has profound understanding regarding tech utilization in finance industry. Using her expertise, she co-designed the pricing model and business flow of Meta Defender. She is also a crypto enthusiast and fascinated by She masters Solidity, Python Vue.js and Node.js. - + 0xdeadbeef: He is a web3.0 coder and researcher for more than 4 years. He has a master's degree from Shanghai Jiaotong University and a major in finance. He masters solidity, Golang, Rust, Python, and Nodejs. In his past working experience, he worked for a public chain company and researched and developed on-chain DeFi projects, especially in options markets. He has much experience in EVM compatible blockchains. Recently, he has been passionate about insurance, which may be a new area in DeFi. Through his working experience in the on-chain option market, he considered there are many similarities between options and insurance. - + ### Team Code Repos - + **Team Repo** + - https://github.com/Meta-Defender/ - https://github.com/Meta-Defender/Meta-Defender-Contract-V3 - - + + **Team Member** + - https://github.com/lutianzhou001 - https://github.com/327istesting - https://github.com/Angie-Sheng - + ## Development Roadmap :nut_and_bolt: - + ### Overview - + - **Total Estimated Duration:** 8 months - **Full-Time Equivalent (FTE):** 2 - **Total Costs:** 8,000 USD - + ### Milestone 1 — Basic Functionalities - + - **Estimated Duration:** 4 months - **FTE:** 2 - **Costs:** 4,000 USD - + | Number | Deliverable | Specification | | -----: | ----------- | ------------- | | 0a. | License | Apache 2.0 | @@ -329,14 +331,14 @@ Angie: Angie is a Data Scientist in a ASX-listed Fintech in Australia. She has e | 0c. | Testing Guide | Core functions will be covered by unit tests, along with detailed explanation step by step. | | 0d. | Docker | We will provide a Dockerfile that can be used to test all the functionality delivered with this milestone. | | 1. | ink! smart contract | An ink! smart contract that will enable the digital assets holders to buy cover and the capital holder to become an underwriter. | -| 2. | Manual of interaction between ink! and front-end | We will provide a manual regarding constructing an interface for the interaction between front-end and ink! smart contract & Polkadot.js wallet, just like what web3.js and ethers.js have done in the EVM ecosystem. | - +| 2. | Manual of interaction between ink! and front-end | We will provide a manual regarding constructing an interface for the interaction between front-end and ink! smart contract & Polkadot.js wallet, just like what web3.js and ethers.js have done in the EVM ecosystem. | + ### Milestone 2 Substrate + XCM - + - **Estimated Duration:** 4 months - **FTE:** 2 - **Costs:** 4,000 USD - + | Number | Deliverable | Specification | | -----: | ----------- | ------------- | | 0a. | License | Apache 2.0 | @@ -345,22 +347,22 @@ Angie: Angie is a Data Scientist in a ASX-listed Fintech in Australia. She has e | 0d. | Docker | We will provide a Dockerfile that can be used to test all the functionality delivered with this milestone. | | 0e. | Article | We will publish an **article** that explains the functionalities Meta Defender provides, which will cover: 1. auto-pricing model; 2. economic model of insuring and underwriting; 3. how we achieve cross-chain insurance through substrate and XCM and open source this part of code. | | 1. | Cross-chain support | Establish a local parachain testnet and two local parachains A and B with sovereign account in each other. With smart contract deployed on A parachain, allow the user to buy cover and receive his claim from addresses on the B parachain through XCM. | - - + + ## Future Plans - + Short-term plan: Expand the subject-matter insured. We plan to provide insurance on at least five parachains and/or products running on them in the Polkadot Ecosystem. - + Medium-term plan: With the aid of blockchain oracles function, to cover real-life off-chain cases. A potential use case can be flight cancellation insurance. - -Long-term: We would like to cooperate with professional security service providers and to undertake detailed risk analysis on the subject-matter insured and potential projects, which enables us to issue security rating reports and become the security rating agency in web3.0 realm. - + +Long-term: We would like to cooperate with professional security service providers and to undertake detailed risk analysis on the subject-matter insured and potential projects, which enables us to issue security rating reports and become the security rating agency in web3.0 realm. + ## Additional Information :heavy_plus_sign: - -**How did you hear about the Grants Program?** - + +**How did you hear about the Grants Program?** + Meta Defender is the first-place winner of Acala Hackathon: https://twitter.com/AcalaNetwork/status/1527290444379394049?s=20&t=u60vX2VZTWvSoZ1x62Y-sA -Meta Defender is also in the 2022 cohort of Web3.0 Bootcamp supported by Web3 Foundation, Parity and Wanxiang Blockchain Labs. +Meta Defender is also in the 2022 cohort of Web3.0 Bootcamp supported by Web3 Foundation, Parity and Wanxiang Blockchain Labs. Since we have participated in a few activities in the Polkadot Ecosystem and have a profound understanding of the eco, we have been advised that we could apply for the grants program and grow with Polkadot. diff --git a/applications/NFTStore_Network.md b/applications/NFTStore_Network.md index e9dddd1eceb..3fdda9ec848 100644 --- a/applications/NFTStore_Network.md +++ b/applications/NFTStore_Network.md @@ -1,6 +1,5 @@ -# Open Grant Proposal +# NFTStore -* **Project:** NFTStore * **Proposer:** [NFTT Studio](https://github.com/NFTT-studio) * **Payment Address:** 1AeR4htoGwDRMpw7S2TTrzjJxeGLZsopiE diff --git a/applications/NFT_Bridge_Protocol_for_NFT_Migration_and_Data_Exchange.md b/applications/NFT_Bridge_Protocol_for_NFT_Migration_and_Data_Exchange.md index a9dbef69d15..ece5ba07b63 100644 --- a/applications/NFT_Bridge_Protocol_for_NFT_Migration_and_Data_Exchange.md +++ b/applications/NFT_Bridge_Protocol_for_NFT_Migration_and_Data_Exchange.md @@ -1,6 +1,5 @@ -# Open Grant Proposal +# Protocol for NFT Migration and Data Exchange -* **Project Name:** Protocol for NFT Migration and Data Exchange * **Team Name:** Perpetual Altruism * **Payment Address:** BTC : 1B6AHziiBvE28Lg74n23V3dYXbxcVLGKYi diff --git a/applications/Nolik.md b/applications/Nolik.md index f2bf354d117..4c84a0e8a83 100644 --- a/applications/Nolik.md +++ b/applications/Nolik.md @@ -1,6 +1,5 @@ -# W3F Grant Proposal +# Nolik -- **Project Name: Nolik - **Team Name: Chainify - **Payment Address:** 0x9aD97d8605F80003106B0ED7DEe330F064674365 (USDT) - **Level: 1 @@ -8,6 +7,7 @@ ## Project Overview :page_facing_up: ### Overview + Nolik is a protocol for delivering digital content for web 3.0. It allows developers to create applications for formal communication that connect people without any form of censorship or third-party control. The protocol design is based on the ServiceLess approach, meaning that no services from third parties are needed for users to communicate. @@ -18,22 +18,22 @@ Blockchain logic will allow users to create programmable messages rules so they For example, users will be able to create a white list (or black list) of senders which will protect them from spam or irrelevant conversations. Another example would be creating rules like accepting messages within a particular block range or if a particular token is attached to the message, etc. - ### Project Details #### The problem we are targeting + The name Nolik stands for No Leak. -We believe that privacy is a fundamental right of every person and we believe that it should be protected. +We believe that privacy is a fundamental right of every person and we believe that it should be protected. Unlike privacy-first messaging applications like Signal or Threema, we offer a tool that allows communication without a need to trust an app itself. It also allows communication without a permission of a third-party which creates a great foundation on which users can rely and build their tools on top of this ecosystem. - #### Technology overview -Nolik uses a combination of blockchain and IPFS technologies. + +Nolik uses a combination of blockchain and IPFS technologies. The user generates an IPFS file with a particular structure on a client-side and broadcasts it to the blockchain network with additional metadata. In addition to required information about the transaction (like signature, sender, recipient, etc.) we provide additional information about the message. We split the blockchain level and messages level by creating a separate set of encryption keys. -Blockchain (identity) keypairs stand for token management and messages (accounts) keypairs stand for message encryption. +Blockchain (identity) keypairs stand for token management and messages (accounts) keypairs stand for message encryption. Users can have several identities (like personal or corporate). At the same time, each identity can have multiple accounts (like email addresses). Each message is encrypted with a public key of the recipient. @@ -43,6 +43,7 @@ You can find how the protocol works in detail below. The protocol is flexible and allows the creation of various data structures which can fit the needs of any app. #### Use case example + Nolik protocol could be used for a media service that protects journalists and whistleblowers from political oppression and technological borders like firewalls, blockings, etc. The protocol guarantees the delivery of the message through the network due to the absence of a single point of failure. A freedom of speech which is guaranteed mathematically. @@ -51,7 +52,7 @@ This means that behind every post there is nothing but a public key. The journalist can prove his identity by publicly attaching the public key to his identity (for example, in social media) and signing some sample data. But if a journalist or a whistleblower would like to hide their identity nothing will stop him from doing that. By default every message is encrypted. -It sounds great but there is a potential scalability downside. +It sounds great but there is a potential scalability downside. To deliver the message to a million people the journalist will have to encrypt the same message million times. The journalist can create a separate account which stands for a channel. That account is a proxy that delivers the message to the audience. @@ -63,29 +64,28 @@ On the channel creation stage, the journalist can add a rule that the channel ac This approach allows them to deliver the message to an unlimited audience and save tons of resources. The same method can be used for creating private or public group conversations. - #### The Protocol Nolik protocol is designed to make trustless communication possible. It provides flexibility for developers so they can build their applications on top of the platform. The protocol allows to: -* Stay protected from a middleware attack -* Communicate without servers or service as a third-party -* Protect messages from unauthorized access with decentralized end-to-end encryption -* Guarantee that the message was sent at a particular date and time -* Have a provable immutability of message content, metadata, and the timestamp information -* Prove that the message was sent by a particular sender -* Prove that the message was sent to a particular recipient or recipients -* Make sure that all recipients received the same message at the same time -* Send messages from multiple senders at the same time -* Verify the sender and be protected from a phishing attack -* Attach tokens (like NFTs) to message -* Use different clients to get access to messages +- Stay protected from a middleware attack +- Communicate without servers or service as a third-party +- Protect messages from unauthorized access with decentralized end-to-end encryption +- Guarantee that the message was sent at a particular date and time +- Have a provable immutability of message content, metadata, and the timestamp information +- Prove that the message was sent by a particular sender +- Prove that the message was sent to a particular recipient or recipients +- Make sure that all recipients received the same message at the same time +- Send messages from multiple senders at the same time +- Verify the sender and be protected from a phishing attack +- Attach tokens (like NFTs) to message +- Use different clients to get access to messages Each message contains two main parts - the transaction data and the IPFS data. The transaction data is additional information that is sent along with required information within a transaction body. -It contains general metadata about the sender and recipient or recipients of the message. +It contains general metadata about the sender and recipient or recipients of the message. This information has a specific purpose and requires specific fields to be provided. The metadata is validated and checked at a sending stage and if something is wrong will be rejected by miners. @@ -99,7 +99,8 @@ However, to solve this issue users within a community can create services that c Another great way to solve this issue would be using FileCoin or similar services to make sure that the recipient will get the message in a longer period. #### Encryption -The message encryption is based on the Diffie-Hellman protocol with the ed25519 curve. + +The message encryption is based on the Diffie-Hellman protocol with the ed25519 curve. To encrypt the message the sender generates a shared secret with the recipient's public key and her private key. At the same time, the recipient generates the same shared secret with the sender's public key and his private key. There is no problem with decrypting the message if the recipient knows the sender's public key. @@ -111,7 +112,7 @@ To do that we use a trick with one-time-use nonce and sender's public key which They are required for the recipient, so he can decrypt the real sender's (sender's) public key and decrypt the message. We will dive into details below. -#### The transaction metadata +#### The transaction metadata Each message contains a specific set of information that is included in the blockchain transaction body. On the other side, recipient or recipients will be able to track the blockchain transactions and decrypt those which were sent to them. @@ -147,19 +148,20 @@ batch: ``` ##### Batch + --- -Each message is encrypted with the recipient's public key based on Diffie-Hellman protocol. +Each message is encrypted with the recipient's public key based on Diffie-Hellman protocol. If there are several recipients the same message is encrypted several times for different recipients. All the versions of the same message should be provided in the batch section. The message should contain nonce, sender, recipient, and data sections. **Nonce** is a section with a one-time generated 24-bit value. It allows making sure that the same message (like "Hi") can not be brute-forced by a malicious third party. -There are two nonce values - the private (encrypted) and the one-time-use one. +There are two nonce values - the private (encrypted) and the one-time-use one. As we mentioned earlier the message is encrypted with the sender's real public key, but for security reasons we encrypt it. -One-time-use nonce is used along with one-time-use public key to encrypt sender's real public key. +One-time-use nonce is used along with one-time-use public key to encrypt sender's real public key. -**Sender** is a section with information about the sender of a particular message. +**Sender** is a section with information about the sender of a particular message. It contains the encrypted public key of a sender. The one-time-use public key is required for the recipient, so he could decrypt the sender's real public key. @@ -175,6 +177,7 @@ It contains encrypted public keys of a recipient. The structure of that file is described below. ##### Nonce + --- The **onetimeuse** value is a one-time public 24-bit nonce that is generated on transaction creation. It is used as salt to sender->ciphertext, sender->blake2hash, verifier->ciphertext, verifier->blake2hash and recipient->blake2hash fields. @@ -186,8 +189,8 @@ It could be used for salting sender->blake2hash, verifier->blake2hash and recipi The **blake2hash** value is salted with the nonce blake2 hash of the nonce. Every recipient will have a unique nonce that can be used to prove message metadata and the content of the message independently from other recipients. - ##### Sender + --- **Sender** is a 32-bit string that represents the sender's public key and account address at the same time. @@ -204,9 +207,11 @@ It can be decrypted only by the recipient. The **blake2hash** value is a hashed sender's public key salted with a one-time-use nonce blake2 hash. The formula looks like this: + ``` H(H(pk), N) ``` + Where "H" is a blake2 hash function, "pk" is the sender's public key and N is a one-time nonce. The sender knows his public keys, and that allows to identify related messages among others. The downside of this approach is that once one knows the sender's public key he will be able to track the account activity. @@ -214,9 +219,11 @@ To fix this the one-time-use nonce can be replaced with private nonce, but in th List of **signatures** is a set of cryptographic proofs (digital signatures) of sender and one-time use private key. Both of the signatures sign the hash of all hashes according to the formula: + ``` H(nH | sH | v(0)H...v(n)H | rH | dH) ``` + Where "H" is a blake 2 hash function, "nH" is nonce blake2hash value, "sH" is sender's blake2hash value, "v(0)H...v(n)H" are concatenated verifiers' blake2hash values, "rH" is recipient's blake2hash value, "dH" is IPFS file hash. ##### Verifiers @@ -236,9 +243,11 @@ It can be decrypted only by the recipient. The **blake2hash** value is salted with one-time-use nonce blake2 hash of a hashed verifier's public key. The formula looks like this: + ``` H(H(pk), N) ``` + Where "H" is a blake2 hash function, "pk" is the verifier's public key and N is a one-time-use nonce. Verifier knows his public keys, and that allows to identify related messages among others. The downside of this approach is that once one knows the sender's public key he will be able to track the account activity. @@ -246,13 +255,15 @@ To fix this the one-time-use nonce can be replaced with private nonce, but in th List of **signatures** is a set of cryptographic proofs (digital signatures) of each verifier and one-time-use public key. Both of the signatures sign the hash of all hashes according to the formula: + ``` H(nH | sH | v(0)H...v(n)H | rH | dH) ``` -Where "H" is a blake 2 hash function, "nH" is nonce blake2hash value, "sH" is sender's blake2hash value, "v(0)H...v(n)H" are concatenated verifiers' blake2hash values, "rH" is recipient's blake2hash value, "dH" is IPFS file hash. +Where "H" is a blake 2 hash function, "nH" is nonce blake2hash value, "sH" is sender's blake2hash value, "v(0)H...v(n)H" are concatenated verifiers' blake2hash values, "rH" is recipient's blake2hash value, "dH" is IPFS file hash. ##### Recipient + --- **Recipient** is a 32-bit string that represents the recipient's public key and account address at the same time. @@ -262,22 +273,24 @@ It can be decrypted only by sender and recipient. The **blake2hash** vvalue is a blake2 hash of a hashed recipient's public key salted with one-time-use nonce. The formula looks like this: + ``` H(H(pk), N) ``` + Where "H" is a blake2 hash function, "pk" is the recipient's public key and N is a one-time-use nonce. The recipient knows his public keys, and that allows to identify related messages among others. The downside of this approach is that once one knows the recipient's public key he will be able to track the account activity. To fix this the one-time-use nonce can be replaced with private nonce, but in this case, the recipient will have to decrypt every message in the blockchain. - ##### Data + --- Data is a section with an IPFS hash of a file that contains encrypted message information in key-value format. We will discuss the structure of an IPFS file below. - #### The IPFS data file + --- The data file is a text file with a specific data structure. It contains encrypted data which can be decrypted only by the sender and recipient of a message. @@ -297,16 +310,16 @@ data: ``` #### Key + --- -The **ciphertext** value is an encrypted name of a particular field. +The **ciphertext** value is an encrypted name of a particular field. It can be decrypted only by sender and recipient. The **blake2hash** value is salted with the private nonce blake2 hash of data content. - #### PoC and prior work -We have been working on decentralized messaging apps for the last several years. +We have been working on decentralized messaging apps for the last several years. During this time the protocol became much more solid and stable. Here are some related links: @@ -317,12 +330,11 @@ Here are some related links: This is the latest open-source version of the messenger. The protocol is more or less the same, but to run the messaging service one has to use centralized servers to increase the user experience. - The **latest** version I've been working on is not open-source because it was a custom build for an external company, but here is a video demo of how the messenger works: >[XYZ Messenger Demo (EN) -- 5m 38s](https://youtu.be/HSMjikDiheY) -This technology has been used in production at a nonprofit organization [HelpTeens](https://helpteens.ru) in Saint-Petersburg that provides free online psychological support for teenagers. +This technology has been used in production at a nonprofit organization [HelpTeens](https://helpteens.ru) in Saint-Petersburg that provides free online psychological support for teenagers. We used Nolik to protect kids' privacy and keep their secrets safe. It worked perfectly, but we had to stop using the technology due to legal restrictions. A new set of legal rules obligates any company to disclose the decryption keys to authorities and we had nothing to disclose. @@ -350,7 +362,7 @@ The technology has changed but the core principles are still the same. >[Nolik DB Demo -- 1m 11s](https://youtu.be/PyueRPY4fHc) This is an experiment from one of the hackathons. -I applied the Nolik protocol to build a decentralized database that allows the storage of structured data using SQL syntax. +I applied the Nolik protocol to build a decentralized database that allows the storage of structured data using SQL syntax. #### Non-goals @@ -364,7 +376,6 @@ Although Nolik is designed to be an independent product, the secure platform wit For example, apps will be able to exchange secrets like private keys, send tokens or a WASM code. That might be one of the possible benefits for the Polkadot community, but we will know if there is any value only by talking to users. - ## Team :busts_in_silhouette: ### Team members @@ -377,14 +388,15 @@ That might be one of the possible benefits for the Polkadot community, but we wi - **Contact Email:** aboziev@gmail.com ### Legal Structure + No legal entity yet ### Team's experience -#### Amir Boziev +#### Amir Boziev Since 2018 I've been involved in various projects in different domains including edTech, private messaging, data security, social good, and others. -I've increased my expertise in product development, marketing, and programming. +I've increased my expertise in product development, marketing, and programming. Worked as a researcher in blockchain tech to find a product-market-fit for this amazing technology which I'm passionate about. For the last five years, I've been learning how to make successful products. @@ -393,8 +405,8 @@ One of them is growing. Right now I am learning [Game Thinking Mechanicks](http://gamethinking.io) to make better products. Previously worked as a Director of blockchain products and strategy at Latoken. -I've been working with amazingly talented people on product management and the development of both decentralized and centralized crypto exchanges. -We also have been working on fundamental research and development of a framework that simulates the behavior of a blockchain on a network level. +I've been working with amazingly talented people on product management and the development of both decentralized and centralized crypto exchanges. +We also have been working on fundamental research and development of a framework that simulates the behavior of a blockchain on a network level. We've analyzed the most popular consensus algorithms (PoW, PoS, dPoS BFT, etc.) and blockchain platforms (Bitcoin, Ethereum, Cordana, Ripple, Waves, Hashgraph, etc.). @@ -405,26 +417,25 @@ Rust experience: 3+ months, but moving fast. ### Team Code Repos -- https://github.com/chainify -- https://github.com/chainify/nolik +- +- Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine. -- https://github.com/amrbz +- ### Team LinkedIn Profiles -- https://www.linkedin.com/in/amrbz +- ## Development Status :open_book: -* [XYZ Messenger](https://docs.google.com/document/d/1Vxieh7b6wTQZoHpBQQTC5bH58kwcYlF0wm8yh0acXCI/edit?usp=sharing) +- [XYZ Messenger](https://docs.google.com/document/d/1Vxieh7b6wTQZoHpBQQTC5bH58kwcYlF0wm8yh0acXCI/edit?usp=sharing) -* [Rhizome](https://docs.google.com/document/d/1nbqO-ZHKTltqS7a10MYHKIetiFPd_NS6danfV7rGp1I/edit?usp=sharing) +- [Rhizome](https://docs.google.com/document/d/1nbqO-ZHKTltqS7a10MYHKIetiFPd_NS6danfV7rGp1I/edit?usp=sharing) Those are research documents that lead me to this project. - ## Development Roadmap :nut_and_bolt: ### Overview @@ -451,7 +462,6 @@ This milestone will allow the operation of a local dev chain. | 2. | Substrate module: Message Validation | We will create a Substrate module that will validate the message on sending stage to accept or reject it | | 3. | Substrate chain | Both modules of our custom chain will allow users to set up account rules and validate incoming messages on whether the senders have a right to send a message or not. In case of a rejected transaction user will get a related error message| - ### Milestone 2 — Develop CLI tools This milestone will allow the usage of CLI tools, which are going to be written in Rust language. They will allow users to interact with the network by composing, sending, and accepting messages. @@ -472,27 +482,25 @@ This milestone will allow the usage of CLI tools, which are going to be written | 3. | CLI: get | We will create a CLI tool that will allow to download and read received messages if any | | 4. | CLI | CLI tools will allow users to compose messages, send them to recipients and read incoming messages on request | - ## Future Plans ### Short-term -* Apply to the Substrate Builders Program. -* Develop the PoC blockchain core with CLI tools -* Make customer research and validate product ideas -* Launch a public testnet and build a Messaging app - +- Apply to the Substrate Builders Program. +- Develop the PoC blockchain core with CLI tools +- Make customer research and validate product ideas +- Launch a public testnet and build a Messaging app ### Long-term -* Close seed funding round and form a team -* Apply to W3F L3 grant program -* Convert to mainnet -* Build a messaging app +* Close seed funding round and form a team +- Apply to W3F L3 grant program +- Convert to mainnet +- Build a messaging app ## Additional Information :heavy_plus_sign: -**How did you hear about the Grants Program?** +**How did you hear about the Grants Program?** Personal recommendation of my friends: -* https://github.com/kmadorin -* https://github.com/CryptoBadBoy W3F grant program alumni (Fratcapp) \ No newline at end of file +- +- W3F grant program alumni (Fratcapp) diff --git a/applications/NuLink.md b/applications/NuLink.md index bf1386cd788..baeb8de311d 100644 --- a/applications/NuLink.md +++ b/applications/NuLink.md @@ -1,5 +1,5 @@ -# Open Grant Proposal -* **Project:** NuLink +# NuLink + * **Proposer:** Pawn * **Payment Address:** 0xf7410438ead9e89EEd5ca6e61a11E862C297ca0e diff --git a/applications/OpenSquare-offchain-voting.md b/applications/OpenSquare-offchain-voting.md index 3204ce6c7f6..97a6042872b 100644 --- a/applications/OpenSquare-offchain-voting.md +++ b/applications/OpenSquare-offchain-voting.md @@ -1,6 +1,5 @@ -# W3F Grant Proposal +# OpenSquare off-chain voting for Polkadot ecosystem -* **Project Name:** OpenSquare off-chain voting for Polkadot ecosystem * **Team Name:** OpenSquare * **Payment Address:** 0x4905083abdD13bd95345A871701Fd0b08AbD46d1 (USDT) @@ -11,45 +10,48 @@ In short, you can see this proposed platform as [snapshot](https://snapshot.org) in the polkadot ecosystem. Though Polkadot/Kusama and most other Substrate based chains have on-chain governance and runtime can be easily upgraded with democracy. We think this platform still make sense with following reasons: -- Compared to the formal on-chain votes, this platform provides not so formal off-chain signed polls which may help token holders and community members engage **more** in the ecosystem building. -- Compared to Polkassembly polls on post: - - users have to sign their votes and the signed data will be stored on IPFS - - users don’t have to do any registration. - - Different strategies can also be provided to calculate the final result, rather than simply count the vote numbers. -- Not all on-chain systems with assets on Substrate based chains can upgrade with democracy, like assets issued on Statemine, ERC-20 assets which may be issued on Moonriver, Karura, Shiden, etc. +* Compared to the formal on-chain votes, this platform provides not so formal off-chain signed polls which may help token holders and community members engage **more** in the ecosystem building. +* Compared to Polkassembly polls on post: + * users have to sign their votes and the signed data will be stored on IPFS + * users don’t have to do any registration. + * Different strategies can also be provided to calculate the final result, rather than simply count the vote numbers. +* Not all on-chain systems with assets on Substrate based chains can upgrade with democracy, like assets issued on Statemine, ERC-20 assets which may be issued on Moonriver, Karura, Shiden, etc. ### Project Details + Off-chain votes will be an important part of OpenSquare collaboration platform. Other planned collaboration forms include bounties, payment QA, short term employment, etc. Key components in this proposal include: -- Predefined spaces where users can create proposals. It will definitely include Kusama and Polkadot, current para-chains with very high possibility. -- Proposal list in one space where users can view the closed or ongoing proposals. -- Proposal detail page where users can view the detail and the signed votes. -- A proposal discussion arena where users submit the signed messages and here we expect chaos. -- An authoring page where users can create proposals, and set the corresponding snapshot height, start and end date(height). -- Archive nodes interaction with which we read users’ balances on the corresponding snapshot block height. -- A backed server to interact with the node(Polkadot, Kusama, etc), store the organized data to DB, handle IPFS storage, provide APIs to get data. +* Predefined spaces where users can create proposals. It will definitely include Kusama and Polkadot, current para-chains with very high possibility. +* Proposal list in one space where users can view the closed or ongoing proposals. +* Proposal detail page where users can view the detail and the signed votes. +* A proposal discussion arena where users submit the signed messages and here we expect chaos. +* An authoring page where users can create proposals, and set the corresponding snapshot height, start and end date(height). +* Archive nodes interaction with which we read users’ balances on the corresponding snapshot block height. +* A backed server to interact with the node(Polkadot, Kusama, etc), store the organized data to DB, handle IPFS storage, provide APIs to get data. ![os_grant_voting](https://user-images.githubusercontent.com/2264908/127607269-5d54f0b0-d8b8-48f1-9c7a-fc8c205bc645.png) Some implementation notes: -- We have to call polkadot.js extension to sign the voting/poll, and some discussion messages. -- About voting power, since Polkadot/Kusama have proxy accounts, so we have to support proxy account vote on behalf of the original one. -- In this proposal, we will implement `balance of account` and `quadratic balance of account` strategies for Polkadot and Kusama. It means if Alice's balance is 100 at one chain height, her voting power will be 100 and 10 by these 2 strategies. -- We have a partnership with [Crust](https://crust.network/), and we may store data to IPFS through [decoo](https://decoo.io/) that crust granted. +* We have to call polkadot.js extension to sign the voting/poll, and some discussion messages. +* About voting power, since Polkadot/Kusama have proxy accounts, so we have to support proxy account vote on behalf of the original one. +* In this proposal, we will implement `balance of account` and `quadratic balance of account` strategies for Polkadot and Kusama. It means if Alice's balance is 100 at one chain height, her voting power will be 100 and 10 by these 2 strategies. +* We have a partnership with [Crust](https://crust.network/), and we may store data to IPFS through [decoo](https://decoo.io/) that crust granted. ### Ecosystem Fit + - Providing off-chain voting/polls to help token holders/community members engage more in ecosystem building. -- Flexible strategies help produce different voting/poll results which bring us different opinions from the on-chain tallying methods. -- [snapshot](https://snapshot.org) is popular for Ethereum stack projects, mainly for governance, and currently we didn't see similar projects in Polkadot ecosystem. +* Flexible strategies help produce different voting/poll results which bring us different opinions from the on-chain tallying methods. +* [snapshot](https://snapshot.org) is popular for Ethereum stack projects, mainly for governance, and currently we didn't see similar projects in Polkadot ecosystem. ## Team :busts_in_silhouette: ### Team members + - Yongfeng Li(@wliyongfeng), Full stack developer -- Chaojun Huang(@hyifeng), Full stack developer -- Wentao Chen(@qiyisi), Full stack developer -- Yizhou Xin(@YoshiyukiSakura), Full stack developer -- Alcazar(@Popoulosss), Designer -- Yaping Wu, BD and execution member +* Chaojun Huang(@hyifeng), Full stack developer +* Wentao Chen(@qiyisi), Full stack developer +* Yizhou Xin(@YoshiyukiSakura), Full stack developer +* Alcazar(@Popoulosss), Designer +* Yaping Wu, BD and execution member You can see our team with this [link](https://www.opensquare.network/team/). @@ -57,31 +59,32 @@ You can see our team with this [link](https://www.opensquare.network/team/). * **Contact Name:** Yongfeng Li * **Contact Email:** wliyongfeng@gmail.com -* **Website:** https://www.opensquare.network +* **Website:** ### Legal Structure + * **Registered Address:** 3 FRASER STREET #05-25, DUO TOWER, SINGAPORE 189352 * **Registered Legal Entity:** OPENSQUARE FOUNDATION LTD. ### Team's experience We have more than 3 years experience with Substrate/Polkadot related tech stack. Our recently developing products include: -- [doTreasury](https://www.dotreasury.com/). We can now see it as a treasury business explorer but it aims to improve the treasury mechanism with retrospection. -- [Statescan](https://www.statescan.io), a fungible asset explorer for Statemint implementation chains. -- OpenSquare bounties business built on substrate. We got a grant for this, and please check details [here](https://github.com/w3f/General-Grants-Program/blob/master/grants/speculative/open_square_network.md). +* [doTreasury](https://www.dotreasury.com/). We can now see it as a treasury business explorer but it aims to improve the treasury mechanism with retrospection. +* [Statescan](https://www.statescan.io), a fungible asset explorer for Statemint implementation chains. +* OpenSquare bounties business built on substrate. We got a grant for this, and please check details [here](https://github.com/w3f/General-Grants-Program/blob/master/grants/speculative/open_square_network.md). We are honored that either dotreasury or statescan get support from kusama or polkadot treasury, and our work about bounties is granted by w3f previously. We are confident to deliver a high quality and usable off-chain voting site. ### Team Code Repos -https://github.com/opensquare-network/ + Team members github accounts: -- https://github.com/wliyongfeng -- https://github.com/hyifeng -- https://github.com/qiyisi -- https://github.com/YoshiyukiSakura -- https://github.com/Popoulosss +* +* +* +* +* ## Development Roadmap :nut_and_bolt: @@ -89,9 +92,9 @@ Only 1 milestone in this proposal, while the main goal is to check the feasibili We will put more features like more plugins and strategies in future proposals, but after this proposal we will launch it and make it available to the community. Milestone 1 — Implement Basic off-chain voting/polls logic for Polkadot & Kusama -- Estimated duration: 2 weeks -- FTE: 3 -- Costs: 8,000 USD +* Estimated duration: 2 weeks +* FTE: 3 +* Costs: 8,000 USD | Number | Deliverable | Specification | | -----: | ----------- | ------------- | @@ -107,6 +110,6 @@ Milestone 1 — Implement Basic off-chain voting/polls logic for Polkadot & Kusa ## Future Plans -- Add more spaces, and in the future users may create their own space and customize it. -- Support plugins and more strategies so users can customize the process and voting result. -- Support voting by assets issued on statemine or erc-20 tokens. +* Add more spaces, and in the future users may create their own space and customize it. +* Support plugins and more strategies so users can customize the process and voting result. +* Support voting by assets issued on statemine or erc-20 tokens. diff --git a/applications/OpenSquare_paid_qa_protocol.md b/applications/OpenSquare_paid_qa_protocol.md index bc1e02193c2..ebfed8a3314 100644 --- a/applications/OpenSquare_paid_qa_protocol.md +++ b/applications/OpenSquare_paid_qa_protocol.md @@ -1,6 +1,5 @@ -# W3F Grant Proposal +# OpenSquare Paid QA protocol -* **Project Name:** OpenSquare Paid QA protocol * **Team Name:** OpenSquare * **Payment Address:** 0x4905083abdD13bd95345A871701Fd0b08AbD46d1 (USDT) @@ -41,42 +40,42 @@ DAPP implementers may do the submission in a batch way. The packages or components we have to implement includes: -- A scan package which tracks the interactions on a blockchain, and stores the structured data to the database. -- Scripts which interact with IPFS, fetch or upload content. -- A restful server will handle api calls from user interfaces and serve the structured data to them. -- A backend job which aggregates the signed answers and submits them to blockchain in a batch extrinsic. -- User interfaces. +* A scan package which tracks the interactions on a blockchain, and stores the structured data to the database. +* Scripts which interact with IPFS, fetch or upload content. +* A restful server will handle api calls from user interfaces and serve the structured data to them. +* A backend job which aggregates the signed answers and submits them to blockchain in a batch extrinsic. +* User interfaces. The user interfaces will include: -- A topic list page where users can see all the topics. Each topic is shown with its author, title, created time, +* A topic list page where users can see all the topics. Each topic is shown with its author, title, created time, status, etc. There may be some filters, like token currency filter and amount filter. -- A topic authoring page where a topic author can edit the topic, sign the extrinsic and submit to blockchain. -- A topic detail page: - - It shows the topic details and the answers. - - A user can answer the topic and sign with his/her polkadot key. - - A user can support this topic and sign the extrinsic to blockchain. - - Any user can fund an answer or the topic. - - It will show all the fund records, including from, to and the funded tokens. - - The author and supporter can resolve the topic on this page. -- A user page which is identified by address: - - A list of the created/supported topics. - - A list answers. - - Statistics of funds granted and received. - - Maybe some interfaces for operations, like links to create a topic. -- In site notifications(centralized) - - A topic author/supporter will receive a notification when there are new answers. - - An answer author will receive a notification when his/her answer gets funded. +* A topic authoring page where a topic author can edit the topic, sign the extrinsic and submit to blockchain. +* A topic detail page: + * It shows the topic details and the answers. + * A user can answer the topic and sign with his/her polkadot key. + * A user can support this topic and sign the extrinsic to blockchain. + * Any user can fund an answer or the topic. + * It will show all the fund records, including from, to and the funded tokens. + * The author and supporter can resolve the topic on this page. +* A user page which is identified by address: + * A list of the created/supported topics. + * A list answers. + * Statistics of funds granted and received. + * Maybe some interfaces for operations, like links to create a topic. +* In site notifications(centralized) + * A topic author/supporter will receive a notification when there are new answers. + * An answer author will receive a notification when his/her answer gets funded. Please check part of the UIs [here](https://www.figma.com/proto/vqpglMGW8psHKB00eIVDUV/OpenSquare?page-id=3655%3A16149&node-id=3659%3A30988&viewport=322%2C48%2C0.08&scaling=min-zoom). ### Ecosystem Fit -- It’s `system#remark` based, lightweight, and gas free for topic answers. -- Target audience are all the community members who have questions to ask or topics to discuss, and who have knowledge +* It’s `system#remark` based, lightweight, and gas free for topic answers. +* Target audience are all the community members who have questions to ask or topics to discuss, and who have knowledge to share. -- It provides a way with bounty for Pokadot ecosystem community members to share knowledge. -- I know [mem.co](https://mem.co/) who has similar planned products, but currently seems no products released. We +* It provides a way with bounty for Pokadot ecosystem community members to share knowledge. +* I know [mem.co](https://mem.co/) who has similar planned products, but currently seems no products released. We OpenSquare developed a centralized paid QA platform in Chinese, but we think decentralization should be the right direction. @@ -84,11 +83,11 @@ Please check part of the UIs [here](https://www.figma.com/proto/vqpglMGW8psHKB00 ### Team members -- Yongfeng Li(@wliyongfeng), Full stack developer -- Chaojun Huang(@hyifeng), Full stack developer -- Wentao Chen(@qiyisi), Full stack developer -- Yizhou Xin(@YoshiyukiSakura), Full stack developer -- Alcazar(@Popoulosss), Designer +* Yongfeng Li(@wliyongfeng), Full stack developer +* Chaojun Huang(@hyifeng), Full stack developer +* Wentao Chen(@qiyisi), Full stack developer +* Yizhou Xin(@YoshiyukiSakura), Full stack developer +* Alcazar(@Popoulosss), Designer You can see our team [here](https://www.opensquare.network/team/). @@ -96,7 +95,7 @@ You can see our team [here](https://www.opensquare.network/team/). * **Contact Name:** Yongfeng Li * **Contact Email:** wliyongfeng@gmail.com -* **Website:** https://www.opensquare.network +* **Website:** ### Legal Structure @@ -108,41 +107,41 @@ You can see our team [here](https://www.opensquare.network/team/). We have more than 3 years experience with Substrate/Polkadot related tech stack. Our recently developing products include: -- [doTreasury](https://www.dotreasury.com/). We can now see it as a treasury business explorer but it aims to improve +* [doTreasury](https://www.dotreasury.com/). We can now see it as a treasury business explorer but it aims to improve the treasury mechanism with retrospection. -- [Statescan](https://www.statescan.io). An explorer for asset para chains, and we have implemented +* [Statescan](https://www.statescan.io). An explorer for asset para chains, and we have implemented Statemine/Statemint/Westmint. -- OpenSquare bounties business built on substrate. We got a grant for this, and please check +* OpenSquare bounties business built on substrate. We got a grant for this, and please check details [here](https://github.com/w3f/General-Grants-Program/blob/master/grants/speculative/open_square_network.md). -- OpenSquare off chain [voting](https://voting.opensquare.io/) platform. We got a grant to develop it, please check +* OpenSquare off chain [voting](https://voting.opensquare.io/) platform. We got a grant to develop it, please check details [here](https://github.com/w3f/Grants-Program/blob/master/applications/OpenSquare-offchain-voting.md). We have supported Statemine assets since the grant delivery and got RMRK as our first user. ### Team Code Repos -https://github.com/opensquare-network/ + Team members github accounts: -- https://github.com/wliyongfeng -- https://github.com/hyifeng -- https://github.com/qiyisi -- https://github.com/YoshiyukiSakura -- https://github.com/Popoulosss +* +* +* +* +* ## Development Roadmap :nut_and_bolt: ### Overview -- **Total Estimated Duration:** 6 weeks -- **Full-Time Equivalent (FTE):** 5 FTE -- **Total Costs:** 25,000 USD +* **Total Estimated Duration:** 6 weeks +* **Full-Time Equivalent (FTE):** 5 FTE +* **Total Costs:** 25,000 USD Milestone 1 — Implement the paid QA businesses -- **Total Estimated Duration:** 6 weeks -- **Full-Time Equivalent (FTE):** 5 FTE -- **Total Costs:** 25,000 USD +* **Total Estimated Duration:** 6 weeks +* **Full-Time Equivalent (FTE):** 5 FTE +* **Total Costs:** 25,000 USD | Number | Deliverable | Specification | | -----: | ----------- | ------------- | @@ -170,10 +169,10 @@ Milestone 1 — Implement the paid QA businesses ## Future Plans -- Support more chains and add more token identifiers, so users can collaborate with more tokens. -- Add more topic field definitions, so users can collaborate with more ways, for example, a field to support a poll +* Support more chains and add more token identifiers, so users can collaborate with more tokens. +* Add more topic field definitions, so users can collaborate with more ways, for example, a field to support a poll topic, a field to help users make categories. -- Credit/reputation building based on the behaviors, but it will be a long pan which need considerations together with +* Credit/reputation building based on the behaviors, but it will be a long pan which need considerations together with other collaborations in OpenSquare developed platforms. ## Additional Information :heavy_plus_sign: diff --git a/applications/ParaSpell.md b/applications/ParaSpell.md index f5a648737b4..950450b884f 100644 --- a/applications/ParaSpell.md +++ b/applications/ParaSpell.md @@ -1,9 +1,8 @@ -# W3F Grant Proposal +# ParaSpell -- **Project Name:** ParaSpell -- **Team Name:** ParaSpell -- **Payment Address:** 0xa085190c859eAe92bCCED9CE05b10DDb363FE5Ea (USDC) -- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 🐣 +- **Team Name:** ParaSpell +- **Payment Address:** 0xa085190c859eAe92bCCED9CE05b10DDb363FE5Ea (USDC) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 🐣 ## Project Overview 📄 @@ -12,15 +11,18 @@ XCM & XCMP related development tool for developers. ParaSpell main advantages can be summarized in the following list: -- ParaSpell is a platform that allows developers to use specific XCM & XCMP related tasks from a user-friendly interface. -- ParaSpell focuses on ease of use, broad scale of use cases, and bringing XCM & XCMP utilization & documentation closer to developers. -- ParaSpell guarantees to be a completely decentralized, open-source platform that does not collect any user data. + +- ParaSpell is a platform that allows developers to use specific XCM & XCMP related tasks from a user-friendly interface. +- ParaSpell focuses on ease of use, broad scale of use cases, and bringing XCM & XCMP utilization & documentation closer to developers. +- ParaSpell guarantees to be a completely decentralized, open-source platform that does not collect any user data. One of the ParaSpell main goals is to reduce the time necessary to create XCM calls or open HRMP channels. -![comparisonImg](https://user-images.githubusercontent.com/55763425/198575362-929a94fc-b118-42de-95b4-b8ac358be3bc.jpg) +[ +![Opening channel screen](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/comparisonImg.jpg) +](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/comparisonImg.jpg) -As we can see in the figure above, the amount of details the user has to fill to transfer the XCM message is drastically reduced. As an example, users do not need to specify a specific route from origin to destination chain. These details are filled for them. +As we can see in the figure above, the amount of details the user has to fill to transfer the XCM message is drastically reduced. As an example, users do not need to specify a specific route from origin to destination chain. These details are filled for them. Another goal of ParaSpell is having network installation, compilation & startup done as simply as possible. This is achieved by makefile that groups commands into fewer much more intuitive commands and by network startup configuration file. Together, these two files take care of the network side, and adding new nodes into these files is intuitive. Starting the application is also very simple and done by one command. Communication between application and network is made possible with Polkadot API libraries. @@ -33,49 +35,57 @@ Overall ParaSpell is all about developer experience. ParaSpell in its current form allows developers to install all dependencies as well as a network consisting of Rococo, Pichiu(Kylin network), Bifrost & Acala nodes with one command. Launching a network is also done by one command. Once the network is installed and started ParaSpell application allows developers to open/close HRMP channels between mentioned parachains. In current progress ParaSpell already has user interface and main functionality almost finished. The following screen allows the user to open the HRMP channels between list of parachains pulled from Rococo by API call. -Open channel - +[ +![Opening channel screen](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/Open%20channel.png) +](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/Open%20channel.png) Closing HRMP channels is just as simple as opening them. One button click to close the required channel. -close channel - +[ +![Closing channel screen](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/close%20channel.png) +](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/close%20channel.png) If the user decides to transfer funds from Relay chain to Parachain they can do so by filling following details. These required details are way faster to fill than filling a full XCM call which requires a complete route and selection of concrete token. -relay to para +[ +![Relay to para screen](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/relay%20to%20para.png) +](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/relay%20to%20para.png) The opposite, but nearly the same scenario is sending tokens from Parachain to Relay chain. It is just as simple, however. -para to relay - +[ +![Para to relay screen](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/para%20to%20relay.png) +](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/para%20to%20relay.png) The last transaction scenario is the transfer of funds between Parachain and another Parachain. -para to para - +[ +![Para to para screen](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/para%20to%20para.png) +](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/para%20to%20para.png) - Overview video of application is also available on Youtube [Link to overview video](https://youtu.be/YKZEa2MaY6Q) #### Architecture 🏗 -![screenFlow](https://user-images.githubusercontent.com/55763425/198412240-e031d877-c5d8-4952-9048-2e1256ba4469.svg) +[ +![Diagram](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/screenFlow.svg) +](https://raw.githubusercontent.com/dudo50/Polkachange/main/img/screenFlow.svg) Application is purposely designed to be as simple as possible. This guarantees, that all tasks can be done quickly and without extended searching. All necessary screens also feature notifications which will as a milestone explain be callback reactive. The loading screen is only present on the first application & network startup, once accessing the same screen after the application was loaded it will be skipped automatically. The screen serves to register necessary assets in parachain nodes. This is only required to be run once per network startup. #### Technology Stack 💻 -- Vue.js -- Node.js -- Typescript -- Polkadot api libraries -- Make +- Vue.js +- Node.js +- Typescript +- Polkadot api libraries +- Make - Polkadot launch -- Substrate compatible nodes (For now Rococo, Pichiu(Kylin network), Bifrost & Acala) +- Substrate compatible nodes (For now Rococo, Pichiu(Kylin network), Bifrost & Acala) ### Ecosystem Fit 🌿 -There are not many XCM & XCMP related development tools released currently. We aim to aid this mostly empty space and help developers to understand XCM & XCMP as the current state-of-the-art technology by providing documentation and a user interface in which they can do development tasks more easily and faster. +There are not many XCM & XCMP related development tools released currently. We aim to aid this mostly empty space and help developers to understand XCM & XCMP as the current state-of-the-art technology by providing documentation and a user interface in which they can do development tasks more easily and faster. -In Polkadot and Kusama ecosystem, there are few XCM & XCMP related Dapps in development. These rather focus on standard users mostly. One of mentioned type is called "Morph". +In Polkadot and Kusama ecosystem, there are few XCM & XCMP related Dapps in development. These rather focus on standard users mostly. One of mentioned type is called "Morph". Unlike the already mentioned "Morph" platform ParaSpell focuses more on developers. ParaSpell features complete network install and startup configuration in one single command. This automatization ensures, that developers do not need to do any extra tasks when they wish to run development nodes locally. ParaSpell also allows developers to open and close HRMP channels between Parachains they connected. Like "Morph", ParaSpell can also transfer fungible tokens in three scenarios. From Parachains to Relay chain, from Relay chain to Parachains & from Parachains to Parachains. @@ -91,13 +101,13 @@ Viktor Valaštín - Supervisor, founder of [KodaDot](https://kodadot.xyz/). Facu ### Contact 📞 -- **Contact Name:** Dušan Morháč -- **Contact Email:** [xmorhac@stuba.sk](mailto:xmorhac@stuba.sk) +- **Contact Name:** Dušan Morháč +- **Contact Email:** [xmorhac@stuba.sk](mailto:xmorhac@stuba.sk) ### Legal Structure -- **Registered Address:** No legal structure yet. -- **Registered Legal Entity:** No legal structure yet. +- **Registered Address:** No legal structure yet. +- **Registered Legal Entity:** No legal structure yet. ### Team's experience 🔎 @@ -106,51 +116,52 @@ Viktor Valaštín - Supervisor, founder of [KodaDot](https://kodadot.xyz/). Facu ### Team Code Repos 📚 -- [https://github.com/dudo50/ParaSpell](https://github.com/dudo50/ParaSpell) -- [https://github.com/kodadot/nft-gallery](https://github.com/kodadot/nft-gallery) +- [https://github.com/dudo50/ParaSpell](https://github.com/dudo50/ParaSpell) +- [https://github.com/kodadot/nft-gallery](https://github.com/kodadot/nft-gallery) #### Team github accounts 🧑‍💻 -- [https://github.com/dudo50](https://github.com/dudo50) Dušan Morháč -- [https://github.com/vikiival](https://github.com/vikiival) Viktor Valaštín + +- [https://github.com/dudo50](https://github.com/dudo50) Dušan Morháč +- [https://github.com/vikiival](https://github.com/vikiival) Viktor Valaštín ### Team LinkedIn Profiles 🧑‍🎓 -- [https://www.linkedin.com/in/dudo50](https://www.linkedin.com/in/dudo50) -- [https://www.linkedin.com/in/vikival](https://www.linkedin.com/in/vikival) +- [https://www.linkedin.com/in/dudo50](https://www.linkedin.com/in/dudo50) +- [https://www.linkedin.com/in/vikival](https://www.linkedin.com/in/vikival) ## Development Status 📖 -- [https://github.com/dudo50/ParaSpell](https://github.com/dudo50/ParaSpell) This is the repo for ParaSpell and there is already a user interface that can open HRMP channels & transfer fungible tokens between Acala and Rococo. Wallet support from milestone was recently implemented, it only needs to be added to calls. +- [https://github.com/dudo50/ParaSpell](https://github.com/dudo50/ParaSpell) This is the repo for ParaSpell and there is already a user interface that can open HRMP channels & transfer fungible tokens between Acala and Rococo. Wallet support from milestone was recently implemented, it only needs to be added to calls. ## Development Roadmap 🔩🛠 ### Overview -- **Total Estimated Duration:** 2 months ⌛️ -- **Full-Time Equivalent (FTE):** 1 FTE -- **Total Costs:** 10,000 USD 💰 +- **Total Estimated Duration:** 2 months ⌛️ +- **Full-Time Equivalent (FTE):** 1 FTE +- **Total Costs:** 10,000 USD 💰 ### Milestone 1 — Cross-blockchain application for developers -- **Estimated duration:** 2 months ⌛️ -- **FTE:** 1 FTE -- **Costs:** 10,000 USD 💰 +- **Estimated duration:** 2 months ⌛️ +- **FTE:** 1 FTE +- **Costs:** 10,000 USD 💰 | Number | Deliverable | Specification | |--------|---------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 0a. | License | MIT | -| 0b. | Documentation | Inline documentation of code, as well as startup
          configuration with all necessary commands, included
          in repository | -| 0c. | Testing Guide | Core functionality & user guide will be covered in
          repository documentation | +| 0b. | Documentation | Inline documentation of code, as well as startup configuration with all necessary commands, included in repository | +| 0c. | Testing Guide | Core functionality & user guide will be covered in repository documentation | | 0d. | Docker | Frontend Docker file will be ready | | 0e. | Article | Soon to be released on IEEE + Medium article about development of ParaSpell | -| 1. | Wallet login | Developers can use their Polkadot js
          extension wallets to execute transactions XCM
          from their accounts. | -| 2.a | Full working
          fund transfer
          scenario 1 | Fully working transaction
          scenario 1 - Relay chain to Parachains | -| 2.b | Fully working
          fund transfer
          scenario 2 | Fully working transaction
          scenario 2 - Parachains to Relay chain | -| 2.c | Fully working
          fund transfer
          scenario 3 | Fully working transaction
          scenario 3 - Parachain to Parachain | | -| 3.a | Callback support 1 | Added callback data support so developers/users
          can see information about their XCM transactions
          from UI and in real-time. | -| 3.b | Callback support 2 | Added callback data support so developers/users
          can see information about HRMP channel calls
          from UI and in real-time. | +| 1. | Wallet login | Developers can use their Polkadot js extension wallets to execute transactions XCM from their accounts. | +| 2.a | Full working fund transfer scenario 1 | Fully working transaction scenario 1 - Relay chain to Parachains | +| 2.b | Fully working fund transfer scenario 2 | Fully working transaction scenario 2 - Parachains to Relay chain | +| 2.c | Fully working fund transfer scenario 3 | Fully working transaction scenario 3 - Parachain to Parachain | | +| 3.a | Callback support 1 | Added callback data support so developers/users can see information about their XCM transactions from UI and in real-time. | +| 3.b | Callback support 2 | Added callback data support so developers/users can see information about HRMP channel calls from UI and in real-time. | | 4. | ParaSpell SDK | Move calls to separate NPM library | -| 5. | Guide to add new
          nodes to application
          and network | Simplified and user-friendly wiki/guide for
          users to understand how to add new nodes to
          network startup configuration as well as to
          add/understand calls used in application | +| 5. | Guide to add new nodes to application and network | Simplified and user-friendly wiki/guide for users to understand how to add new nodes to network startup configuration as well as to add/understand calls used in application | ## Future Plans 🔭 @@ -164,8 +175,9 @@ In a long run, we also want to improve design, add new features that can be usef **How did you hear about the Grants Program?** Personal recommendation **About project success so far:** + - Project article was accepted on international conference ICECET2022 ( only 450 out of 1000+ articles got accepted) -[Link to conference physical program - Article 862 ](http://www.icecet.com/program_P.pdf) +[Link to conference physical program - Article 862](http://www.icecet.com/program_P.pdf) - Project won 🥈 second place bounty at Polkadot North America Hackaton in category "Build an XCM Related Tool for Moonbeam" diff --git a/applications/Parallel.md b/applications/Parallel.md index 2fbb92abe21..a26dd3aa2e2 100644 --- a/applications/Parallel.md +++ b/applications/Parallel.md @@ -1,8 +1,8 @@ -# Parallel Finance Open Grant Proposal +# Parallel Finance -- **Project Name:** Parallel Finance -- **Team Name:** Parallel -- **Payment Address:** 0x17816E9A858b161c3E37016D139cf618056CaCD4 +- **Project Name:** Parallel Finance +- **Team Name:** Parallel +- **Payment Address:** 0x17816E9A858b161c3E37016D139cf618056CaCD4 ## Project Overview :page_facing_up: @@ -12,27 +12,27 @@ Parallel finance is a decentralized lending/borrowing and staking protocol built Our platform offers a few key features and benefits: -- **Lending and borrowing**: users can lend and borrow assets based on interest rates. -- **Staking**: users can participate in Polkadot’s network validation and earn rewards. -- **Earning double interests**: users can choose to stake and lend out their tokens simultaneously based on our new approach. -- **Powered by Substrate**: our platform benefits from the speed, resiliency and convenient upgradability of Polkadot. +- **Lending and borrowing**: users can lend and borrow assets based on interest rates. +- **Staking**: users can participate in Polkadot’s network validation and earn rewards. +- **Earning double interests**: users can choose to stake and lend out their tokens simultaneously based on our new approach. +- **Powered by Substrate**: our platform benefits from the speed, resiliency and convenient upgradability of Polkadot. Our project utilizes substrate framework and is built on top of polkadot parachain ecosystem: -- We built the core interests model and functionalities on substrate runtime -- We enabled off-chain worker to query the current price feed of DOT and other tokens -- We will build cross-chain interoperability using XCMP protocol in the near future +- We built the core interests model and functionalities on substrate runtime +- We enabled off-chain worker to query the current price feed of DOT and other tokens +- We will build cross-chain interoperability using XCMP protocol in the near future **Why are we building Parallel Finance?** -- We decided to pick this idea because of the rising demand for decentralized lending protocols on Polkadot and Kusama, as well as the lack of token liquidity that comes with staking on the mainnet. We estimate that 50% of all existing DOT and KSM tokens will be staked for blockchain validation with an estimated staking APY of 10-20%. However, the DOT and KSM tokens will lose their liquidity once they are staked to validate the network. Institutions and large token holders have high incentives to use our platform since it will allow them to not only participate in staking, but also generate additional profits through lending, and allow them to use their DOTs and KSMs as payment, or trading assets. +- We decided to pick this idea because of the rising demand for decentralized lending protocols on Polkadot and Kusama, as well as the lack of token liquidity that comes with staking on the mainnet. We estimate that 50% of all existing DOT and KSM tokens will be staked for blockchain validation with an estimated staking APY of 10-20%. However, the DOT and KSM tokens will lose their liquidity once they are staked to validate the network. Institutions and large token holders have high incentives to use our platform since it will allow them to not only participate in staking, but also generate additional profits through lending, and allow them to use their DOTs and KSMs as payment, or trading assets. ### Project Details ##### MVP links -- Testnet demo: https://parallel.fi/#/ -- Video demo: https://youtu.be/lgQX9rELpL8 +- Testnet demo: +- Video demo: #### Mockups and UI components @@ -69,78 +69,79 @@ The lending protocol was inspired by compound protocol and our blockchain soluti ##### What your project is _not_ or will _not_ provide or implement -- Our team does not plan on implementing the support for other tokens besides the native DOT and KSM tokens and Stable Coin at the initial launch in order to reduce the risks in cross-collaterals -- We will not implement a decentralized exchange by ourselves. Instead, we will be focusing on building the lending/borrowing and staking protocol. +- Our team does not plan on implementing the support for other tokens besides the native DOT and KSM tokens and Stable Coin at the initial launch in order to reduce the risks in cross-collaterals +- We will not implement a decentralized exchange by ourselves. Instead, we will be focusing on building the lending/borrowing and staking protocol. ### Ecosystem Fit -- **Where and how does your project fit into the ecosystem?** We are aiming to offer the first decentralized lending/borrowing and staking protocol in the Polkadot and Kusama ecosystem as a DeFi and a parachain. -- **Who is your target audience (parachain/dapp/wallet/UI developers, designers, your own user base, some dapp's userbase, yourself)?** Our target audience are the DOT and KSM token holders who are looking to participate in lending/borrowing, staking and unlocking liquidity for their staked tokens, or generating "double interests" returns by lending and staking simultaneously. This audience would include retail, institutional and large token holders, traders (arbitrage opportunities in DeFi) and network validators. In general, large token holders will have a higher incentive to join the platform earlier as the exchange rate will be more favorable. -- **What need(s) does your project meet?** Our project helps generate additional interests for token holders, provide assets for borrowing and unlock liquidity for token stakers who can use staked tokens (ex: xDOT) to trade, lend or use as payment. -- **Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem?** - - **If so, how is your project different?** Compound has been a successful and proven model for lending and borrowing assets in a decentralized manner in the Ethereum ecosystem. However, Compound doesn't offer staking services, and there is currently no decentralized lending/borrowing solution launched in the Polkadot ecosystem. Acala Network does offer staking services, but doesn't offer lending/borrowing services. From that perspective, we are a unique solution that combines both services and offers additional interests to our users. - - **If not, are there similar projects in related ecosystems?** We have not yet found a project that will be focusing on generating double interests for token holders through lending and staking. +- **Where and how does your project fit into the ecosystem?** We are aiming to offer the first decentralized lending/borrowing and staking protocol in the Polkadot and Kusama ecosystem as a DeFi and a parachain. +- **Who is your target audience (parachain/dapp/wallet/UI developers, designers, your own user base, some dapp's userbase, yourself)?** Our target audience are the DOT and KSM token holders who are looking to participate in lending/borrowing, staking and unlocking liquidity for their staked tokens, or generating "double interests" returns by lending and staking simultaneously. This audience would include retail, institutional and large token holders, traders (arbitrage opportunities in DeFi) and network validators. In general, large token holders will have a higher incentive to join the platform earlier as the exchange rate will be more favorable. +- **What need(s) does your project meet?** Our project helps generate additional interests for token holders, provide assets for borrowing and unlock liquidity for token stakers who can use staked tokens (ex: xDOT) to trade, lend or use as payment. +- **Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem?** + - **If so, how is your project different?** Compound has been a successful and proven model for lending and borrowing assets in a decentralized manner in the Ethereum ecosystem. However, Compound doesn't offer staking services, and there is currently no decentralized lending/borrowing solution launched in the Polkadot ecosystem. Acala Network does offer staking services, but doesn't offer lending/borrowing services. From that perspective, we are a unique solution that combines both services and offers additional interests to our users. + - **If not, are there similar projects in related ecosystems?** We have not yet found a project that will be focusing on generating double interests for token holders through lending and staking. ## Team :busts_in_silhouette: ### Team members -- Name of team leader: Yubo Ruan -- Names of team members: Remi Gai, Zhou Yang, Li Pai, Cheng Jiang, Hai Yi +- Name of team leader: Yubo Ruan +- Names of team members: Remi Gai, Zhou Yang, Li Pai, Cheng Jiang, Hai Yi ### Contact -- **Contact Name:** Yubo Ruan -- **Contact Email:** yubo@parallel.fi -- **Website:** www.parallel.fi +- **Contact Name:** Yubo Ruan +- **Contact Email:** yubo@parallel.fi +- **Website:** www.parallel.fi ### Legal Structure (we are in the process of registering the legal entity) -- **Registered Address:** N/A -- **Registered Legal Entity:** N/A +- **Registered Address:** N/A +- **Registered Legal Entity:** N/A ### Team's experience -- **Yubo Ruan**: Yubo is currently a venture investor at Polychain Capital and 8 Decimal Capital. Yubo previously worked at TrustToken as a solidity engineer and helped build the TrueFi uncollateralized lending protocol. Additionally, Yubo started Alisimba Technology with wide range of media coverage in China and was granted many national patents and innovation awards. Yubo studied computer science at Stanford University. -- **Yang Zhou**: Yang is a senior blockchain engineer at Elastos and its Gelaxy group. At Elastos, Yang contributed to the cli tool, cross-chain protocol, and merged mining specification. Additionally, Yang was the point of contact with the world's top mining pool (F2Pool, BTCPool, ANTPool, and Huobipool), and successfully launched the Elastos mining business. Yang also worked at large software tech companies and has 9 years of development experience. -- **Remi Gai**: Remi is a software engineer with a background in product management, entrepreneurship and venture capital, and currently works at Microsoft. Previously, Remi worked as an early stage investor at 8 Decimal Capital, a crypto/blockchain focused fund, and was the co-founder of Bitsystems, a blockchain development firm based in Cambridge, Massachusetts. -- **Lipai Zhu**: Lipai has 4 years of experience in blockchain. For the past 2 years, Li Pai has been working as a blockchain engineer at JianXinZhuHe technology at Shenzhen and focuses on consortium blockchain. Prior, Lipai studied BitCoin, Ethereum and Solidity and won a prize at BSN Second developer competition and a grand prize at the 4th China Blockchain Development Competition (In Competition, his duty is design smart contract and develop it). -- **Cheng Jiang**: Cheng Jiang is a senior Fullstack Developer at Ubudu, experienced in Fullstack development, Network topology and Indoor Location System Algorithms. -- **Hai Yi**: Hai Yi has 4 years experience in software engineering. He was a former software engineer at Swissborg, and trading product associate at the Bank of Montreal. Hai Yi holds a BSc in Computer Science degree from the University of Waterloo). +- **Yubo Ruan**: Yubo is currently a venture investor at Polychain Capital and 8 Decimal Capital. Yubo previously worked at TrustToken as a solidity engineer and helped build the TrueFi uncollateralized lending protocol. Additionally, Yubo started Alisimba Technology with wide range of media coverage in China and was granted many national patents and innovation awards. Yubo studied computer science at Stanford University. +- **Yang Zhou**: Yang is a senior blockchain engineer at Elastos and its Gelaxy group. At Elastos, Yang contributed to the cli tool, cross-chain protocol, and merged mining specification. Additionally, Yang was the point of contact with the world's top mining pool (F2Pool, BTCPool, ANTPool, and Huobipool), and successfully launched the Elastos mining business. Yang also worked at large software tech companies and has 9 years of development experience. +- **Remi Gai**: Remi is a software engineer with a background in product management, entrepreneurship and venture capital, and currently works at Microsoft. Previously, Remi worked as an early stage investor at 8 Decimal Capital, a crypto/blockchain focused fund, and was the co-founder of Bitsystems, a blockchain development firm based in Cambridge, Massachusetts. +- **Lipai Zhu**: Lipai has 4 years of experience in blockchain. For the past 2 years, Li Pai has been working as a blockchain engineer at JianXinZhuHe technology at Shenzhen and focuses on consortium blockchain. Prior, Lipai studied BitCoin, Ethereum and Solidity and won a prize at BSN Second developer competition and a grand prize at the 4th China Blockchain Development Competition (In Competition, his duty is design smart contract and develop it). +- **Cheng Jiang**: Cheng Jiang is a senior Fullstack Developer at Ubudu, experienced in Fullstack development, Network topology and Indoor Location System Algorithms. +- **Hai Yi**: Hai Yi has 4 years experience in software engineering. He was a former software engineer at Swissborg, and trading product associate at the Bank of Montreal. Hai Yi holds a BSc in Computer Science degree from the University of Waterloo). ### Team Code Repos -- Backend: https://github.com/parallel-finance/parallel -- Frontend: https://github.com/parallel-finance/hackathon-2021-spring/tree/main/teams/22-Parallel/src/parallel-dapp +- Backend: +- Frontend: ### Team LinkedIn Profiles -- https://www.linkedin.com/in/yubo-ruan/ -- https://www.linkedin.com/in/remigai/ -- https://www.linkedin.com/in/cheng-jiang-2a414020a/ -- https://www.linkedin.com/in/haiyi-zhong-6274108b/?originalSubdomain=ca -- https://www.linkedin.com/in/zhulipai/ -- https://www.linkedin.com/in/yz89/ +- +- +- +- +- +- ## Development Roadmap :nut_and_bolt: ### Overview + * **Total Estimated Duration:** 4 months -* **Full-time equivalent (FTE):** 4 FTE -* **Total Costs:** 9k USD +- **Full-time equivalent (FTE):** 4 FTE +- **Total Costs:** 9k USD ### Milestone 1 — Implement Cross-chain support for DOT and KSM -- **Estimated Duration:** 8 weeks -- **FTE:** 1.8 -- **Costs:** 4000 USD +- **Estimated Duration:** 8 weeks +- **FTE:** 1.8 +- **Costs:** 4000 USD The major deliverable of for this milestone: -- Implement a multi-assets lending protocol. -- Support automatic liquidation by using an off-chain worker. +- Implement a multi-assets lending protocol. +- Support automatic liquidation by using an off-chain worker. | Number | Deliverable | Specification | | -----: | -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -155,22 +156,22 @@ The major deliverable of for this milestone: | 5. | User Testing | We will conduct user testing to improve our product's UI and UX, to ensure that the borrowing and lending functionalities are intuitive. Initially, we will conduct qualitative user testing by observing 10-15 users who will use the v1 platform and provide a summary of the findings and improvements made based on insights. | Other: -* We will implement more quantitative user testing with A/B tests, web analytics, and heatmap once we have more adoption (>100-200 DAU) in order to get more significant insights (not part of v1 deliverables). +- We will implement more quantitative user testing with A/B tests, web analytics, and heatmap once we have more adoption (>100-200 DAU) in order to get more significant insights (not part of v1 deliverables). ### Milestone 2 — Enable Staking for DOT and KSM -- **Estimated Duration:** 8 weeks -- **FTE:** 2.2 -- **Costs:** 5000 USD +- **Estimated Duration:** 8 weeks +- **FTE:** 2.2 +- **Costs:** 5000 USD The major deliverable of for this milestone: -- Implement the modules that allow for staking functionality, which includes - - Exchange Rate - - 28 days locking period for unstaking tokens - - Slashing scenarios - - Relay tokens to validators -- Users will be able to stake DOT tokens, and receives xDOT in return. xDOT will then start accruing interests from staking and also be used for lending or transfered elsewhere for payment or trading. Similarly, staked KSM will be converted to xKSM with the same features as xDOT. +- Implement the modules that allow for staking functionality, which includes + - Exchange Rate + - 28 days locking period for unstaking tokens + - Slashing scenarios + - Relay tokens to validators +- Users will be able to stake DOT tokens, and receives xDOT in return. xDOT will then start accruing interests from staking and also be used for lending or transfered elsewhere for payment or trading. Similarly, staked KSM will be converted to xKSM with the same features as xDOT. | Number | Deliverable | Specification | | -----: | ----------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -187,32 +188,32 @@ The major deliverable of for this milestone: | 6. | User Testing | We will conduct user testing to improve our product's UX and UI, to ensure that the borrowing and lending functionalities are intuitive. Initially, we will conduct qualitative user testing by observing 10-15 users use the v1 platform and provide a summary of the findings and improvements made based on insights. | Other: -* We will implement more quantitative user testing with A/B tests, web analytics, and heatmap once we have more adoption (>100-200 DAU) in order to get more significant insights (not part of v1 deliverables). +- We will implement more quantitative user testing with A/B tests, web analytics, and heatmap once we have more adoption (>100-200 DAU) in order to get more significant insights (not part of v1 deliverables). ## Future Plans **Community Development**: -- In the short term, we will focus on acquiring the early users for our platform, who are large token holders and institutions. The exchange rate will be lower initially as the pool size and number of blocks are lower, so there's a strong incentive for larger players to deposit their tokens early on. As the Kusama and Polkadot mainnets are approaching, we will be forming partnership with validators who might be interested in forming partnerships or use our platform to gain liquidity on their staked tokens. -- We will frequently post on social media (Twitter, Medium, Youtube) to provide development news and video tutorials regarding our platform. We will also work with influencers, who can break down complex concepts and provide clear guidance to the mainstream users on how to use our platform. -- Our long term plan is to provide a suite of products that will allow users to earn superior interests with their assets on our Defi platform, as we truly believe in the benefits of decentralization and allowing more mainstream investors to participate in the financial economy. +- In the short term, we will focus on acquiring the early users for our platform, who are large token holders and institutions. The exchange rate will be lower initially as the pool size and number of blocks are lower, so there's a strong incentive for larger players to deposit their tokens early on. As the Kusama and Polkadot mainnets are approaching, we will be forming partnership with validators who might be interested in forming partnerships or use our platform to gain liquidity on their staked tokens. +- We will frequently post on social media (Twitter, Medium, Youtube) to provide development news and video tutorials regarding our platform. We will also work with influencers, who can break down complex concepts and provide clear guidance to the mainstream users on how to use our platform. +- Our long term plan is to provide a suite of products that will allow users to earn superior interests with their assets on our Defi platform, as we truly believe in the benefits of decentralization and allowing more mainstream investors to participate in the financial economy. **Product Development**: -- This is our tentative development roadmap for the rest of this year: +- This is our tentative development roadmap for the rest of this year: ![image](https://user-images.githubusercontent.com/56744348/111891918-94ebaa80-89c4-11eb-8707-a16b33e7b54c.png) ## Additional Information :heavy_plus_sign: -- We are a team that met and formed during the March 2021 Polkadot Hackathon in Shanghai. Our team members are both in the US and China, and come from a strong engineering background (crypto/blockchain, startup, traditional tech company), product management and financial background (venture capital, Defi). We were able to deliver our proof of concept within a month, and earned third place at the Hackathon. +- We are a team that met and formed during the March 2021 Polkadot Hackathon in Shanghai. Our team members are both in the US and China, and come from a strong engineering background (crypto/blockchain, startup, traditional tech company), product management and financial background (venture capital, Defi). We were able to deliver our proof of concept within a month, and earned third place at the Hackathon. -- We are currently still in the process of creating our white paper, but you can find more details about our documentation on our gitbook: https://docs.parallel.fi/. +- We are currently still in the process of creating our white paper, but you can find more details about our documentation on our gitbook: . -- Email: team@parallel.fi -- Website: parallel.fi -- Twitter: https://twitter.com/ParallelFi -- Medium: https://medium.com/@parallelfinance -- LinkedIn: https://www.linkedin.com/company/parallel-finance/ -- Unofficial white paper: https://docs.parallel.fi/ -- Testnet demo: https://parallel.fi/#/app -- Video demo (Hackathon March 2021): https://youtu.be/lgQX9rELpL8 +- Email: team@parallel.fi +- Website: parallel.fi +- Twitter: +- Medium: +- LinkedIn: +- Unofficial white paper: +- Testnet demo: +- Video demo (Hackathon March 2021): diff --git a/applications/Plus-follow-up.md b/applications/Plus-follow-up.md index 91322fed5e5..1821c3f6d8e 100644 --- a/applications/Plus-follow-up.md +++ b/applications/Plus-follow-up.md @@ -1,6 +1,5 @@ -# W3F Grant Proposal +# Polkadot js plus / Nomination pools -- **Project Name:** Polkadot js plus / Nomination pools - **Team Name:** Polkadot js plus - **Payment Address:** 0xa4Eff15578D1450912DED08c85679F453C45A710 (DAI) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 diff --git a/applications/Plus-social-recovery-wallet.md b/applications/Plus-social-recovery-wallet.md index 8cf666bb3c6..3d75b923800 100644 --- a/applications/Plus-social-recovery-wallet.md +++ b/applications/Plus-social-recovery-wallet.md @@ -1,6 +1,5 @@ -# W3F Grant Proposal +# Polkadot js plus / Social Recovery Wallet -- **Project Name:** Polkadot js plus / Social Recovery Wallet - **Team Name:** Polkadot js plus - **Payment Address:** 0xa4Eff15578D1450912DED08c85679F453C45A710 (DAI) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 3 diff --git a/applications/Plus.md b/applications/Plus.md index be37264e555..22d9c0fc462 100644 --- a/applications/Plus.md +++ b/applications/Plus.md @@ -1,6 +1,5 @@ -# W3F Grant Proposal +# Plus: Polkadot js plus extension -- **Project Name:** Plus: Polkadot js plus extension - **Team Name:** Kami Ekbatanifard - **Payment Address:** 0xa4Eff15578D1450912DED08c85679F453C45A710 (DAI) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 diff --git a/applications/PolkaKey.md b/applications/PolkaKey.md index 9e60398f826..384c0133a77 100644 --- a/applications/PolkaKey.md +++ b/applications/PolkaKey.md @@ -1,6 +1,5 @@ -# Open Grant Proposal +# PolkaKey -* **Project:** PolkaKey * **Proposer:** @HiZhaoYun * **Payment Address:** 1NUYKUgjDrzXox7ebeT6xkFN5A64S419Xm diff --git a/applications/PolkaSignIn.md b/applications/PolkaSignIn.md index 4a95782e5e4..52059a7f72d 100644 --- a/applications/PolkaSignIn.md +++ b/applications/PolkaSignIn.md @@ -1,13 +1,12 @@ -# W3F Grant Proposal +# Polka SignIn -* **Project Name:** Polka SignIn -* **Team Name:** Litentry -* **Payment Address:** 0x37a45AdBb275d5d3F8100f4cF16977cd4B0f9Fb7 (USDT) +* **Team Name:** Litentry +* **Payment Address:** 0x37a45AdBb275d5d3F8100f4cF16977cd4B0f9Fb7 (USDT) * **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 > ⚠️ *The combination of your GitHub account submitting the application and the payment address above will be your unique identifier during the program. Please keep them safe.* -## Project Overview +## Project Overview ### Overview @@ -32,9 +31,9 @@ to ask the user to sign such a magic string with injected signers and provides i #### Sign in Participants -- **Service providers** are the dApps that have the sign-in requirement. -- **Identity providers** are the injected signers which provide the authentication information of the user who holds the wallet. -- **Resource Owners** are the users who hold the self-custody crypto wallets. +* **Service providers** are the dApps that have the sign-in requirement. +* **Identity providers** are the injected signers which provide the authentication information of the user who holds the wallet. +* **Resource Owners** are the users who hold the self-custody crypto wallets. #### Workflow @@ -51,7 +50,7 @@ The workflow works the same with or without OAuth specification. Only the 4th st ### Implementation -1. Sign-in Request +1. Sign-in Request User want to sign in the dApp by send a simple request with identity chain type, eg: DOT, KSM, ETH etc. @@ -65,7 +64,7 @@ The workflow works the same with or without OAuth specification. Only the 4th st } ``` -2. Authentication Requirement +2. Authentication Requirement dApp will return the callback info. The callback endpoint is used by Identity provider to send signature data to dApp. @@ -79,7 +78,7 @@ The workflow works the same with or without OAuth specification. Only the 4th st } ``` -3. Connect to Signer +3. Connect to Signer User sends request to the Identity Provider (Injected Signer like : Polkadot.js Extension, Metamask, Parity Signer ...). @@ -94,7 +93,7 @@ The workflow works the same with or without OAuth specification. Only the 4th st } ``` -4. Provide Signature +4. Provide Signature The Identity Provider will generate the Signature data. ``` @@ -108,15 +107,15 @@ The workflow works the same with or without OAuth specification. Only the 4th st explains: - - identity-type + * identity-type This field is used to choose the chain type and account. - - public-key + * public-key With the chain account chosen, get the public key of the account. This field will be used by dApp to decrypt the data and verify data consistency. - - account-signed + * account-signed use private key to sign the account. @@ -135,18 +134,17 @@ The workflow works the same with or without OAuth specification. Only the 4th st ``` - - scope - + * scope + scope define the permission needed for the dapp to interact with the account. - - - chanllenge - + + * chanllenge + a text string need to be signed by the private key. - The Identity Provider will send the signature data to the callback endpoint of dApp by step #3. -5. Validation +5. Validation The dApp receives the signature data and do the verification. @@ -160,18 +158,18 @@ The workflow works the same with or without OAuth specification. Only the 4th st ``` Verification Steps: - - use **public-key** to decrypt the data of **account-signed** , this progress should be successful, and get the account address. + * use **public-key** to decrypt the data of **account-signed** , this progress should be successful, and get the account address. **public-key** pairs with **private-key**, this step proves the validity of the private key, and ensure that the data was not tampered with. - - - use **public-key** to generate the address by the specified algorithmic mechanism according to the chain type, and get the account address refer to **public-key** . + * use **public-key** to generate the address by the specified algorithmic mechanism according to the chain type, and get the account address refer to **public-key** . - - verify the two account address , success if they are the same. + * verify the two account address , success if they are the same. - - if failure, it means the public key does not match the account address, it may happen when some malicious users want to impersonate an account. + * if failure, it means the public key does not match the account address, it may happen when some malicious users want to impersonate an account. + + * if success, the dApp should return the response to the Identity Provider with the payload: - - if success, the dApp should return the response to the Identity Provider with the payload: ``` { "verified": true, @@ -179,7 +177,7 @@ The workflow works the same with or without OAuth specification. Only the 4th st } ``` -6. Lookup Identity +6. Lookup Identity The dApp gets the account address . It can retrieve the related information of account from the external service providers , such as ENS, Polkadot/Kusama Identity Registrar, etc. @@ -193,7 +191,7 @@ There is few solution combine the OAuth and self-custody wallet, and no such sol * Hanwen Cheng * Yunjian Bian -* Eric Zhang +* Eric Zhang ### Contact @@ -212,15 +210,15 @@ There is few solution combine the OAuth and self-custody wallet, and no such sol ### Team Code Repos -* https://github.com/litentry -* https://github.com/litentry/litentry-parachain -* https://github.com/litentry/litentry-app +* +* +* Github accounts: -* https://github.com/hanwencheng -* https://github.com/bianyunjian -* https://github.com/jingleizhang +* +* +* ## Development Status :open_book: @@ -245,9 +243,8 @@ The hourly pay rate is 50 USD/hour In total is 120 hours, and the total payment will be 6000 USD equivalent USDT. - ## Future Plans -We planned to have a web app for user to manage the access control of the logged platforms, and enable user to curate the profile information in the future. +We planned to have a web app for user to manage the access control of the logged platforms, and enable user to curate the profile information in the future. It would be great to integrate with popular auth solutions in web technology, like passport (node js), next-auth (next.js). diff --git a/applications/Polkadart.md b/applications/Polkadart.md index 5d7838e0edf..c6e59f79ca6 100644 --- a/applications/Polkadart.md +++ b/applications/Polkadart.md @@ -1,6 +1,5 @@ -# W3F Grant Proposal +# Polkadart -- **Project Name:** Polkadart - **Team Name:** JURIMETRIC TECNOLOGIA LTDA - **Payment Address:** 12kizkmmQzRFR5o6BQ5Kufo77RPT787eaFynswQoi42vv2Da (DOT) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 3 diff --git a/applications/Polkadot-Dart.md b/applications/Polkadot-Dart.md index add788510b8..84427d2f122 100644 --- a/applications/Polkadot-Dart.md +++ b/applications/Polkadot-Dart.md @@ -1,20 +1,16 @@ -Open Grant Proposal of Polkadot-Dart - -* **Project:** Polkadot-Dart +# Polkadot-Dart * **Proposer:** Michael So * **Payment Address:** 3PbhNyWhiSTwb58fc5uYhg2mV2vJ34KwAJ -* **Status:** [Terminated](https://github.com/w3f/Grants-Program/pull/125#issuecomment-946479942) - - +* **Status:** [Terminated](https://github.com/w3f/Grants-Program/pull/125#issuecomment-946479942) -## Project Overview :page_facing_up: +## Project Overview :page_facing_up: ### Overview -Dart has advantages in native development. +Dart has advantages in native development. Dart is a computer programming language developed by Google, which is used in the development of web, server, mobile apps and the IoT. Dart is an object-oriented, class-defined, single-inheritance language. Dart is a general programming language developed by Google, which was later recognized as a standard by ECMA (ECMA-408). It is used to build web, server, desktop and mobile applications. Its syntax is similar to C language and can be translated into JavaScript, interfaces, mixins, abstract classes, reified generics, optional typing and sound type system . @@ -28,9 +24,9 @@ Similarly, we also found that there is currently no Polkadot SDK suitable for th Similar to [polkaj](https://github.com/emeraldpay/polkaj) (Java version), we will develop the Dart version and name it `Polkadot-Dart`. +### Project Details -### Project Details -To complete the porting, we follow the project structure of `Polkadot-JS`. +To complete the porting, we follow the project structure of `Polkadot-JS`. There are some differences between `Dart` and `Javascript`, and the project needs to be compatible. For example, The "wasm" compiled by Rust-lang is used in `Polkadot-JS` . As for dart, we use `dart:ffi` for communication. All Rust-native libraries will be compiled to `.so` for Linux/Android system, `.a` or `.framework` for iOS/MacOS, and `.dll` for Windows. @@ -62,23 +58,21 @@ Therefore, we defined Dart project like `Polkadot-JS` . | `@polkadot/type-known` | * not needed | | `@polkadot/types` | types | - #### Technology Stacks Dart/Flutter, Rust +### Ecosystem Fit -### Ecosystem Fit +Similar projects: -Similar projects: * [Web3dart](https://github.com/simolus3/web3dart) * [polkaj](https://github.com/emeraldpay/polkaj) * [Dart-scale-codec](https://github.com/nbltrust/dart-scale-codec) -* [Substrate-sign-flutter](https://github.com/hanwencheng/substrate_sign_flutter) +* [Substrate-sign-flutter](https://github.com/hanwencheng/substrate_sign_flutter) We have created `Polkadot-Dart`, which, combined with Flutter framework, can greatly reduce the barrier to participation for cross-platform developers, as well as reduce the complexity of cross-platform application development and maintenance. In addition, the cross-platform experience of Polkadot-Dart's users is also improved. - ## Team :busts_in_silhouette: ### Team members @@ -86,12 +80,12 @@ We have created `Polkadot-Dart`, which, combined with Flutter framework, can gre * Michael So * Zhongdan Wei -### Team Website +### Team Website -* https://pocket4d.io (In progress) -* https://firestack.one +* (In progress) +* -### Legal Structure +### Legal Structure SHANGHAI NIEPAN INFORMATION TECHNOLOGY CO., LTD., a startup company focusing on blockchain development in China. @@ -100,16 +94,15 @@ SHANGHAI NIEPAN INFORMATION TECHNOLOGY CO., LTD., a startup company focusing on * Michael So, founder of FireStack, Serial entrepreneur. He devoted to blockchain for many years, leading token investment, wallet, blockchain game platform and other projects, and has accumulated rich experience in blockchain theories and practice. * Zhongdan Wei, front-end architect, proficient in Flutter. As a leading member in Hellobike, he led the team to develop the Mobike Applications and makes it easy and fast to add flutter to existing mobile applications. - ### Team Code Repos -* https://github.com/Pocket4D/p4d-rust-binding (Will be renamed after proposal is accepted) +* (Will be renamed after proposal is accepted) ### Team LinkedIn Profiles None. -## Development Roadmap :nut_and_bolt: +## Development Roadmap :nut_and_bolt: ### Overview @@ -173,10 +166,9 @@ None. | 1 | documentations | Documentations for all packages | | 2 | pub.dev | Publish to pub.dev for v1.0.0 | - ### Community Engagement -We are buiding our community on https://www.yuque.com/?language=en-us and newsletters will be regularly updated soon. +We are buiding our community on and newsletters will be regularly updated soon. ## What has been done so far? @@ -192,22 +184,25 @@ We are buiding our community on https://www.yuque.com/?language=en-us and newsle | ☐ | 5 | network | Porting and implements `@polkadot/network` | | ☑ | 6 | tests | Unit tests for deliverables above | - ## Future Plans ### Maintainance + 1. Keep following the upgrade of `Polkadot-JS` and `Substrate`, and supporting latest upgrades as soon as possible. 2. Seperate the rust/dart binding libs and other implementations to serveral packages, the native binding libs should be minimize and stable for long term, just like `@polkadot/wasm` does. And we should be focusing on upgrading the features. ### Products and ecosystems -1. We have a plan of making a wallet app, using `Polkadot-Dart` as its main dependency, which has been communicated with many parachains, to prepare for linking into `Parachains` and lowering the threshold for users to use. + +1. We have a plan of making a wallet app, using `Polkadot-Dart` as its main dependency, which has been communicated with many parachains, to prepare for linking into `Parachains` and lowering the threshold for users to use. 2. We also have another substrate-based project called [Pocket4D](https://github.com/Pocket4D/), combining `Polkadot-Dart` and other components, we plan to build a new decentralized network. And `Polkadot-Dart` will be one of our client side core dependency. 3. The main purpose of this lib is to co-operate with ecosystem partners, especially `Parachains`, we need to build and test with them and fit their needs. - ## Additional Information ➕ + ### Are there are any teams who have already contributed (financially) to the project? + No. ### Have you applied for other grants so far? + [Pocket4D](https://github.com/w3f/General-Grants-Program/pull/340) diff --git a/applications/Polkadot_Web_UI.md b/applications/Polkadot_Web_UI.md index 026735db5af..1447abbe970 100644 --- a/applications/Polkadot_Web_UI.md +++ b/applications/Polkadot_Web_UI.md @@ -1,5 +1,5 @@ -# Open Grant Proposal -* **Project Name:** Polkadot UI Web Identicon + Angular Identicon +# Polkadot UI Web Identicon + Angular Identicon + * **Team Name:** RidOne Technologies * **Payment Address:** DAI 0xfA34F566bDDcA92Dc656310F08AC5aE64fC46456 ## Project Overview diff --git a/applications/Polkaholic.md b/applications/Polkaholic.md index e7a49fc42a1..7a131866f1d 100644 --- a/applications/Polkaholic.md +++ b/applications/Polkaholic.md @@ -1,6 +1,5 @@ -# W3F Grant Proposal +# Polkaholic.io's Multi-Chain Substrate Block Explorer -- **Project Name:** Polkaholic.io's Multi-Chain Substrate Block Explorer - **Team Name:** Colorful Notion - **Payment Address:** Polkadot 13rTinCWgc38a2wZzme28dFbViQraCowTRjQqFLEWwdMTvFW - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 diff --git a/applications/Polkawatch.md b/applications/Polkawatch.md index 3ad78603056..981f45c055e 100644 --- a/applications/Polkawatch.md +++ b/applications/Polkawatch.md @@ -1,6 +1,5 @@ -# W3F Grant Proposal +# Polkawatch -- **Project Name:** Polkawatch - **Team Name:** Valletech AB - **Payment Address:** 0xA39bD6af74f8c317F45137d2ED7F4e13176d916B (ETH/DAI) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 diff --git a/applications/Primis.md b/applications/Primis.md index 6c70cedbe23..e3b5e733bcd 100644 --- a/applications/Primis.md +++ b/applications/Primis.md @@ -1,7 +1,5 @@ -# W3F Grant Proposal +# Primis - -- **Project Name:** Primis - **Team Name:** Primis - **Payment Address:** 0x0Ad212E301AD590f4E70dA0c0Aa2912273cB4098 (USDC) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 @@ -10,26 +8,28 @@ ## Project Overview ### Overview + Primis Desktop provides a one-stop Web3 integrated client for the Polkadot ecosystem. ### Primis Web3 Desktop for Polkadot + **Primis Wallet** Primis Desktop Wallet is the best tool to manage multi-chain assets on the Polkadot ecosystem, such as Polkadot, Kusama, and other parachains. Asset management mainly includes digital/NFT assets checking, sending, receiving, and trading records on the Polkadot ecosystem. **P2P Chat** -Primis Desktop provides encrypted chat groups for Polkadot ecosystem users to discuss decentralized Gov2 governance and Proposal freely. ZK-Proof technology will be combined into Primis chat groups to offer more privacy and decentralized DAO governance space.  +Primis Desktop provides encrypted chat groups for Polkadot ecosystem users to discuss decentralized Gov2 governance and Proposal freely. ZK-Proof technology will be combined into Primis chat groups to offer more privacy and decentralized DAO governance space. Primis Desktop could automatically create encrypted chat groups for Polkadot ecosystem DApps, each DApp has its own independent chat group. - Channels For Chat -image +image - P2P Chat -image +image @@ -40,7 +40,7 @@ Primis Desktop also is a place for users to subscribe to Polkadot decentralized **Primis Web3 PNS Browser** -Primis Desktop will gestate a Chrome-compatible PNS browser for the Polkadot ecosystem, allowing Polkadot ecosystem users to access Web2 pages and interact with Web3 DApps freely. Primis Web3 PNS Browser supports Polkadot ecosystem PNS domains’ resolution and visit.  +Primis Desktop will gestate a Chrome-compatible PNS browser for the Polkadot ecosystem, allowing Polkadot ecosystem users to access Web2 pages and interact with Web3 DApps freely. Primis Web3 PNS Browser supports Polkadot ecosystem PNS domains’ resolution and visit. Unlike traditional browsers such as Chrome, Brave, and Web2 centralized Cloud Service, Primis Web3 PNS Browser is based on a data relay network, where access and application data are transmitted to clients or Primis terminals through a relay network of Primis nodes. @@ -57,7 +57,7 @@ All of our teammates truly believed in the Web3 Revolution! That's why we want t ### Tech Stack -Supported Chains: Polkadot, Kusama, and other Parachains such as Acala, Astar, and Moonbeam.  +Supported Chains: Polkadot, Kusama, and other Parachains such as Acala, Astar, and Moonbeam. Client language: Electron, React @@ -74,6 +74,7 @@ Primis is the first blockchain project known as the web3 desktop. And we want to ## Team ### Team members + Primis team has rich experience in the fields of the public chain, infrastructure, and defi. Team members' info will be released after reviewing. ### Contact @@ -84,7 +85,7 @@ Primis team has rich experience in the fields of the public chain, infrastructur ### Legal Structure -- **Registered Address:** This info will be released after reviewing +- **Registered Address:** This info will be released after reviewing - **Registered Legal Entity:** Also, this info will be released after reviewing. ### Team's experience @@ -98,13 +99,13 @@ Primis team has developed some blockchain projects, like [Metauce](metauce.org) ### Team LinkedIn Profiles (if available) -This info will be released after reviewing +This info will be released after reviewing -## Development Status +## Development Status Primis Team already completed the designing work of Primis Desktop and started working on Milestone 1 Tech Tasks. -## Development Roadmap +## Development Roadmap ### Overview @@ -134,10 +135,10 @@ Primis Team already completed the designing work of Primis Desktop and started w Short-term: After finishing all milestones, the users' amount of Primis web3 desktop will be over 50K. -Long-term: The most influenced Web3 desktop +Long-term: The most influenced Web3 desktop -## Additional Information +## Additional Information **How did you hear about the Grants Program?** Web3 Foundation Website diff --git a/applications/QRUCIAL_DAO.md b/applications/QRUCIAL_DAO.md index eb0a05c8f24..4e7f86b760d 100644 --- a/applications/QRUCIAL_DAO.md +++ b/applications/QRUCIAL_DAO.md @@ -1,10 +1,9 @@ -# W3F Grant Proposal +# QRUCIAL DAO > This document will be part of the terms and conditions of your agreement and therefore needs to contain all the required information about the project. Don't remove any of the mandatory parts presented in bold letters or as headlines! Lines starting with a `>` (such as this one) can be removed. > > See the [Grants Program Process](https://github.com/w3f/Grants-Program/#pencil-process) on how to submit a proposal. -- **Project Name:** QRUCIAL DAO - **Team Name:** QRUCIAL OÜ - **Payment Address:** BTC - bc1qysscajxdstqzpe3x9x4ftr3y6l5gelggtk8a8g - **Level:** 2 @@ -33,23 +32,26 @@ We are the first connecting defensive as well as offensive security tool executi - Core components include Substrate, QRUCIAL DAO runtime, pallets and the ExoGlue. - PoC can be found in the reference QRUCIAL DAO repository below. -- What your project is _not_ or will _not_ provide or implement +- What your project is *not* or will *not* provide or implement - We won't solve business questions here, though we think our idea fill fit into the Polkadot/Kusama ecosystem. - This project won't save all the smart contracts or render manual auditors/hackers useless. Quite the opposite, by providing proven execution, we want to provide work to the manual workers who verify and validate vulnerabilities. - Main programming languages to be used: Rust, Python and JavaScript (for frontend)

          - +

          #### What is ExoSys? + ExoSys is the system that schedules audit requests and handles ExoTool connections. It is implemented as a combination of a pallet and a daemon, running on the same system as the blockchain node. ExoSys is also responsible for issuing the Non-Transferrable NFTs and keeps a track record of audit hashes and meta data. #### What is ExoTool? + Selected set of security auditor tools, packaged and adapted to be executed by the request of ExoSys. #### What is AuditorRep? + Élő's assumption is that the performance of an auditor in each audit is a random variable following a normal distributed bell curve over time. An auditor might perform significantly better or worse from one audit to the next. Using Élő their mean skill level would remain the same. @@ -59,14 +61,16 @@ If additional vulnerabilities are found or false positives are removed, the cha The increase and decrease of every individual auditor is relative to the Élő score of the original auditor and the one re-auditing a project. High ranked auditor wins: + - few points are transferred from the low ranked auditor to the higher rated one. Low rated auditor wins: -- a lot of points are transferred from the higher rated auditor to the low rated one. + +- a lot of points are transferred from the higher rated auditor to the low rated one. #### What is the CCTF talent pool? -CCTF provides a proven track record of hackers solving challenges and based on their reputation, they are awarded as manual auditors in the QDAO ecosystem. +CCTF provides a proven track record of hackers solving challenges and based on their reputation, they are awarded as manual auditors in the QDAO ecosystem. ### Ecosystem Fit @@ -113,19 +117,18 @@ Silur is working at the Hungarian Academy of Sciences (MTA) as cryptographer, wa knockoff is linux system administrator and junior rust developer. - ### Team Code Repos -- https://github.com/Qrucial/QRUCIAL-DAO -- https://github.com/Qrucial/Hacking_Substrate_with_Chaos_Pallet -- https://github.com/Qrucial/SafuDot -- https://github.com/Qrucial/QRUCIAL_Audits +- +- +- +- Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine. -- https://github.com/smilingSix -- https://github.com/wigy-opensource-developer -- https://github.com/Silur +- +- +- ### Team LinkedIn Profiles (if available) @@ -139,7 +142,6 @@ We have started the development already, details can be found under this reposit The PoC is working, and we want to move forward in developing a live testnet version. - ## Development Roadmap :nut_and_bolt: ### Overview @@ -160,7 +162,7 @@ The PoC is working, and we want to move forward in developing a live testnet ver | 0b. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can (for example) spin up one of our Substrate nodes and send test transactions, which will show how the new functionality works. | | 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | | 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | -| 1. | Substrate runtime | The runtime config and compilable code for QRUCIAL DAO. | +| 1. | Substrate runtime | The runtime config and compilable code for QRUCIAL DAO. | | 2. | Substrate pallet: ExoSys | Core system that handles the extrinsics that request ExoTool execution. | | 3. | Substrate pallet: AuditorRep | Reputation system for the manual auditors who verify the output recorded by ExoSys. | | 4. | Substrate report storage | Includes the tools exogenous to the Substrate system, it is connected through the glue/proxy. | @@ -184,7 +186,6 @@ The PoC is working, and we want to move forward in developing a live testnet ver | 3. | ExoTool - CCA | Implement [Clippy](https://github.com/rust-lang/rust-clippy) and [Cargo Audit](https://docs.rs/cargo-audit/0.15.1/cargo_audit/) as an exotool package for ink!/WASM smart contract audits. | | 4. | ExoTool - Octopus | Implement [Octopus](https://github.com/pventuzelo/octopus) as an exotool for bytecodes (WASM and Solidity) | - ## Future Plans - In the short term, we'd like to have the grant, so development goes faster. QRUCIAL as a company will keep funding the project until it becomes self-sustaining (meaning, the governance system keeps the DAO running on its own). @@ -192,7 +193,6 @@ The PoC is working, and we want to move forward in developing a live testnet ver - Elfz'n'Trollz is a marketing partner, so we don't just develop a DAO, but also make it usable and visually acceptable to all audiences. - After final milestone, we will start building a larger community for QRUCIAL DAO and improve our partnership with CCTF. - ## Additional Information :heavy_plus_sign: **How did you hear about the Grants Program?** Personal recommendation from Achim Schneider and Jonan. diff --git a/applications/QSTN: Redefining data, De-Fi and NFTs on Substrate.md b/applications/QSTN: Redefining data, De-Fi and NFTs on Substrate.md index 6c913859d4b..323a1254213 100644 --- a/applications/QSTN: Redefining data, De-Fi and NFTs on Substrate.md +++ b/applications/QSTN: Redefining data, De-Fi and NFTs on Substrate.md @@ -1,6 +1,5 @@ -# W3F Grant Proposal +# QSTN -- **Project Name:** QSTN - **Team Name:** QSTN - **Payment Address:** ETH - 0x7056A5Da7D269B31Eb2E54E5579e41ef283d7D2C - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 diff --git a/applications/RainbowDAO Protocol ink! Phase 1.md b/applications/RainbowDAO Protocol ink Phase 1.md similarity index 99% rename from applications/RainbowDAO Protocol ink! Phase 1.md rename to applications/RainbowDAO Protocol ink Phase 1.md index 839da170a90..b0561630cec 100644 --- a/applications/RainbowDAO Protocol ink! Phase 1.md +++ b/applications/RainbowDAO Protocol ink Phase 1.md @@ -1,8 +1,5 @@ -# W3F Grant Proposal +# RainbowDAO Protocol ink! Phase 1 - - -- **Project Name:** RainbowDAO Protocol ink! Phase 1 - **Team Name:** Rainbowcity Foundation - **Payment Address:** 0xC2dA4D5813978BbC43d81e905dE6C98767526EdF (DAI) - **[Level]** 2 diff --git a/applications/RareLink.md b/applications/RareLink.md index 4375f026385..87d3e050a10 100644 --- a/applications/RareLink.md +++ b/applications/RareLink.md @@ -1,6 +1,5 @@ -# Open Grant Proposal +# RareLink Protocol -* **Project:** RareLink Protocol * **Proposer:** 0x522359 * **Payment Address:** 3Ah1QWfs9oEPdhRDYkWPSJYf5yKa7NLcSF * **Status:** [Terminated](https://github.com/w3f/Open-Grants-Program/pull/86#issuecomment-874241559) diff --git a/applications/RedStone Network.md b/applications/RedStone Network.md index e8fd6372698..f6934258d2c 100644 --- a/applications/RedStone Network.md +++ b/applications/RedStone Network.md @@ -1,6 +1,5 @@ -# W3F Grant Proposal +# Redstone Network -- **Project Name:** Redstone Network - **Team Name:** Redstone Network - **Payment Address:** 0x24cfc36f699dacc5cb652630ddd894a8df658233 (Ethereum ERC20 USDT) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 @@ -20,11 +19,14 @@ We will work with parallel chains in Polkadot/Kusama to build and deploy the fir For the transaction firewall functionality, Redstone Network will build a set of on-chain/off-chain trigger components and their implementations. In general, users will not be aware of the firewall's operation, and the firewall will truthfully notify users of potential security risks when there are triggered alarms on the chain. #### Passive defense and active alarms -* We build a series of stateless atomic trigger components, including on-chain triggers (quantity trigger, time trigger, price trigger), off-chain triggers (mail trigger, discord trigger, slack trigger) and off-chain message interaction components, which are responsible for actively obtaining external information or pushing messages to a specified server.; -* Analyze transaction characteristics and behavior, design transaction protocol analyze the transaction characteristics and behavior, design the transaction protocol, check whether the basic information and check information of the transaction match through protocol parsing, and initially determine the validity of the transaction; -* according to the trigger and the transaction protocol, with the idea of social recovery and multiple signatures, formulate different security level trigger policies for users, including power grabbing mechanism, freezing mechanism and alarm mechanism. + +- We build a series of stateless atomic trigger components, including on-chain triggers (quantity trigger, time trigger, price trigger), off-chain triggers (mail trigger, discord trigger, slack trigger) and off-chain message interaction components, which are responsible for actively obtaining external information or pushing messages to a specified server.; + +- Analyze transaction characteristics and behavior, design transaction protocol analyze the transaction characteristics and behavior, design the transaction protocol, check whether the basic information and check information of the transaction match through protocol parsing, and initially determine the validity of the transaction; +- according to the trigger and the transaction protocol, with the idea of social recovery and multiple signatures, formulate different security level trigger policies for users, including power grabbing mechanism, freezing mechanism and alarm mechanism. #### Intelligent termination of transactions with evil address monitoring + The user-configured security scheme can effectively defend against known security problems, but not against unknown or unconfigured behaviors. By analyzing the transaction data recorded in the database under the chain, the transactions are analyzed according to the dimensions of transaction time, transaction frequency, transaction address, transaction direction, and transaction amount, and if the transaction behavior is different from the daily behavior, the meltdown mechanism will be triggered and alarmed; receiving the supervision instruction from a chain, the address that is doing evil and the derived address will be dynamically analyzed and the transaction meltdown mechanism will be triggered. For the application scenario of transaction firewall, it is mainly divided into token assets and NFT assets. Users can choose the type of asset that needs to be configured with the firewall, either for a certain token, or to protect the account that issues NFT assets. @@ -32,56 +34,66 @@ For the application scenario of transaction firewall, it is mainly divided into In addition, the transaction firewall feature is not dependent on any application, any architecture and any address type restrictions, making it flexible to handle a variety of new attack methods that are known or have not yet emerged in the future, as it aims to study the security of A to B transfers. **Technology stack** -* Rust: Develop on-chain trigger/defense/alert modules -* Go/Python: Develop off-chain analysis/trace/alarm modules + +- Rust: Develop on-chain trigger/defense/alert modules +- Go/Python: Develop off-chain analysis/trace/alarm modules ### Ecosystem Fit + This project will be developed, deployed and run based on the Substrate framework. Unlike other trigger projects, with the advanced features of OCW, we are able to provide users with an advanced on-chain alert push mechanism, which will help shorten the time for users to get critical information. At the same time, rooted in Polkadot/Kasuma ecology, as a parallel chain, the trigger interface on it will provide additional application features for all parallel chains, and with the help of relay chains, it can facilitate unique transaction defense capabilities for other parachains. We note that we are entering a completely new area that will provide an unprecedented protection experience for the blockchain space once our project is in actual operation. ## Team :busts_in_silhouette: ### Team members -- Bin Guo -- Li Smith -- yiwei Shi -- Leon +- Bin Guo +- Li Smith +- yiwei Shi +- Leon ### Contact -- **Contact Name:** Bin Guo -- **Contact Email:** bin.guo@deeper.network +- **Contact Name:** Bin Guo +- **Contact Email:** bin.guo@deeper.network ### Legal Structure + (we are in the process of registering the legal entity) -- **Registered Address:** N/A -- **Registered Legal Entity:** N/A + +- **Registered Address:** N/A +- **Registered Legal Entity:** N/A ### Team's experience **Bin Guo** + - Over 9 years of experience in software development and project management, engaged in work related to blockchain and big data, and worked in a core research institution of State Grid (Fortune 500). - Polkadot senior ambassador, Substrate Evangelist, and early participants in the Polkadot ecosystem. - Github: https://github.com/AmadeusGB - Email: amadeusgb123@gmail.com **Smith Li** + - Over 9 years of working experience in various aspects of computer programming. - Worked in the blockchain industry for 3+ years, a blockchain development engineer, familiar with polkadot, bitshares, fabric, etc. - Hackathon winner as a team tech leader: Winners of Polkadot Hackathon 2022. - github: https://github.com/baidang201 **yiwei Shi** + - Art and management background, worked for Hearst, MSN, responsible for market and product, more than one year of blockchain development experience, familiar with computer science, cryptography and different economic mechanisms, good at Go and Rust development。Hackathon winner as a team member: Winners of Polkadot Hackathon 2022 - Github : https://github.com/shiyivei - Email : shiyivei@outlook.com **leon** + - Over 7 years of working experience in web development experience ande more than one year of blockchain development experience, familiar with FrontEnd, good at Js,Ts and Rust development.Hackathon winner as a team member: Winners of Polkadot Hackathon 2022 - github: https://github.com/walle233 ### Team Code Repos + We have forked substrate-template repository code to implement on-chain triggers (quantity triggers, time triggers, price triggers) and off-chain triggers (email triggers, slack triggers) with the help of decentralized off-chain communication components, in addition, we have implemented a simple oracle machine。 + - [difttt-node](https://github.com/difttt/difttt-node) - [evm-proxy](https://github.com/difttt/evm-proxy) - [slack-notify](https://github.com/difttt/slack-notify) @@ -89,6 +101,7 @@ We have forked substrate-template repository code to implement on-chain triggers - [frontend](https://github.com/difttt/frontend) ## Development Roadmap :nut_and_bolt: + ### Overview - **Total Estimated Duration:** 3 months @@ -108,8 +121,8 @@ We have forked substrate-template repository code to implement on-chain triggers | 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | | 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | | 0e. | Article | We will publish an **article** to explain the concept, design and implementation of the design in Grant and how to use these features in the blockchain) -| 1. | Passive_Defense Pallet | We will provide users with stateless and application-independent protective features, and this module will be implemented through Substrate Pallet:
          **transaction limit configuration**: configure in advance the limit of transferring a transaction amount and limit the frequency of transactions within a specified time; protect users from suffering significant losses for a short period of time when their private keys are stolen.
          **Freezing configuration**: advance configuration of freezing transaction time, freezing transaction type, and whether the freezing command can be withdrawn; when the user realizes that the private key has been stolen, the freezing operation will be triggered immediately to help the user further reduce losses.
          **Capture account authority configuration**: configure in advance N friend addresses and M for friend operations to take effect; when the user realizes the private key has been stolen, let the account freeze first and contact their friends as soon as possible. When more than M friends vote to pass, the authority of the stolen account will be taken over and any transaction will be executed only after N friends vote. This way even if the hacker steals the private key, he will not be able to transfer money effectively. | -| 2. | Active_Alarming Pallet | We will provide users with on-chain and off-chain alerting functions. This module will be implemented through Substrate Pallet:
          **On-chain alarm configuration**: Any transaction that exceeds the limit will send an alarm event; for example, the user can configure that when N transactions exceeding the limit amount occur within a period of time, an off-chain alarm notification will be triggered; the user can configure, a period of Within a certain time, different times will trigger different alarm methods.
          **Off-chain triggering alarms**: Provide users with three off-chain notification methods: Mail, Slack, and Discord. For example, general alarms are sent to Mail, important alarms are sent to Slack, and critical alarms are sent to Discord to achieve hierarchical management of alarms. | +| 1. | Passive_Defense Pallet | We will provide users with stateless and application-independent protective features, and this module will be implemented through Substrate Pallet:
          **transaction limit configuration**: configure in advance the limit of transferring a transaction amount and limit the frequency of transactions within a specified time; protect users from suffering significant losses for a short period of time when their private keys are stolen.
          **Freezing configuration**: advance configuration of freezing transaction time, freezing transaction type, and whether the freezing command can be withdrawn; when the user realizes that the private key has been stolen, the freezing operation will be triggered immediately to help the user further reduce losses.
          **Capture account authority configuration**: configure in advance N friend addresses and M for friend operations to take effect; when the user realizes the private key has been stolen, let the account freeze first and contact their friends as soon as possible. When more than M friends vote to pass, the authority of the stolen account will be taken over and any transaction will be executed only after N friends vote. This way even if the hacker steals the private key, he will not be able to transfer money effectively. | +| 2. | Active_Alarming Pallet | We will provide users with on-chain and off-chain alerting functions. This module will be implemented through Substrate Pallet:
          **On-chain alarm configuration**: Any transaction that exceeds the limit will send an alarm event; for example, the user can configure that when N transactions exceeding the limit amount occur within a period of time, an off-chain alarm notification will be triggered; the user can configure, a period of Within a certain time, different times will trigger different alarm methods.
          **Off-chain triggering alarms**: Provide users with three off-chain notification methods: Mail, Slack, and Discord. For example, general alarms are sent to Mail, important alarms are sent to Slack, and critical alarms are sent to Discord to achieve hierarchical management of alarms. | ### Milestone 2 Example — Intelligent meltdown mechanism, including abnormal trading meltdown, evil trading meltdown @@ -126,19 +139,20 @@ We have forked substrate-template repository code to implement on-chain triggers | 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | | 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | | 0e. | Article | We will publish an **article** explaining the concept, design and implementation of smart meltdowns and how to use these features in the blockchain) -| 1. | Analyzer Module | We will provide users with off-chain transaction analysis functionality, and this module will be implemented via the Go/Python programming language:
          Users can choose whether to enable the off-chain transaction analysis function. The module records and analyzes user transaction characteristics based on a counter, and uploads to the blockchain when abnormal results emerge from the analysis. When a potentially abnormal transaction occurs, the user can choose, based on advance configuration, whether the module simply alerts when an abnormal transaction is reported, or freezes the account until the user comes to deal with the problem on their own. In this case, the hacker does not trigger any on-chain restrictions, only the off-chain transaction analysis detects the anomaly | -| 2. | Tracker Module | We will provide users with off-chain transaction analysis functionality, and this module will be implemented via the Go/Python programming language.
          This module implements the function of tracking the transaction records of a certain address at a certain time period, helping users to assist in analyzing the loss of the current address from the hacking attack, as well as analyzing the chain through which the hacker transferred the funds. | +| 1. | Analyzer Module | We will provide users with off-chain transaction analysis functionality, and this module will be implemented via the Go/Python programming language:
          Users can choose whether to enable the off-chain transaction analysis function. The module records and analyzes user transaction characteristics based on a counter, and uploads to the blockchain when abnormal results emerge from the analysis. When a potentially abnormal transaction occurs, the user can choose, based on advance configuration, whether the module simply alerts when an abnormal transaction is reported, or freezes the account until the user comes to deal with the problem on their own. In this case, the hacker does not trigger any on-chain restrictions, only the off-chain transaction analysis detects the anomaly | +| 2. | Tracker Module | We will provide users with off-chain transaction analysis functionality, and this module will be implemented via the Go/Python programming language.
          This module implements the function of tracking the transaction records of a certain address at a certain time period, helping users to assist in analyzing the loss of the current address from the hacking attack, as well as analyzing the chain through which the hacker transferred the funds. | ## Future Plans Conceptualizing the application with the trigger concept, implementing the transaction firewall first, and refining our design based on user feedback. Implementation steps. -* develop on-chain/off-chain triggers for firewall requirements. -* refining the firewall design based on user feedback. -* implementing cross-chain transactions and providing transaction protection for cross-chain links. -* configure different levels of defense strategies based on implementation experience. + +- develop on-chain/off-chain triggers for firewall requirements. +- refining the firewall design based on user feedback. +- implementing cross-chain transactions and providing transaction protection for cross-chain links. +- configure different levels of defense strategies based on implementation experience. ## Additional Information :heavy_plus_sign: -**How did you hear about the Grants Program?** +**How did you hear about the Grants Program?** How did you hear about the Grants Program? We heard about the Grants Program from the Web 3 Foundation Website, as well as personal recommendations from Polkadot community members. diff --git a/applications/Relation-Graph.md b/applications/Relation-Graph.md index 861c86e285a..083b9f997ee 100644 --- a/applications/Relation-Graph.md +++ b/applications/Relation-Graph.md @@ -1,25 +1,23 @@ -# W3F Grant Proposal +# Relation Graph > This document will be part of the terms and conditions of your agreement and therefore needs to contain all the required information about the project. Don't remove any of the mandatory parts presented in bold letters or as headlines! Lines starting with a `>` (such as this one) can be removed. > > See the [Grants Program Process](https://github.com/w3f/Grants-Program/#pencil-process) on how to submit a proposal. -- **Project Name:** Relation Graph + - **Team Name:** Relationlabs - **Payment Address:** 0x9fE784bD844C6c7eB7a570467937e6005eEd1C4C Ethereum (USDT/DAI) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 - **Status:** [Terminated](https://github.com/w3f/Grant-Milestone-Delivery/pull/569#issuecomment-1299292773) - -## Project Overview :page_facing_up: +## Project Overview :page_facing_up ### Overview + `Relation Graph` is a substrate pallet that allows anyone to use GraphDB in [Substrate platform](https://substrate.io/). `Relation Graph` provides organizations with ready-to-use GraphDB service for successfully running Dapps on the Substrate. using `Relation Graph` Dapps builders can focus on bussiness logic by removing the complexities of Substrate. - ### Project Details - **Relation Graph** `Relation Graph` is a substrate pallet that allows anyone to use GraphDB in [Substrate platform](https://substrate.io/). @@ -29,9 +27,9 @@ 3、sparql as blockchain. It supports the following specifications: -* [SPARQL 1.1 Query](https://www.w3.org/TR/sparql11-query/), [SPARQL 1.1 Update](https://www.w3.org/TR/sparql11-update/), and [SPARQL 1.1 Federated Query](https://www.w3.org/TR/sparql11-federated-query/). -* [Turtle](https://www.w3.org/TR/turtle/), [TriG](https://www.w3.org/TR/trig/), [N-Triples](https://www.w3.org/TR/n-triples/), and [N-Quads](https://www.w3.org/TR/n-quads/). -* [SPARQL 1.1 Query Results JSON Format](https://www.w3.org/TR/sparql11-results-json/) and [SPARQL 1.1 Query Results CSV and TSV Formats](https://www.w3.org/TR/sparql11-results-csv-tsv/). +- [SPARQL 1.1 Query](https://www.w3.org/TR/sparql11-query/), [SPARQL 1.1 Update](https://www.w3.org/TR/sparql11-update/), and [SPARQL 1.1 Federated Query](https://www.w3.org/TR/sparql11-federated-query/). +- [Turtle](https://www.w3.org/TR/turtle/), [TriG](https://www.w3.org/TR/trig/), [N-Triples](https://www.w3.org/TR/n-triples/), and [N-Quads](https://www.w3.org/TR/n-quads/). +- [SPARQL 1.1 Query Results JSON Format](https://www.w3.org/TR/sparql11-results-json/) and [SPARQL 1.1 Query Results CSV and TSV Formats](https://www.w3.org/TR/sparql11-results-csv-tsv/). ![arch.png](https://user-images.githubusercontent.com/91399393/165587783-c55954fe-6d72-4702-95d9-75a4521e980d.png) @@ -60,7 +58,7 @@ INSERT DATA - Update Data -Changes to existing triples are performed as a delete operation followed by an insert operation in a single update request. +Changes to existing triples are performed as a delete operation followed by an insert operation in a single update request. The specification refers to this as `DELETE/INSERT` Sample SPARQL: update age to `36` for person `P001` @@ -84,6 +82,7 @@ DELETE WHERE :P001 ?p ?o . } ``` + Sample SPARQL: delete partial properties of person `P001` ```sparql @@ -93,6 +92,7 @@ DELETE WHERE :name ?name . } ``` + 2. SPARQL Query Call RPC `sparql_query` with SPARQL for `query` operations. @@ -103,7 +103,6 @@ curl -H "Content-Type: application/json" \ http://localhost:9933 ``` - ### Ecosystem Fit - Relation graph can effectively reduces the development threshold of building Web3 decentralized applications which contains large data. @@ -123,7 +122,7 @@ curl -H "Content-Type: application/json" \ - **Contact Name:** Joe Guo - **Contact Email:** pikajoe@relationlabs.ai -- **Website:** https://relationlabs.ai/ +- **Website:** ### Legal Structure @@ -132,7 +131,7 @@ curl -H "Content-Type: application/json" \ ### Team's experience -- Jessica Chang Founder +- Jessica Chang Founder Crypto and commodity trader @@ -150,40 +149,38 @@ Led team of 200+ members AsiaInfo, HP, AWS - Santry Huang CMO -Former CMO at Patract Labs +Former CMO at Patract Labs 9+ years of marketing and operation and experience - Ben Zhang Chief Software Architect -former core development engineer of IBM, AWS and other companies, +former core development engineer of IBM, AWS and other companies, 10+ years of back-end development experience, Problem solving Bigdata - Joe Guo CPO -former product leader of top blockchain companies, +former product leader of top blockchain companies, 6+ years of project experience in finance, logistics, social networking, games products ### Team Code Repos -- https://github.com/relationlabs -- https://github.com/gembin -- https://github.com/bbo268 +- +- +- ### Team LinkedIn Profiles (if available) -- Jessica Chang, Founder, https://www.linkedin.com/in/jessica-chang-a63313235/ -- Santry Huang, CMO, https://www.linkedin.com/in/santryhuang/ -- Yann, CTO, https://www.linkedin.com/in/yann-ren-361b91235/ -- Joe,CPO,https://www.linkedin.com/in/joe-guo-783780ab/ +- Jessica Chang, Founder, +- Santry Huang, CMO, +- Yann, CTO, +- Joe,CPO, ## Development Status :open_book: - -- We have finished a version on Internet computer.It is a graph database written in Rust and deployed on WASM.Ereryone can try it here(https://kziov-eaaaa-aaaag-aaaxa-cai.ic0.app/ic_graph_developer.html). - +- We have finished a version on Internet computer.It is a graph database written in Rust and deployed on WASM.Ereryone can try it here(). ## Development Roadmap :nut_and_bolt: @@ -191,7 +188,6 @@ former product leader of top blockchain companies, - **Full-Time Equivalent (FTE):** 2 FTE - **Total Costs:** 30,000 USD - ### Milestone 1 — Relation Graph deploy as pallet,contains insert,query,delete and update - **Estimated duration:** 1 month @@ -204,7 +200,6 @@ former product leader of top blockchain companies, | 0b. | Documentation | We will provide inline documentation and a tutorial of use and deploy pallet | | 0c. | Testing Guide | We will add unit tests to cover all basic logic.| | 1. | wasm package | We will create a wasm package that can deployed as pallet,contains insert,query,delete and update| - ### Milestone 2— Expand the basic functions of database,contains ACL,OGM and subgraph @@ -238,6 +233,3 @@ former product leader of top blockchain companies, ## Future Plans - Based on Relation Graph, we intend to provide a Web3 social DAPP build on substrate. - - - diff --git a/applications/Roloi.md b/applications/Roloi.md index 4afa0517cb0..0d179f2fc01 100644 --- a/applications/Roloi.md +++ b/applications/Roloi.md @@ -1,6 +1,5 @@ -# W3F Grant Proposal +# Roloi -- **Project Name:** Roloi - **Team Name:** NeoPower - **Payment Address:** 0x1f5CE2eDdaAAe75ff62729feE50F861bCDC0b62e (ETH Network -> **USDT**) - **Level:** 2 diff --git a/applications/RubeusKeeper.md b/applications/RubeusKeeper.md index 7640d19e6d9..41b8a9fec6f 100644 --- a/applications/RubeusKeeper.md +++ b/applications/RubeusKeeper.md @@ -1,6 +1,5 @@ -# W3F Grant Proposal +# Rubeus Keeper -- **Project Name:** Rubeus Keeper - **Team Name:** Bela Supernova - **Payment Address:** 0xC0d28794eA40Ce9b9F4B62a1B2Bb42FD34b7d305 (USDT) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 diff --git a/applications/RubyProtocol.md b/applications/RubyProtocol.md index f3a9dc46cd7..688cb1f33ab 100644 --- a/applications/RubyProtocol.md +++ b/applications/RubyProtocol.md @@ -1,57 +1,59 @@ -# Ruby Protocol - Open Grants Program +# Ruby Protocol - -* **Project:** Ruby Protocol -* **Proposer:** Ruby Protocol -* **Payment Address:** 0x5aBBe7b65c572b9f5Cc7655Ba4a1Acad0e892720 +- **Proposer:** Ruby Protocol +- **Payment Address:** 0x5aBBe7b65c572b9f5Cc7655Ba4a1Acad0e892720 ## Project Overview :page_facing_up: + ### Overview + #### Introduction This project will design and implement a fine-grained personal data monetization framework, which would serve as a second-layer/middleware protocol interacting with the substrate module. The framework will enable a data owner to enforce a fine-grained access control policy over his/her encrypted private data using functional encryption, and share predefined computation results over the private data with a data purchaser in exchange for economic compensation. The access control policy will be built into the substrate module, and the data monetization transaction will also execute via substrate module, which is why this solution is defined as a second-layer/middleware protocol. ### Project Details + #### Project Architecture -Functional encryption was originally proposed as a fine-grained access control mechanism over encrypted data [GPSW06]. A data owner encrypts a message `x` to generate ciphertext, which could be stored in an untrusted cloud server. The project might pay for the hosting expenses initially to jump-start the project, but we will gradually transfer the cost to the data owner since it would make sense for them to pay for their data monetization business. A data purchaser might wish to compute a function `f` over the encrypted message. With the consent of the data owner, a data purchaser would receive a secret key `sk_f` from a key distributor. The data purchaser can then use the private key `sk_f` to decrypt the ciphertext to compute `f(x)`. Note the data purchaser cannot retrieve any other information on the underlying message except the final decryption result `f(x)`. To prevent the data owner from accepting payment and then immediately removing their data from the cloud before the data purchaser receives the data, the data purchaser needs to retrieve the encrypted data before paying the owner. +Functional encryption was originally proposed as a fine-grained access control mechanism over encrypted data [GPSW06]. A data owner encrypts a message `x` to generate ciphertext, which could be stored in an untrusted cloud server. The project might pay for the hosting expenses initially to jump-start the project, but we will gradually transfer the cost to the data owner since it would make sense for them to pay for their data monetization business. A data purchaser might wish to compute a function `f` over the encrypted message. With the consent of the data owner, a data purchaser would receive a secret key `sk_f` from a key distributor. The data purchaser can then use the private key `sk_f` to decrypt the ciphertext to compute `f(x)`. Note the data purchaser cannot retrieve any other information on the underlying message except the final decryption result `f(x)`. To prevent the data owner from accepting payment and then immediately removing their data from the cloud before the data purchaser receives the data, the data purchaser needs to retrieve the encrypted data before paying the owner. Here is a more concrete example for functional encryption: the message here could be the user’s genomic data, and `f` could be a statistical analysis algorithm. The data purchaser could be a research institute intended to perform private statistical analysis over one’s genomic data. The secret key might be generated by the hospital that collects the users' genomic data or the data owner themselves. At the end of this transaction, the data owner will receive economic compensation for one's contribution to the computation result while the data purchaser will receive the statistical analysis results. In other cases, the data could also be one’s social network data and the function could be an analytics algorithm for online advertisement. We envision the monetary exchange between the data owner and purchaser will be executed as a substrate module. This project will implement a second-layer/middleware protocol running on Polkadot that enables individuals to monetize their private data in a fine-grained fashion. The delivery will include: -* A cryptographic library that implements the inner product functional encryption and quadratic polynomial functional encryption. -* A substrate module that implements the encryption of the cryptographic keys of the functional encryption scheme and the associated zero-knowledge proof for its legitimacy. -* A micropayment scheme running on the Polkadot blockchain can allow individual users to monetize their data. -Here are the basic principles behind the overall architecture design of the fine-grained personal data monetization framework. We aim to keep the workload of the data owner minimum. This implies the online time of the data owner should be kept to a minimum. The optimal case would be the data owner is left alone after he generates and uploads the ciphertext. Ideally, the encryption workload of the data owner should also be kept as minimal as possible. The following scheme can be viewed as a generalization of the knowledge monetization scheme proposed in [TZLHJS2017]. +- A cryptographic library that implements the inner product functional encryption and quadratic polynomial functional encryption. +- A substrate module that implements the encryption of the cryptographic keys of the functional encryption scheme and the associated zero-knowledge proof for its legitimacy. +- A micropayment scheme running on the Polkadot blockchain can allow individual users to monetize their data. -The general idea is shown in Fig. 1. A functional encryption scheme usually consists of four algorithms:`FE.Setup(1^\lambda)`, `FE.KeyGen(msk, f)`, `FE.Enc(mpk, x)` and `FE.Decrypt(Key_f, FE.Enc(mpk, x))`. At the beginning of the system, the key distributors run the `FE.Setup(1^\lambda)` algorithm to generate the master public key `mpk` and master secret key `msk`. Here `\lambda` denotes the security parameter. When a data owner wishes to sell his data, he encrypts his data `x` by running the `FE.Enc(mpk, x)` algorithm and uploads the output ciphertext `Enc(x)` to the untrusted cloud. He then specifies the pricing model with respect to different functions `f`’s in a substrate module SC, and posts it to the Polkadot blockchain. When a data purchaser intends to calculate `f(x)`, he will first generate a commitment of an appropriate amount of coin based on the pricing of the function `f` and his own public key `PK_P` as a transaction to call the module SC. +Here are the basic principles behind the overall architecture design of the fine-grained personal data monetization framework. We aim to keep the workload of the data owner minimum. This implies the online time of the data owner should be kept to a minimum. The optimal case would be the data owner is left alone after he generates and uploads the ciphertext. Ideally, the encryption workload of the data owner should also be kept as minimal as possible. The following scheme can be viewed as a generalization of the knowledge monetization scheme proposed in [TZLHJS2017]. + +The general idea is shown in Fig. 1. A functional encryption scheme usually consists of four algorithms:`FE.Setup(1^\lambda)`, `FE.KeyGen(msk, f)`, `FE.Enc(mpk, x)` and `FE.Decrypt(Key_f, FE.Enc(mpk, x))`. At the beginning of the system, the key distributors run the `FE.Setup(1^\lambda)` algorithm to generate the master public key `mpk` and master secret key `msk`. Here `\lambda` denotes the security parameter. When a data owner wishes to sell his data, he encrypts his data `x` by running the `FE.Enc(mpk, x)` algorithm and uploads the output ciphertext `Enc(x)` to the untrusted cloud. He then specifies the pricing model with respect to different functions `f`’s in a substrate module SC, and posts it to the Polkadot blockchain. When a data purchaser intends to calculate `f(x)`, he will first generate a commitment of an appropriate amount of coin based on the pricing of the function `f` and his own public key `PK_P` as a transaction to call the module SC.
          - +
          -The substrate module should return a receipt to the data purchaser, who will in turn present it to the key distributor. The key distributor, after verifying the receipt and the respective coin commitment, runs the `FE.KeyGen(msk, f)` algorithm to generate the function key `Key_f` for the data purchaser. +The substrate module should return a receipt to the data purchaser, who will in turn present it to the key distributor. The key distributor, after verifying the receipt and the respective coin commitment, runs the `FE.KeyGen(msk, f)` algorithm to generate the function key `Key_f` for the data purchaser. -Simultaneously, the distributor will send SC the encryption of `Key_f` under the data purchaser’s public key `PK_P`, denoted as `Enc_(PK_P)(Key_f)` and an associated zero-knowledge proof proving `Key_f` is indeed a well-formed function key corresponding to `f`. SC with the inputs from both the key distributor and data purchaser is then verified by the Polkadot blockchain. Once the verification for both sides passes, meaning the amount of the committed coin is sufficient to pay for the decryption result `f(x)` and the gas fee, and the associated zero-knowledge proof is correct, the payment will be released to the data owner. The data purchaser can then download the ciphertext and decrypt `f(x)` by running the `FE.Decrypt(Key_f, FE.Enc(mpk, x))` algorithm. +Simultaneously, the distributor will send SC the encryption of `Key_f` under the data purchaser’s public key `PK_P`, denoted as `Enc_(PK_P)(Key_f)` and an associated zero-knowledge proof proving `Key_f` is indeed a well-formed function key corresponding to `f`. SC with the inputs from both the key distributor and data purchaser is then verified by the Polkadot blockchain. Once the verification for both sides passes, meaning the amount of the committed coin is sufficient to pay for the decryption result `f(x)` and the gas fee, and the associated zero-knowledge proof is correct, the payment will be released to the data owner. The data purchaser can then download the ciphertext and decrypt `f(x)` by running the `FE.Decrypt(Key_f, FE.Enc(mpk, x))` algorithm. -Note once the verification of SC is passed, SC will execute and payment is released to the data owner instantaneously. To ensure fairness towards the data purchaser, the data owner should provide verifiable evidence to prove his data source. `FE.Enc(x)` is accompanied by a certified signature `Sig_D(FE.Enc(x))` to prove the data is coming from the right source and thus the data quality can be guaranteed. Here D denotes the private key of the data source. The data source could charge an extra service fee from the data owner when the data owner first meets the data source (goes to the hospital and does the test in the genomic computation example) and decides to join the monetization program. We note even though the data source (the hospital in the genomic computation example) is the one that produces the data, it doesn't necessarily mean that it owns the patients' data. For instance, according to [this report](https://www.forbes.com/sites/forbestechcouncil/2018/04/23/who-really-owns-your-health-data/?sh=1499f91d6d62), some states in the US explicitly give patients ownership of their health data. In other words, only the patient can dictate how the data should be monetized. Although it might be tempting to let the data source be representative of the data owners and handle the monetization of their private data, it would both go against both the law and the ethos of the project, which is to put the control of one's data back in the hands of the owner. +Note once the verification of SC is passed, SC will execute and payment is released to the data owner instantaneously. To ensure fairness towards the data purchaser, the data owner should provide verifiable evidence to prove his data source. `FE.Enc(x)` is accompanied by a certified signature `Sig_D(FE.Enc(x))` to prove the data is coming from the right source and thus the data quality can be guaranteed. Here D denotes the private key of the data source. The data source could charge an extra service fee from the data owner when the data owner first meets the data source (goes to the hospital and does the test in the genomic computation example) and decides to join the monetization program. We note even though the data source (the hospital in the genomic computation example) is the one that produces the data, it doesn't necessarily mean that it owns the patients' data. For instance, according to [this report](https://www.forbes.com/sites/forbestechcouncil/2018/04/23/who-really-owns-your-health-data/?sh=1499f91d6d62), some states in the US explicitly give patients ownership of their health data. In other words, only the patient can dictate how the data should be monetized. Although it might be tempting to let the data source be representative of the data owners and handle the monetization of their private data, it would both go against both the law and the ethos of the project, which is to put the control of one's data back in the hands of the owner. -The design of the underlying functional encryption scheme, where the private key should correspond to the function chosen by the data purchaser. Since the encryption of the private key should be presented as evidence (as shown in Fig. 1) and verified on the blockchain, the private key should be of minimum size, preferably constant size. To keep the workload of both the data owner and key distributor minimal, the encryption time and key generation time should be as short as possible. +The design of the underlying functional encryption scheme, where the private key should correspond to the function chosen by the data purchaser. Since the encryption of the private key should be presented as evidence (as shown in Fig. 1) and verified on the blockchain, the private key should be of minimum size, preferably constant size. To keep the workload of both the data owner and key distributor minimal, the encryption time and key generation time should be as short as possible. -There exist several functional encryption schemes with constant key size such as the one presented in [SC2017,CRH2015, RDGBP2019,B2017,MSHBM2019]. General predicate encryption allows the data owner to encrypt the raw data items tagged with various attributes, and a data purchaser to query different parts of the data repository using a function key corresponding to a predicate. Inner product predicate encryption [CGW2015] is a special kind of predicate encryption, where the data purchaser could retrieve the data records if the inner product of their attribute vector `y` and the predicate vector `x` specified by the data purchaser is equal to 0. For instance, the data purchaser could potentially ask for the data records corresponding to a conjunctive predicate such as “Age”AND“gender”AND“Income” from a personal data repository. One of the most efficient inner product encryption schemes [CGW2015] has a private key consisting of four elliptic curve group elements, and its key generation is dominated by four modular exponentiations. +There exist several functional encryption schemes with constant key size such as the one presented in [SC2017,CRH2015, RDGBP2019,B2017,MSHBM2019]. General predicate encryption allows the data owner to encrypt the raw data items tagged with various attributes, and a data purchaser to query different parts of the data repository using a function key corresponding to a predicate. Inner product predicate encryption [CGW2015] is a special kind of predicate encryption, where the data purchaser could retrieve the data records if the inner product of their attribute vector `y` and the predicate vector `x` specified by the data purchaser is equal to 0. For instance, the data purchaser could potentially ask for the data records corresponding to a conjunctive predicate such as “Age”AND“gender”AND“Income” from a personal data repository. One of the most efficient inner product encryption schemes [CGW2015] has a private key consisting of four elliptic curve group elements, and its key generation is dominated by four modular exponentiations. -While the predicate encryption allows the data purchaser to retrieve different parts of a database based on a predefined predicate, a more general functional encryption allows the data purchaser to calculate an arbitrary function over the input `x`. This project will focus on a slightly narrow set of functional encryption schemes: inner product encryption and quadratic polynomial function encryption [MSHBM2019]. In an inner product encryption scheme, for encryption of a vector `x`, the data purchaser with a private key corresponding to another vector `y` will be able to compute the inner product between `x` and `y`. On the other hand, in a quadratic polynomial functional encryption scheme, the data owner will encrypt two vectors `v_1 \in \mathbb{Z}_n` and `v_2 \in \mathbb{Z}_n`, a data purchaser with a secret key corresponding to a matrix `H \in \mathbb{Z}^{n*n}` is allowed to decrypt the quadratic product of `x_1, x_2`, and `H`, i.e., `x_1^T\cdot H \cdot x_2`. Both inner product encryption and quadratic polynomial functional encryption can support sophisticated privacy-preserving machine learning tasks, such as classification [LCFS2017,SGP2018] and neural networks [RDGBP2019]. +While the predicate encryption allows the data purchaser to retrieve different parts of a database based on a predefined predicate, a more general functional encryption allows the data purchaser to calculate an arbitrary function over the input `x`. This project will focus on a slightly narrow set of functional encryption schemes: inner product encryption and quadratic polynomial function encryption [MSHBM2019]. In an inner product encryption scheme, for encryption of a vector `x`, the data purchaser with a private key corresponding to another vector `y` will be able to compute the inner product between `x` and `y`. On the other hand, in a quadratic polynomial functional encryption scheme, the data owner will encrypt two vectors `v_1 \in \mathbb{Z}_n` and `v_2 \in \mathbb{Z}_n`, a data purchaser with a secret key corresponding to a matrix `H \in \mathbb{Z}^{n*n}` is allowed to decrypt the quadratic product of `x_1, x_2`, and `H`, i.e., `x_1^T\cdot H \cdot x_2`. Both inner product encryption and quadratic polynomial functional encryption can support sophisticated privacy-preserving machine learning tasks, such as classification [LCFS2017,SGP2018] and neural networks [RDGBP2019]. The benchmark results for various inner product encryption and quadratic polynomial function encryption schemes can be found in [MSHBM2019]. The private key of inner product encryption consists of one elliptic curve group element, which is of 256 bits under 128-bit level security. The key generation for a vector of 100 elements takes 0.4149s, and the encryption time for the data owner is around 0.2103s for a vector of the same size. The private key of quadratic polynomial functional encryption also only consists of one elliptic curve group element. The average key generation and encryption time for each coordinate of the message vector is 0.001s and 0.025s. In terms of the accompanied zero-knowledge proof scheme, the statement of the zero-knowledge proof scheme should be to convince the verifier that the encrypted content is a well-formed function key with regards to a predefined function in the module. Since the verification of the zero-knowledge proof should be verified by the blockchain, we need to make sure the verification is efficient and the proof size is as small as possible. The candidate zero-knowledge proof scheme for this is zk-snark implementation such as [ZeroPool](https://github.com/zeropoolnetwork/zeropool-substrate), which is an implementation of Groth16 scheme. The proof generation time is comparatively short for the previously mentioned encryption schemes since the respective statement (determined by the key generation algorithm and the public key encryption) is quite simple. -According to the pricing model of data monetization, a report presented by OECD [RRS2013] classifies the existing practical pricing models of personal data into two major categories: based on market valuation and individual valuation. The approach based on individual valuation suffers from the defect that the individual valuation of the private data is extremely context-dependent and cannot be measured with precision and certainty. The market-valuation-based approach can be further divided into the following sub-categories: market cap per data record, market prices for data, cost of a data breach, and data prices in illegal markets. +According to the pricing model of data monetization, a report presented by OECD [RRS2013] classifies the existing practical pricing models of personal data into two major categories: based on market valuation and individual valuation. The approach based on individual valuation suffers from the defect that the individual valuation of the private data is extremely context-dependent and cannot be measured with precision and certainty. The market-valuation-based approach can be further divided into the following sub-categories: market cap per data record, market prices for data, cost of a data breach, and data prices in illegal markets. -The approach based on market prices for data is particularly interesting given that data brokers usually publicly broadcast their asking prices for various personal data records. Our platform can easily aggregate and compare across various data brokers to use it as the proxy pricing model of the individual personal data record. One could further refine these data prices based on the queried function and adopt a fine-grained pricing approach used by DirectMail [MDJM2019]. They give an example where the base price per record is equal to $0.045 and the predicate-based price per record is equal to $0.0035 + $0 + $0.004 = $0.0075 (for example, calculated from the aforementioned conjunctive predicate). Thus, the total price per record for predicate encryption would be equal to $0.045 + $0.0075 = $0.0525. For the inner product encryption or quadratic polynomial function encryption, the price of the decryption result will exclude the base price of the record. +The approach based on market prices for data is particularly interesting given that data brokers usually publicly broadcast their asking prices for various personal data records. Our platform can easily aggregate and compare across various data brokers to use it as the proxy pricing model of the individual personal data record. One could further refine these data prices based on the queried function and adopt a fine-grained pricing approach used by DirectMail [MDJM2019]. They give an example where the base price per record is equal to $0.045 and the predicate-based price per record is equal to $0.0035 + $0 + $0.004 = $0.0075 (for example, calculated from the aforementioned conjunctive predicate). Thus, the total price per record for predicate encryption would be equal to $0.045 + $0.0075 = $0.0525. For the inner product encryption or quadratic polynomial function encryption, the price of the decryption result will exclude the base price of the record. -This will be one of the pricing strategies we adopt in phase 1 and phase 2 of our project. In the later development of our project, we will explore more algorithmic pricing approaches such as Automated Market Maker’s (AMMs), where the platform estimates how much the data purchaser is willing to pay for data of different qualities and determines the concrete data pricing model. +This will be one of the pricing strategies we adopt in phase 1 and phase 2 of our project. In the later development of our project, we will explore more algorithmic pricing approaches such as Automated Market Maker’s (AMMs), where the platform estimates how much the data purchaser is willing to pay for data of different qualities and determines the concrete data pricing model. #### Team Interest @@ -64,45 +66,50 @@ We will leverage the existing cryptographic library in the Polkadot ecosystem, s ##### Open API and SDK The ultimate goal of Ruby Protocol is to provide an essential open API and SDK from a high-level perspective with the above tools, fully powering the data monetization framework on Polkadot, including: -* A cryptographic library that implements the inner product functional encryption and quadratic polynomial functional encryption. A substrate module that integrates the verification logic of the associated zero-knowledge proof for the legitimacy of the encrypted functional key. -* The client can trigger the aforementioned cryptographic modules and the micropayment scheme and the necessary UI to enable the users to interact with all these algorithms. + +- A cryptographic library that implements the inner product functional encryption and quadratic polynomial functional encryption. A substrate module that integrates the verification logic of the associated zero-knowledge proof for the legitimacy of the encrypted functional key. +- The client can trigger the aforementioned cryptographic modules and the micropayment scheme and the necessary UI to enable the users to interact with all these algorithms. #### Ecosystem Fits -The existing internet economic model relies almost exclusively on the monetization of personal data. The recent scandals on the internet companies mishandling individual data such as Facebook’s Cambridge Analytica scandal have prompted many individuals to awaken to the fact that in the current internet economy they are the product and they need to regain control over their data. In fact, I would argue that the recently published privacy regulation such as GDPR or CCPA is the response to this urge. -Polkadot could act as an indispensable role to remove the middleman of the internet economy. A second-layer fine-grained personal data monetization framework based on Polkadot would potentially move Polkadot beyond a decentralized financial platform and enable Polkadot to play a central role in the next-generation data economy. It would also enable Polkadot to gain a moral high ground by freeing billions of web users from the control of monopoly middleman companies. +The existing internet economic model relies almost exclusively on the monetization of personal data. The recent scandals on the internet companies mishandling individual data such as Facebook’s Cambridge Analytica scandal have prompted many individuals to awaken to the fact that in the current internet economy they are the product and they need to regain control over their data. In fact, I would argue that the recently published privacy regulation such as GDPR or CCPA is the response to this urge. -The following is the reason why a cross-chain platform such as Polkadot is a perfect platform to implement a decentralized and transparent data monetization mechanism: -The monetary return of one single data monetization transaction tends to be small. The economic benefit to the data owner can only be noticeable when this type of micropayment happens frequently. However, the mental cost incurred by having to deal with frequent micropayment might render it undesirable. Substrate module as publicly verifiable, self-enforcing code could help amortize the mental cost. +Polkadot could act as an indispensable role to remove the middleman of the internet economy. A second-layer fine-grained personal data monetization framework based on Polkadot would potentially move Polkadot beyond a decentralized financial platform and enable Polkadot to play a central role in the next-generation data economy. It would also enable Polkadot to gain a moral high ground by freeing billions of web users from the control of monopoly middleman companies. -The substrate module will specify the types of computation the data purchaser is allowed to perform over the ciphertext. Since the same computation result could be of different values to different data purchasers, automatic payment based on substrate module could be used to enforce sophisticated pricing models to guarantee the maximum economic return for the data owner. +The following is the reason why a cross-chain platform such as Polkadot is a perfect platform to implement a decentralized and transparent data monetization mechanism: +The monetary return of one single data monetization transaction tends to be small. The economic benefit to the data owner can only be noticeable when this type of micropayment happens frequently. However, the mental cost incurred by having to deal with frequent micropayment might render it undesirable. Substrate module as publicly verifiable, self-enforcing code could help amortize the mental cost. -A publicly verifiable substrate module would not only help with the transparent enforcement of various privacy regulations such as General data protection regulation (GDPR) or California consumer privacy act (CCPA) but also ensure the fairness of data monetization transactions without the involvement of any middleman [TZLHJS17]. This is in stark contrast with the opaque business model of the existing internet economy where giant internet companies absorb all the economic benefits of personal data monetization. Our framework will let individuals regain control of their private data. +The substrate module will specify the types of computation the data purchaser is allowed to perform over the ciphertext. Since the same computation result could be of different values to different data purchasers, automatic payment based on substrate module could be used to enforce sophisticated pricing models to guarantee the maximum economic return for the data owner. + +A publicly verifiable substrate module would not only help with the transparent enforcement of various privacy regulations such as General data protection regulation (GDPR) or California consumer privacy act (CCPA) but also ensure the fairness of data monetization transactions without the involvement of any middleman [TZLHJS17]. This is in stark contrast with the opaque business model of the existing internet economy where giant internet companies absorb all the economic benefits of personal data monetization. Our framework will let individuals regain control of their private data. We all know the slogan “Data is the new oil”. According to alliedmarketresearch.com, the global data monetization market size was valued at $44869 in 2016, and is projected to reach at $370969 million by 2023, growing at a CAGR of 35.4% from 2017 to 2023. Even by capturing a small piece of this market, it would bring enormous economic benefits to the Polkadot ecosystem. -A second-layer fine-grained data monetization framework will also greatly expand the Polkadot community through attracting not only privacy-conscious users but also business partners hunger for high-quality data such as research institutes, hospitals, traditional financial institutes, etc. +A second-layer fine-grained data monetization framework will also greatly expand the Polkadot community through attracting not only privacy-conscious users but also business partners hunger for high-quality data such as research institutes, hospitals, traditional financial institutes, etc. There are three relevant projects: the first one is perhaps the Enigma project, a privacy protocol that enables the creation of decentralized applications that guarantee privacy. The protocol Enigma bases on is secure multi-party computation (MPC). The second one, Insights Network is a data exchange based on combining blockchain technology, substrate module, and MPC. It is based on the EOS blockchain and a custom MPC system. The third one, NuCypher is a cryptographic infrastructure for privacy-preserving applications. Its main technology is threshold proxy re-encryption and fully homomorphic encryption. None of these second-layer protocols are built for the Polkadot ecosystem. -There are several different ways of implementing an MPC protocol: threshold homomorphic encryption, garbled circuit, and secret sharing. The general idea of MPC is to outsource private data (either in the form of secret shares or homomorphic encryption) to a few separate computing parties so that they can perform confidential computation over the encrypted data. Directly applying MPC to fine-grained personal data monetization is problematic in the sense that once the data is outsourced, the data owner does not exert any control over what type of computation can be performed by the computing party. In other words, individual privacy is now at the mercy of these computing parties, which is against the human-centric ethos of fine-grained personal data monetization, where the access control policy should be defined by the data owner and enforced by the algorithm. On the other hand, functional encryption was specifically proposed and tailored for enforcing fine-grained access control over encrypted data. By allowing the data owner to define the access control policy, the owner has full control over what type of access the data purchaser can have over the encrypted personal data. The only decryption result the data purchaser will be able to retrieve is the predefined function evaluation. +There are several different ways of implementing an MPC protocol: threshold homomorphic encryption, garbled circuit, and secret sharing. The general idea of MPC is to outsource private data (either in the form of secret shares or homomorphic encryption) to a few separate computing parties so that they can perform confidential computation over the encrypted data. Directly applying MPC to fine-grained personal data monetization is problematic in the sense that once the data is outsourced, the data owner does not exert any control over what type of computation can be performed by the computing party. In other words, individual privacy is now at the mercy of these computing parties, which is against the human-centric ethos of fine-grained personal data monetization, where the access control policy should be defined by the data owner and enforced by the algorithm. On the other hand, functional encryption was specifically proposed and tailored for enforcing fine-grained access control over encrypted data. By allowing the data owner to define the access control policy, the owner has full control over what type of access the data purchaser can have over the encrypted personal data. The only decryption result the data purchaser will be able to retrieve is the predefined function evaluation. ## Team :busts_in_silhouette: + ### Team Members -* David Spade - Full-stack Software Engineer -* Kevin Hsu - Data Scientist -* Dylan Dewdney - Marketing Advisor -* Beni Issembert - Strategy Advisor +- David Spade - Full-stack Software Engineer +- Kevin Hsu - Data Scientist +- Dylan Dewdney - Marketing Advisor +- Beni Issembert - Strategy Advisor ### Team Website -* http://rubyprotocol.com/ +- ### Legal Structure -* Ruby Technology Ltd. is a company registered in the Cayman Islands. + +- Ruby Technology Ltd. is a company registered in the Cayman Islands. ### Team Experience + **David Spade** David Spade graduated from the University of Nottingham. He is a full-stack developer with 8 years of experience in software development. David also has deep knowledge in zero-knowledge algorithms and he is an expert in data science. @@ -116,44 +123,53 @@ Beni Issembert is a former Beam Privacy CMO, and currently works as Concordium C Dylan Dewdney is a longtime crypto enthusiast (2011). In 2017 he co-founded Harbour DAO, which became an open-standard set of tools for building governance structures and voting mechanisms on ERC-20. Later, as Chief Evangelist of Beam and Head of Growth for AdEx, he was a key part of their GTM and general growth strategies. Dylan is a respected peer among many different projects and areas of business.Dylan is also the project lead and CEO of DeData project Kylin Network. ### Team Code Repos -* https://github.com/Ruby-Protocol + +- ### Team Linkedin Profiles -* www.linkedin.com/in/dylan-dewdney -* www.linkedin.com/in/beniissembert -* www.linkedin.com/in/yingkaixu + +- www.linkedin.com/in/dylan-dewdney + +- www.linkedin.com/in/beniissembert +- www.linkedin.com/in/yingkaixu ## Development Roadmap :nut_and_bolt: + ### Overview -* **Total Estimated Duration:** 2 months -* **Full-time equivalent (FTE):** 3 FTE -* **Total Costs:** 30,000 DAI + +- **Total Estimated Duration:** 2 months + +- **Full-time equivalent (FTE):** 3 FTE +- **Total Costs:** 30,000 DAI #### Milestone 1 — Implement Cryptographic Modules -* **Estimated Duration:** 5 months -* **FTE:** 1 -* **Costs:** 10K DAI -The main deliverable of this milestone includes: -* A cryptographic library written in Rust that implements the inner product functional encryption and quadratic polynomial functional encryption. +- **Estimated Duration:** 5 months + +- **FTE:** 1 +- **Costs:** 10K DAI + +The main deliverable of this milestone includes: + +- A cryptographic library written in Rust that implements the inner product functional encryption and quadratic polynomial functional encryption. -* A substrate pallet that integrates the verification logic of the associated zero-knowledge proof for the legitimacy of the encrypted functional key. +- A substrate pallet that integrates the verification logic of the associated zero-knowledge proof for the legitimacy of the encrypted functional key. | **Number** | **Deliverable** | **Specification** | | ---------- | ------------------------------------- | ------------------------------------------------------------ | | 0a. | License | Apache License 2.0 | | 0b. | Documentation | We will provide both inline documentation of the code and a basic tutorial that explains how a user can (for example) spin up one of our Substrate nodes. Once the node is up, it will be possible to send test transactions that will show how the new functionality works. | -| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | -| 0d. | Article/Tutorial | We will publish a medium article that explains the functionality of the proposed cryptographic library and substrate pallet delivered in this milestone. +| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0d. | Article/Tutorial | We will publish a medium article that explains the functionality of the proposed cryptographic library and substrate pallet delivered in this milestone. | 1. | Cryptographic modules | We will implement the cryptographic modules including inner product functional encryption and quadratic polynomial functional encryption [MSHBM2019] and the associated zero-knowledge proof [ZeroPool]. The cryptographic modules will be written in Rust and modified from the [rust version](https://github.com/dev0x1/functional-encryption-schemes) of [CiFEr library](https://github.com/fentec-project/CiFEr). We will build privacy-preserving classification and neural networks based on these modules. We will also implement a substrate pallet that integrates the verification logic of the associated zero-knowledge proof for the legitimacy of the encrypted functional key. | | 2. | Benchmark | Perform unit tests on the individual algorithms to ensure their safety. Benchmark on the gas cost and throughput of the proposed module. | | 3. | Docker | We will provide a dockerfile to demonstrate the usage of our modules. | #### Milestone 2 —— Client Implementation and Integration -* **Estimated Duration:** 1 month -* **FTE:** 2 -* **Costs:** 20K DAI +- **Estimated Duration:** 1 month +- **FTE:** 2 +- **Costs:** 20K DAI The main deliverable of the milestone is the client that can trigger the aforementioned cryptographic modules and the micropayment scheme and the necessary UI to enable the users to interact with all these algorithms. @@ -161,17 +177,19 @@ The main deliverable of the milestone is the client that can trigger the aforeme | ---------- | ------------------------------------- | ------------------------------------------------------------ | | 0a. | License | Apache License 2.0 | | 0b. | Documentation | We will provide both inline documentation of the code and a basic tutorial that explains how a user can (for example) spin up one of our Substrate nodes. Once the node is up, it will be possible to send test transactions that will show how the new functionality works. | -| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | | 0d. | Article/Tutorial | We will publish a medium article that explains the functionality of the proposed client and UI delivered in this milestone. | 1. | Client modules | We will implement the client to support the key distribution and decryption of the functional encryption scheme [MSHBM2019]. The client will also generate the transaction that can trigger the aforementioned cryptographic modules and the micropayment scheme [MDJM2019], such as the encrypted functional key and zero-knowledge proof. We will provide a basic UI to take inputs from the users for all these algorithms and receive the outputs. More specifically, the UI will enable the data owner to input the raw data to generate the signed ciphertext and upload it to the cloud server. The UI will also allow the data purchaser to retrieve the functional key from the key authority and the ciphertext from the cloud and then perform the decryption. The UI will also register a qualified data source and allow a data owner to join the data monetization program when he/she meets the data source and the data owners to request a signature from a registered source, which will then be verified on-chain. Finally, it will also allow these entities to interact with the substrate module with the inputs and outputs defined in our architecture. | | 2. | Benchmark | Perform unit tests on the individual algorithms to ensure their safety. Benchmark on the latency and usability of the proposed client functionalities. | | 3. | Docker | We will provide a dockerfile to demonstrate the usage of our modules. | ### Community Engagement -* **Bounty Program for General Community:** We will reward users who contribute positively to community building and content creation through an Ambassador Program. The community management team will be available 24/7 to answer questions. -* **Incentive Program for Data Monetization:** After the main functions are completed, we will provide incentives for users to monetize their data on our platform. This is an encouragement for users to provide the data and purchase the data. -* **Parachain Loan Offering Campaign:** We may hold a Parachain Loan Offering and reward users for helping our auction with Ruby Protocol tokens. -* **Affiliated Program of Cryptographic Infrastructure:** It is proven effective for user growth and can be integrated into Ruby’s cryptographic infrastructure. + +- **Bounty Program for General Community:** We will reward users who contribute positively to community building and content creation through an Ambassador Program. The community management team will be available 24/7 to answer questions. + +- **Incentive Program for Data Monetization:** After the main functions are completed, we will provide incentives for users to monetize their data on our platform. This is an encouragement for users to provide the data and purchase the data. +- **Parachain Loan Offering Campaign:** We may hold a Parachain Loan Offering and reward users for helping our auction with Ruby Protocol tokens. +- **Affiliated Program of Cryptographic Infrastructure:** It is proven effective for user growth and can be integrated into Ruby’s cryptographic infrastructure. ## Future Plans @@ -184,6 +202,7 @@ In phase 2, our goal is to deliver the micropayment scheme and enable the users Finally, our goal is to provide an essential open API and SDK from a high-level perspective with the above tools, fully powering the data monetization framework on Polkadot. ## Additional Information :heavy_plus_sign: + ### Reference [GPSW06] Goyal, V., Pandey, O., Sahai, A., & Waters, B. (2006, October). Attribute-based encryption for fine-grained access control of encrypted data. In Proceedings of the 13th ACM conference on Computer and communications security (pp. 89-98). @@ -196,11 +215,11 @@ Finally, our goal is to provide an essential open API and SDK from a high-level [B2017] Bourse, F. (2017). Functional encryption for inner-product evaluations (Doctoral dissertation). -[B2018] Vitalik Buterin, -https://ethresear.ch/t/on-chain-scaling-to-potentially-500-tx-sec-through-mass-tx-validation/3477, +[B2018] Vitalik Buterin, +, 2018. -[BCTV2013] Eli Ben-Sasson, Alessandro Chiesa, Eran Tromer, and Madars Virza. Succinct non-interactive zero knowledge for a von Neumann architecture. In Proceedings of the 23rd USENIX Security Symposium, Security '14. Available at http://eprint.iacr.org/2013/879. +[BCTV2013] Eli Ben-Sasson, Alessandro Chiesa, Eran Tromer, and Madars Virza. Succinct non-interactive zero knowledge for a von Neumann architecture. In Proceedings of the 23rd USENIX Security Symposium, Security '14. Available at . [BMEB2016] Bataineh, A. S., Mizouni, R., El Barachi, M., & Bentahar, J. (2016, June). Monetizing Personal Data: A Two-Sided Market Approach. In ANT/SEIT (pp. 472-479). @@ -222,12 +241,4 @@ https://ethresear.ch/t/on-chain-scaling-to-potentially-500-tx-sec-through-mass-t [SC2017] Agrawal, Shashank, and Melissa Chase. "Simplifying design and analysis of complex predicate encryption schemes." Annual International Conference on the Theory and Applications of Cryptographic Techniques. Springer, Cham, 2017. [SGP2018] Sans, E.D., Gay, R., Pointcheval, D.: Reading in the dark: Classifying encrypted digits with functional encryption. IACR Cryptology ePrint Archive 2018, 206, (2018). -[TZLHJS2017] Florian Tramer, Fan Zhang, Huang Lin, Jean-Pierre Hubaux, Ari Juels, and Elaine Shi. ”Sealed-glass proofs: Using transparent enclaves to prove and sell knowledge.” In Security and Privacy (EuroS&P), 2017 IEEE European Symposium on, pp. 19-34. IEEE, 2017. - - - - - - - - +[TZLHJS2017] Florian Tramer, Fan Zhang, Huang Lin, Jean-Pierre Hubaux, Ari Juels, and Elaine Shi. ”Sealed-glass proofs: Using transparent enclaves to prove and sell knowledge.” In Security and Privacy (EuroS&P), 2017 IEEE European Symposium on, pp. 19-34. IEEE, 2017. diff --git a/applications/SEOR-code-less-smart-contract-platform.md b/applications/SEOR-code-less-smart-contract-platform.md index 7cfd500a4be..e84939c6b39 100644 --- a/applications/SEOR-code-less-smart-contract-platform.md +++ b/applications/SEOR-code-less-smart-contract-platform.md @@ -1,6 +1,5 @@ -# Open Grant Proposal +# SEOR code-less smart contract platform -* **Project Name:** SEOR code-less smart contract platform * **Team Name:** SEOR * **Payment Address:** 0x573e932F79a8846a058032454Ee7Fd7C6df7Dc41 * **Status:** [Terminated](https://github.com/w3f/Grants-Program/pull/205#issuecomment-1168462194) diff --git a/applications/SaaS3.md b/applications/SaaS3.md index ee0de6ff0e1..4451de0e826 100644 --- a/applications/SaaS3.md +++ b/applications/SaaS3.md @@ -1,38 +1,38 @@ -# W3F Grant Proposal +# SaaS3 > This document will be part of the terms and conditions of your agreement and therefore needs to contain all the required information about the project. Don't remove any of the mandatory parts presented in bold letters or as headlines! Lines starting with a `>` (such as this one) can be removed. -- **Project Name:** SaaS3 -- **Team Name:** SaaS3 Lab +- **Team Name:** SaaS3 Lab - **Payment Address(USDT):** 0x8341e551B0AE5E5905C20A112b123b5F797612f3 - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 ## Project Overview :page_facing_up: ### Overview -#### Dilemma of web3 Ecosystem - With functionalities yet to become full-fledged, Web3.0 applications need a rethink of development stacks. -For instance, most of the web2 projects and dependencies are based on Java, C++, PHP, etc., while web3 requires another totally different technical stacks such as Solidity, Motoku, or Substrate on EVM / WASM which hinders web2 developers to build web3 applications. -![image](https://user-images.githubusercontent.com/95557343/157393726-c22c47d2-a4d0-4335-b890-29d6fad4417c.png) +#### Dilemma of web3 Ecosystem - With functionalities yet to become full-fledged, Web3.0 applications need a rethink of development stacks + +For instance, most of the web2 projects and dependencies are based on Java, C++, PHP, etc., while web3 requires another totally different technical stacks such as Solidity, Motoku, or Substrate on EVM / WASM which hinders web2 developers to build web3 applications. +![image](https://user-images.githubusercontent.com/95557343/157393726-c22c47d2-a4d0-4335-b890-29d6fad4417c.png) -SaaS3 project aims to deliver a fully decentralized software as a service (SaaS) network with highly scalable, crypto token incentivized and results in a solution that can serve as the application interface (API) layer for web3. -SaaS3 is devoted to transforming traditional web2 API to web3 dAPI by decentralized docker runtime (dRuntime). -Particularly, regardless of development stack differences, Linux-based Web2 APIs can be deployed on our platform for providing web3 services by decentralized APIs (dAPI). -Essentially, SaaS3 is an off-chain scaling technique of layer-2 which utilizes cheap off-chain docker computation to replace high-priced on-chain WASM / EVM runtime, while still remaining computation decentralization by delegated proof of stake (DPoS) consensus and on-chain zero knowledge proof. -Therefore, such layer-2 off-chain scaling is not only for computation price but technical development stacks compatible. +SaaS3 project aims to deliver a fully decentralized software as a service (SaaS) network with highly scalable, crypto token incentivized and results in a solution that can serve as the application interface (API) layer for web3. +SaaS3 is devoted to transforming traditional web2 API to web3 dAPI by decentralized docker runtime (dRuntime). +Particularly, regardless of development stack differences, Linux-based Web2 APIs can be deployed on our platform for providing web3 services by decentralized APIs (dAPI). +Essentially, SaaS3 is an off-chain scaling technique of layer-2 which utilizes cheap off-chain docker computation to replace high-priced on-chain WASM / EVM runtime, while still remaining computation decentralization by delegated proof of stake (DPoS) consensus and on-chain zero knowledge proof. +Therefore, such layer-2 off-chain scaling is not only for computation price but technical development stacks compatible. The SaaS3 project aims to decentralize computational providers and mint income-NFT to earn profits. The API creators could earn an income fee by holding those iNFT or selling them on NFT marketplace. -As a result, the SaaS3 project will bridge web2 APIs to web3 dAPIs to flourish web3 ecosystem and achieve creator economy in a decentralized and trust-minimized way. -This grant will allow us to develop several pallets to implement a parachain with substrate on Polkadot / Kusama. +As a result, the SaaS3 project will bridge web2 APIs to web3 dAPIs to flourish web3 ecosystem and achieve creator economy in a decentralized and trust-minimized way. +This grant will allow us to develop several pallets to implement a parachain with substrate on Polkadot / Kusama. SaaS3 as a part of Polkadot / Kusama / web 3 Ecosystem and has the following properties: - - Bridge - Monetize abundant web2 projects as decentralized web3 services in a very short time with extremely cheap cost. - - No Middleman - Cheap fee for dAPI users or Dapp developers compare with centralized SaaS products. - - Security - Improve the security for a system by PoS consensus and zero knowledge proof for miner network. Web3 dAPI are backed by token stakers (DPoS) with a reward and punishment mechanism. - - Reliability - Strengthen robustness for dAPI by computation decentralization and dRuntime redundancy of miners. - - Green - Save energy and reduce the cost by making use of spare computation resources for API computation. +- Bridge - Monetize abundant web2 projects as decentralized web3 services in a very short time with extremely cheap cost. +- No Middleman - Cheap fee for dAPI users or Dapp developers compare with centralized SaaS products. +- Security - Improve the security for a system by PoS consensus and zero knowledge proof for miner network. Web3 dAPI are backed by token stakers (DPoS) with a reward and punishment mechanism. +- Reliability - Strengthen robustness for dAPI by computation decentralization and dRuntime redundancy of miners. +- Green - Save energy and reduce the cost by making use of spare computation resources for API computation. ### Protocol Details @@ -40,28 +40,27 @@ SaaS3 as a part of Polkadot / Kusama / web 3 Ecosystem and has the following pro ![image](https://user-images.githubusercontent.com/95557343/159788632-250f04b6-b2b9-42c5-9927-6e4487aea8ef.png) - Decentralized docker runtime (dRuntime) is built on miner network which aims to execute dAPIs. Those dAPIs is created by API creators as a result of development labor. Computational node targets to setup the dRuntime, or better known as the 'miner', namely the party that performs the computational tasks. They are hereafter referred to as 'nodes' or 'miners'. The Dapp developer is the dAPI user, who sends requests and pays to access the dAPI. Their actions are detailed below. - - To access a web3 dAPI, users pay $SA3 tokens to nodes as the Gas fee and to software creators as the royalty fee. +- To access a web3 dAPI, users pay $SA3 tokens to nodes as the Gas fee and to software creators as the royalty fee. - - The node(s) are rewarded to execute dAPIs with dRuntime on their equipments. Importantly, each miner can run multiple dAPIs with dRuntime cache (dCache) to maximize the throughput. +- The node(s) are rewarded to execute dAPIs with dRuntime on their equipments. Importantly, each miner can run multiple dAPIs with dRuntime cache (dCache) to maximize the throughput. - - The Creator receives the royalty fee as the reward for their commitment to the docker development; they are the author of Web2 API codes. +- The Creator receives the royalty fee as the reward for their commitment to the docker development; they are the author of Web2 API codes. ![image](https://user-images.githubusercontent.com/95557343/159788719-f6fb785d-65ce-4f7c-a3cb-5b0226708895.png) +##### Security & Off-chain Miner Consensus -##### Security & Off-chain Miner Consensus - -- Miner security - To qualify, a miner or node is required to stake a particular amount of tokens as collateral (POS). Each request for API will trigger an on-chain zero-knowledge proof check (zkc), which determines whether the node is rewarded or punished. +- Miner security - To qualify, a miner or node is required to stake a particular amount of tokens as collateral (POS). Each request for API will trigger an on-chain zero-knowledge proof check (zkc), which determines whether the node is rewarded or punished. - API security - Similar to API3 insurance, API security is achieved via Delegation Proof of Staking (DPoS). Particularly, the API creator is required to stake an amount of tokens at the time of submitting the dAPI deployment. The amount is set at a default value in their first submission and is adjusted in proportion to the service income. Besides, the token holders are able to stake on the dAPIs as a collateral and share profits with API creator. The mechanism is established following the same vein of the concepts in Polkadot / Kusama, including staking, nomination, and validation. - -The process described above establishes a de facto safeguard mechanism, sheltering dAPI users from potential malfunctions of the computational node or the API service, and when available providing remedies in compensation. + +The process described above establishes a de facto safeguard mechanism, sheltering dAPI users from potential malfunctions of the computational node or the API service, and when available providing remedies in compensation. ##### Collateral and Sue Claims -In the case of a malfunction, the user detects the misperformance and assesses the damages and losses, and is able to lodge a sue claim published on the Court DAO. In supplement, the staked tokens or collaterals are 'locked' for a period, a mechanism to discourage stakers from 'front-running claims', i.e. withdrawing the staked token as soon as a miner or service malfunctions to evade claims. On the other hand, the litigant is required to stake funds to be able to make a claim, which elevates the cost of abuse. The Court DAO deliberates on the sue claim and decides whether a remedy should be made to the victimized dAPI user. Once a claim is passed in Court DAO, the amount of tokens as has been claimed will be transferred to the litigant in compensation. + +In the case of a malfunction, the user detects the misperformance and assesses the damages and losses, and is able to lodge a sue claim published on the Court DAO. In supplement, the staked tokens or collaterals are 'locked' for a period, a mechanism to discourage stakers from 'front-running claims', i.e. withdrawing the staked token as soon as a miner or service malfunctions to evade claims. On the other hand, the litigant is required to stake funds to be able to make a claim, which elevates the cost of abuse. The Court DAO deliberates on the sue claim and decides whether a remedy should be made to the victimized dAPI user. Once a claim is passed in Court DAO, the amount of tokens as has been claimed will be transferred to the litigant in compensation. The same mechanism also applies to the punishment meted out for the node(s) that malfunctioned with on-chain zkc. Such a reward-and-punishment mechanism encourages nodes to act in good faith and better service quality. Hence, a much lower risk of potential cyber threats such as the Sybil attack. @@ -87,108 +86,104 @@ The same mechanism also applies to the punishment meted out for the node(s) that 1. **Location Proof of Stake (LPoS) with zkc for Miners** Regarding the miner network, we deploy on-chain zero knowledge check (zkc) and adopt a location-based optimization for PoS consensus, thus improving the network throughput for off-chain dRuntime execution. Specifically, when a dAPI user sends a request, a list of miner candidates will be generated, consisting of 10 nodes in the closest locations, (e.g., determined by network latency) which are determined by network latency. Meanwhile, since all nodes are required to have staked a amount of tokens, nodes are ranked in a list of, for example, 100 according to the staked amount. 3 miners has to be among the leading token stake and the ten nearest to qualify for executing the request and receiving the rewards, while the on-chain zero-knowledge check (zkc) is carried out. Admittedly, the network may to some degree hurt tolerable security. Nevertheless, the dAPI user will be able to access not just at low net-latency but also backed by the PoS consensus with zkc (for more about zkc, please refer to 7 or 9). It should also be noted that node congestion is mitigated en passant. - + 2. **dRuntime** -dRuntime refers to a decentralized docker runtime which execute dAPIs in a network of distributed computing resources. It is essentially an off-chain technique to scaling up computation for on-chain runtime, such as WASM or EVM in Polkadot or Ethereum networks. +dRuntime refers to a decentralized docker runtime which execute dAPIs in a network of distributed computing resources. It is essentially an off-chain technique to scaling up computation for on-chain runtime, such as WASM or EVM in Polkadot or Ethereum networks. 3. **dCache** dRuntime cache is a 3-level caching mechanism to guarantee high performance and large throughput for dRuntime. - + 4. **SaaSDAO** SaaSDAO refers to the decentralized autonomous organization charged with governance duties. - + -5. **iNFT** +5. **iNFT** iNFT refers to a tradable income NFT that is minted when an API creator submits a docker image to create a dAPI. iNFT allows the API creator to earn royalty fee. 6. **Miner Network** The miner network is implemented by pallet-miner and consists of all the providers of computational capabilities. The network offer decentralized APIs which undertakes to execute containers to reply DeResponse for user's DeRequest. All docker images can be deployed on each miner. Thus, other nodes are called in replacement should any node break down. The 'redundancy' of computing nodes, which is at the miner-level, helps the SaaS3 maintain its decentralization features and remain robust. -7. **On-chain 3-person zero knowledge proof check (3-zkc) and rewards** +7. **On-chain 3-person zero knowledge proof check (3-zkc) and rewards** Each dAPI call will be executed by 3 miners. Therefore, the hash values generated following the three responses will be compared against each other for agreement. The 3-zkc is performed enabled by a callable, on-chain pallet-function. There are multiple scenarios, as follows. - The three hash values are in agreement. No one will being slashed. - Only two values are in agreement, the check still gains approval. Another miner is found inconsistent and will be slashed on its token stake. - There is no agreement among the three nodes. In this case, the API call returns failure. The gas fee is nonetheless consumed and has no refunds. No party will face slash or claim reward, as neither miner malfunctions nor dAPI bugs can be found attributable. However, the failure-logs are recorded on on-chain storage. The user could raise an issue to the creator to push for a new docker, or lodge a sue claim on Court DAO as a query for potential compensation from miners / creators. For more details, please refer to 9. 3-zkcg. 8. **Court DAO** -At Court DAO, the dAPI user can pay a fee for sue claims and, subject to the court's ruling, may claim compensation from miners / creators on SaaS3 DAO on grounds of any dAPI failure. To supplement the on-chain failure logs, the user is required to provide the details regarding the failure case, such as the input data and the version of the failed API (docker image version). The Jury consists of top 101 largest staked API creators who are open source developers and active on DAO events. Members of the Jury can download the same version docker image and retest the failure case to investigate the failure cause. The on-chain failure log is available for jury members. +At Court DAO, the dAPI user can pay a fee for sue claims and, subject to the court's ruling, may claim compensation from miners / creators on SaaS3 DAO on grounds of any dAPI failure. To supplement the on-chain failure logs, the user is required to provide the details regarding the failure case, such as the input data and the version of the failed API (docker image version). The Jury consists of top 101 largest staked API creators who are open source developers and active on DAO events. Members of the Jury can download the same version docker image and retest the failure case to investigate the failure cause. The on-chain failure log is available for jury members. Jury will have the following options given the on-chain log records and local test results. - Reject - The user's sue claim is rejected, with no compensation, and the sue fee will not be refunded. Such a ruling may be on the grounds such as forged evidence and unreasonable amount of claims. Terms and conditions and regulations of SaaSDAO apply. - Approve - - Miner malfunction: + - Miner malfunction: - Which miners should be slashed. (This is multiple choices refer to on-chain log): - Miner1, Miner2, or Miner3 - Slash the dAPI in terms of drawbacks or bugs. - 9. **3-zkc and gas calculation algorithm (3-zkcg)** -We will provide a protocol / software which is similar with [AWS Lambda API Pricing](https://aws.amazon.com/lambda/pricing/) for miner, but replace dollar unit with gas. In SaaS3, miners should monitor each container's resource usage by our software to calculate gas usage i.e., `gas_used` for once dAPI call. `rewards=gas_used*gas_price` gas_used is defined by following process with 3-zkc. Here, we illustrate the algorithm to show the procedure, a user request with `gas_limit` is sent to three miners `m1,m2,m3` at time `t=0` with user-set maximum timeout `Tmax`, there will be following scenarios: - - If after timeout `Tmax`, no response is received, go to the failure state. - - Else, got `m1` response `r1` with reported gas `g1` at time `t1`, reset timeout `Tmax=max(2*t1, Tmax)`. - - If after timeout `Tmax`, go to failure state. - - Else, got `m2` response `r2` with reported gas `g2` at time `t2`, zkc will be conducted to confirm whether `r1=r2` - - `r1=r2` return `r1` to user and distribute `rewards=min(g1,g2) * gas_price` to `m1` with `(1-g1/(g1+g2)) * rewards` and to `m2` with `(1-g2/(g1+g2))*rewards` which means the lower `gas report`, the more rewards. - - `r1!=r2` reset timeout `Tmax=max(2*t2, Tmax)` - - If after timeout `Tmax`, go to failure state. - - Else, got `m3` response `r3` with reported gas `g3` at time `t3`, zkc will be conducted to confirm whether `r3=r1` or `r3=r2` - - If `r1!=r2!=r3`, go to failure state. - - Else, two conditions - - `r3=r1`, return `r1` to user and distribute `rewards=min(g1, g3) * gas_price` to `m1` with `(1-g1/(g1+g3)) * rewards` and to `m3` with `(1-g3/(g1+g3))*rewards`. `m2` will be slashed. - - `r3=r2`, return `r2` to user and distribute `rewards=min(g2, g3) * gas_price` to `m2` with `(1-g2/(g2+g3)) * rewards` and to `m3` with `(1-g3/(g2+g3))*rewards`. `m1` will be slashed. - - Failure state: reply user `error: dAPI fail` and charge gas fee as `gas_mean * gas_price`, where `gas_mean` is the average gas for that dAPI in the history. Neither three miners will be slashed, since in such case, it hard to determine whether the dAPI has bugs. The user could raise an issue/sue to Creator/CourtDAO to acquire compensation based on above on-chain records. If the miners notice some weird slashes with on-chain evidence, miners could raise sue to CourtDAO with their proof (e.g., give an IPFS docker image path which is the same version as creator submitted) to acquire claims and slash dAPI with acceptance from Court DAO. - -a0e9fb71f04ea16161f09ca17048e72 +We will provide a protocol / software which is similar with [AWS Lambda API Pricing](https://aws.amazon.com/lambda/pricing/) for miner, but replace dollar unit with gas. In SaaS3, miners should monitor each container's resource usage by our software to calculate gas usage i.e., `gas_used` for once dAPI call. `rewards=gas_used*gas_price` gas_used is defined by following process with 3-zkc. Here, we illustrate the algorithm to show the procedure, a user request with `gas_limit` is sent to three miners `m1,m2,m3` at time `t=0` with user-set maximum timeout `Tmax`, there will be following scenarios: +- If after timeout `Tmax`, no response is received, go to the failure state. +- Else, got `m1` response `r1` with reported gas `g1` at time `t1`, reset timeout `Tmax=max(2*t1, Tmax)`. + - If after timeout `Tmax`, go to failure state. + - Else, got `m2` response `r2` with reported gas `g2` at time `t2`, zkc will be conducted to confirm whether `r1=r2` + - `r1=r2` return `r1` to user and distribute `rewards=min(g1,g2) * gas_price` to `m1` with `(1-g1/(g1+g2)) * rewards` and to `m2` with `(1-g2/(g1+g2))*rewards` which means the lower `gas report`, the more rewards. + - `r1!=r2` reset timeout `Tmax=max(2*t2, Tmax)` + - If after timeout `Tmax`, go to failure state. + - Else, got `m3` response `r3` with reported gas `g3` at time `t3`, zkc will be conducted to confirm whether `r3=r1` or `r3=r2` + - If `r1!=r2!=r3`, go to failure state. + - Else, two conditions + - `r3=r1`, return `r1` to user and distribute `rewards=min(g1, g3) * gas_price` to `m1` with `(1-g1/(g1+g3)) * rewards` and to `m3` with `(1-g3/(g1+g3))*rewards`. `m2` will be slashed. + - `r3=r2`, return `r2` to user and distribute `rewards=min(g2, g3) * gas_price` to `m2` with `(1-g2/(g2+g3)) * rewards` and to `m3` with `(1-g3/(g2+g3))*rewards`. `m1` will be slashed. +- Failure state: reply user `error: dAPI fail` and charge gas fee as `gas_mean * gas_price`, where `gas_mean` is the average gas for that dAPI in the history. Neither three miners will be slashed, since in such case, it hard to determine whether the dAPI has bugs. The user could raise an issue/sue to Creator/CourtDAO to acquire compensation based on above on-chain records. If the miners notice some weird slashes with on-chain evidence, miners could raise sue to CourtDAO with their proof (e.g., give an IPFS docker image path which is the same version as creator submitted) to acquire claims and slash dAPI with acceptance from Court DAO. +a0e9fb71f04ea16161f09ca17048e72 ### Game theory Proof for 3-zkc algorithm with Nash Equilibrium Convergence ### Both Miner1,Miner2, and Miner3 will choose loyalty. - - - + ### Technical Implementation Diagram -We will implement 5 pallets: `pallet-entity`, `pallet-dAPI`, `pallet-DAO`, `pallet-miner`, and `pallet-stake` where `pallet-dAPI` is the core component of the project. -![image](https://user-images.githubusercontent.com/95557343/159320880-a6fc9d62-5cc2-457e-9797-11db72edf352.png) +We will implement 5 pallets: `pallet-entity`, `pallet-dAPI`, `pallet-DAO`, `pallet-miner`, and `pallet-stake` where `pallet-dAPI` is the core component of the project. +![image](https://user-images.githubusercontent.com/95557343/159320880-a6fc9d62-5cc2-457e-9797-11db72edf352.png) ### Ecosystem Fit - Although web2 applications are highly dependent on centralized libraries and technical stack, they have a potential case of monetization if migrated to web3 as decentralized web3 dAPI through SaaS3 protocol. - SaaS3 cloud could be a competitive alternative to centralized SaaS / API providers such as [Salesforce](https://appexchange.salesforce.com), [Microsoft Azure](https://docs.microsoft.com/en-us/rest/api/azureml/) and [Google AI](https://cloud.google.com/products/ai). - SaaS3 brings millions of dAPI/Dapp users, providers of computing resources and users into a harmony and an organic ecosystem, with lowered costs and reliable services. SaaS3 aims to become the world's largest decentralized API platform based on Polkadot / Kusama to provide high-quality dAPIs / Dapps at extremely affordable prices. -- SaaS holds potential for interaction with other parachains of Polkadot / Kusama. SaaS3's dAPIs can also be utilized as computation services for other parachain's specific usage such as AI-related recognition or game-AI algorithms. +- SaaS holds potential for interaction with other parachains of Polkadot / Kusama. SaaS3's dAPIs can also be utilized as computation services for other parachain's specific usage such as AI-related recognition or game-AI algorithms. Similar Projects: -- **Livepeer** https://livepeer.org/ It provides a video encoding service instead of general web3 SaaS. -- **API3** https://api3.org/ Its dAPI as decentralized oracle to provide off-chain data streaming for smart contracts instead of computation tasks to offer a SaaS in web3. - +- **Livepeer** It provides a video encoding service instead of general web3 SaaS. +- **API3** Its dAPI as decentralized oracle to provide off-chain data streaming for smart contracts instead of computation tasks to offer a SaaS in web3. SaaS market in Dapp, web3.0, and Metaverse: -- **Software Services** For example, the softwares on [Salesforce](https://appexchange.salesforce.com), Office365, Grammarly. -- **AI Services** Speech2Text, Voice2Text, Image Recognition, UGC-NFT Recognition, Marketing Analysis, Algorithm Recommendation, Bot-AI, Game-AI, Reinforcement Learning, and Behavior Analysis. +- **Software Services** For example, the softwares on [Salesforce](https://appexchange.salesforce.com), Office365, Grammarly. +- **AI Services** Speech2Text, Voice2Text, Image Recognition, UGC-NFT Recognition, Marketing Analysis, Algorithm Recommendation, Bot-AI, Game-AI, Reinforcement Learning, and Behavior Analysis. ### Designs / Mock-ups + ![6742e6c196c0ec2354f3e65474c0dd7](https://user-images.githubusercontent.com/95557343/155807321-3d96b3a6-f6c1-4b64-9411-3d75bd7eceb5.png) ![a07096c685597b9faaa8de4bce9956c](https://user-images.githubusercontent.com/95557343/155807345-fd92a0aa-1d5f-44ea-a57a-4f1ec8a4f70c.png) - ## Team :busts_in_silhouette: ### Team members + The core team members are top Ph.Ds in computer science who are technical and experienced. -- **Steven** is a Ph.D. in artificial intelligence and vice president of SaaS3 to build dRuntime on p2p network and financing-related works. Currently, he is an AI researcher and blockchain developer. He has written computer programs since he was 14 and got many hackathon awards in the past. +- **Steven** is a Ph.D. in artificial intelligence and vice president of SaaS3 to build dRuntime on p2p network and financing-related works. Currently, he is an AI researcher and blockchain developer. He has written computer programs since he was 14 and got many hackathon awards in the past. - **Rocky** is the CTO of SaaS3 undertakes SaaS3 protocol design. Currently, he is the presidential postdoctoral fellow in NTU and chief scientist in Singapore Smart City Project. Previously, he was an AI researcher at UCB. Besides, he is also a visiting lecture professor of NTU, NUS. He is also the winner of over 10 hackathons. @@ -199,13 +194,11 @@ The core team members are top Ph.Ds in computer science who are technical and ex - **Laekshan** was a software engineer in a world-leading company. He is also an expert in IoT development. He has mined bitcoin since 2015. Therefore, he has a lot of experience in crypto mining and market analysis. - - ### Contact - **Contact Name:** Rocky Yang - **Contact Email:** contact@saas3.io -- **website:** https://www.saas3.io +- **website:** ### Legal Structure @@ -214,27 +207,27 @@ development. He has mined bitcoin since 2015. Therefore, he has a lot of experie ### Team Code Repos -- https://github.com/SaaS3DAO/ -- https://github.com/SaaS3DAO/DeAIMainNet -- https://github.com/SaaS3DAO/non-api-nft -- https://github.com/SaaS3DAO/substrate-node-template -- https://github.com/SaaS3DAO/substrate +- +- +- +- +- GitHub accounts of all team members. -- https://github.com/isrugeek -- https://github.com/Marsrocky -- https://github.com/qinwang-ai -- https://github.com/ChinW -- https://github.com/Deslate -- https://github.com/kkazuha -- https://github.com/hugoycj +- +- +- +- +- +- +- ### Team LinkedIn Profiles (if available) -- https://www.linkedin.cn/injobs/in/israel-goytom-66713011b -- https://www.linkedin.cn/injobs/in/jianfei-yang-55560386/ -- https://www.linkedin.com/in/steven-wong-3b015079/ +- +- +- ## Development Roadmap :nut_and_bolt: @@ -244,14 +237,12 @@ GitHub accounts of all team members. - **Full-Time Equivalent (FTE):** 5 - **Total Costs:** 45500 USDT -### Milestone 1 — SaaS3 Documentation, pallet-entity, pallet-service, pallet-stake, +### Milestone 1 — SaaS3 Documentation, pallet-entity, pallet-service, pallet-stake - **Estimated duration:** 2.5 month - **FTE:** 4 - **Costs:** 24000 USD - - | Number | Deliverable | Specification | | -----: | ----------- | ------------- | | 0a. | License | Apache 2.0| @@ -259,15 +250,15 @@ GitHub accounts of all team members. | 0c. | Testing Guide | We will provide a full test suite and guide for dAPIs usage for `pallet-dAPI`, token stake for `pallet-stake`. `pallet-entity` will be tested for dAPI usage and payment.| | 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | | 0e. | Article | We will publish an **article**/workshop that explains (what was done/achieved as part of the grant). (Content, language and medium should reflect our target audience described above.) -| 1. | pallet-entity| [pallet_assets](https://crates.io/crates/pallet-assets) is utilized for implementation with a minor change to fit SaaS3 project. An user and creator both can be implemented as entity. They are same in implementation perspective. | -| | Functions | No public function | -| 2. | pallet-dAPI| `pallet-dAPI` is core implementation of SaaS3 project which is a key middle ware and interacted a lot with other pallets' functions. A dAPI is also a iNFT to indicate the beneficial right for API creator. iNFT related part is implemented based on pallet-uniques. | -| | Functions| 1). `pub fn subscribe_dAPI(eid:u32, iNFT_id:u64, timespan:u256, count:u256) ` dAPI user call this function to pay token to subscribe dAPI.
          2). `pub fn create_dAPI(eid:u32, pid:u32)` Creator's docker image will be deployed as a dAPI.
          3). `pub fn use_dAPI(eid:u32, ip_address:Vec, iNFT_id:u64)` dAPI user call this function to allocate reliable miners to run dAPI.
          4). `fn check_dAPI(eid:u32, iNFT_id:u64)` The function can automatically check whether the dAPI is available for usage.| -| | Storage| `ServiceList get(fn iNFT_list): map hasher(blake2_128_concat) u32 => Vec;`
          `SubscriptionList get(fn subscription_list): map hasher(blake2_128_concat) u32 => Vec;`
          `Usages get(fn get_usages): map hasher(blake2_128_concat) u32 => Vec; `| -| | Struct| `pub struct iNFT`
          `pub struct Subscription`
          `pub struct Usage`| +| 1. | pallet-entity| [pallet_assets](https://crates.io/crates/pallet-assets) is utilized for implementation with a minor change to fit SaaS3 project. An user and creator both can be implemented as entity. They are same in implementation perspective. | +| | Functions | No public function | +| 2. | pallet-dAPI| `pallet-dAPI` is core implementation of SaaS3 project which is a key middle ware and interacted a lot with other pallets' functions. A dAPI is also a iNFT to indicate the beneficial right for API creator. iNFT related part is implemented based on pallet-uniques. | +| | Functions| 1). `pub fn subscribe_dAPI(eid:u32, iNFT_id:u64, timespan:u256, count:u256)` dAPI user call this function to pay token to subscribe dAPI.
          2). `pub fn create_dAPI(eid:u32, pid:u32)` Creator's docker image will be deployed as a dAPI.
          3). `pub fn use_dAPI(eid:u32, ip_address:Vec, iNFT_id:u64)` dAPI user call this function to allocate reliable miners to run dAPI.
          4). `fn check_dAPI(eid:u32, iNFT_id:u64)` The function can automatically check whether the dAPI is available for usage.| +| | Storage| `ServiceList get(fn iNFT_list): map hasher(blake2_128_concat) u32 => Vec;`
          `SubscriptionList get(fn subscription_list): map hasher(blake2_128_concat) u32 => Vec;`
          `Usages get(fn get_usages): map hasher(blake2_128_concat) u32 => Vec;`| +| | Struct| `pub struct iNFT`
          `pub struct Subscription`
          `pub struct Usage`| | 3. | pallet-stake| This pallet implements rewards and slashes related functions for token stakers to stake their tokens to services for DPoS consensus. [pallet-staking](https://crates.io/crates/pallet-staking) will be utilized for initial implementation and we will finely package it into our pallet-stake. | -| | Functions|1). `pub fn stake(eid:u32, sid:u32, credits:u32) ` User call this function to stake their credit to a dAPI as collateral.
          2). `pub fn stake queryStake(eid:u32, sid:u32)` It returns how many tokens is staked on a dAPI for a specific entity.
          3). `pub fn queryTotStake(eid:u32, mid:u32)` It returns the total staked tokens for a dAPI.
          4). `pub fn withdraw(eid:u32, sid:u32, credits:u32) ` Staker call this function to withdraw their tokens from dAPI. | -| | Storage|`MinerCollateral get(fn get_miner_collateral): map hasher(blake2_128_concat) u32 => u32;` | +| | Functions|1). `pub fn stake(eid:u32, sid:u32, credits:u32)` User call this function to stake their credit to a dAPI as collateral.
          2). `pub fn stake queryStake(eid:u32, sid:u32)` It returns how many tokens is staked on a dAPI for a specific entity.
          3). `pub fn queryTotStake(eid:u32, mid:u32)` It returns the total staked tokens for a dAPI.
          4). `pub fn withdraw(eid:u32, sid:u32, credits:u32)` Staker call this function to withdraw their tokens from dAPI. | +| | Storage|`MinerCollateral get(fn get_miner_collateral): map hasher(blake2_128_concat) u32 => u32;` | | 4. | UI & Frontend | This part is implemented by [substrate front-end template](https://github.com/substrate-developer-hub/substrate-front-end-template) The frontend and UI of user-side will be finished in this milestone. | ### Milestone 2 — Documentation and tutorial for miner and DAO. Development of pallet-miner and pallet-DAO @@ -284,34 +275,33 @@ GitHub accounts of all team members. | 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | | 0e. | Article | We will publish an **article**/workshop that explains (what was done/achieved as part of the grant). (Content, language and medium should reflect our target audience described above). | | 1. | pallet-miner | The pallet implements on-chain related things for miner to compute off-chain docker runtime. The computational power providers or miners in the network provide dAPI which aim to execute docker runtime to reply user's dRequest. Each docker image can be generally deployed on any miners. The pallet contains logic with off-chain softwares / models executions. 3-zkc related logics also will be implemented in this pallet. | -| | Functions | 1). `pub fn deploy(eid:u32, mid:u32, iNFT_id:u64)` The function is utilized to deploy one dAPI (ie., iNFT) on a specific miner and build off-chain connection to the dAPI user.
          2). `pub fn docker_manager()` It is only called at the first time when the miner connects to the blockchain to start a off-chain computation resource management related things such as 3-level dCache dispatch.
          3). `pub fn modify_miner_params(mid:u32, args:Vec)` It is an optional interface for miner to modify some on-chain parameters for adjustment computation. The implementation will be very careful to cause any security issues. 4). `fn distribute_rewards()` It can distribute Gas fee to miners| -| | Struct| `pub struct MinerParams`
          `pub struct EntityData`
          `pub struct EntityRuntime`| -| | Storage | `MinerParams get(fn get_miner_params): map hasher(blake2_128_concat) u32 => MinerParams;`
          `EntityData get(fn get_entity_data): map hasher(blake2_128_concat) u32 => Vec;`
          `EntityRuntime get(fn get_entity_runtime): map hasher(blake2_128_concat) u32 => Vec;`| +| | Functions | 1). `pub fn deploy(eid:u32, mid:u32, iNFT_id:u64)` The function is utilized to deploy one dAPI (ie., iNFT) on a specific miner and build off-chain connection to the dAPI user.
          2). `pub fn docker_manager()` It is only called at the first time when the miner connects to the blockchain to start a off-chain computation resource management related things such as 3-level dCache dispatch.
          3). `pub fn modify_miner_params(mid:u32, args:Vec)` It is an optional interface for miner to modify some on-chain parameters for adjustment computation. The implementation will be very careful to cause any security issues. 4). `fn distribute_rewards()` It can distribute Gas fee to miners| +| | Struct| `pub struct MinerParams`
          `pub struct EntityData`
          `pub struct EntityRuntime`| +| | Storage | `MinerParams get(fn get_miner_params): map hasher(blake2_128_concat) u32 => MinerParams;`
          `EntityData get(fn get_entity_data): map hasher(blake2_128_concat) u32 => Vec;`
          `EntityRuntime get(fn get_entity_runtime): map hasher(blake2_128_concat) u32 => Vec;`| | 2. | pallet-DAO | A DAO of judgement court, dAPI user raise sue to determine the punishment of malfunction miners / services and return sue claimed tokens to dAPI user.| -| |Functions |`pub fn submit_sue(eid:u32)` dAPI User submit sue claims for malfunction.
          `pub fn vote_sue(eid:u32, sid:u32)` Jury evaluates and votes the sue submission to determine punishment.
          `pub fn process_sue(sid:u32)` Process the accepted sue claims of dAPI user to slash malfunction miner / dAPI. The tokens will be paid to dAPI user and treasury with a ratio. | +| |Functions |`pub fn submit_sue(eid:u32)` dAPI User submit sue claims for malfunction.
          `pub fn vote_sue(eid:u32, sid:u32)` Jury evaluates and votes the sue submission to determine punishment.
          `pub fn process_sue(sid:u32)` Process the accepted sue claims of dAPI user to slash malfunction miner / dAPI. The tokens will be paid to dAPI user and treasury with a ratio. | | | Struct| `pub struct Sue` | | Storage| `SueList get(fn get_sue_list): map hasher(blake2_128_concat) u32 => Vec;` | 4. | UI & Frontend | This part is implemented by [substrate front-end template](https://github.com/substrate-developer-hub/substrate-front-end-template). The frontend web interface contains DAO procedures related functions which including user sue judgement. A special document website is developed to guide entities to participant DAO events. | ## Future Plans -- Initially, the parathreads will be utilized to connect the relay chain. Once the project goes well, we will participate slot auction. +- Initially, the parathreads will be utilized to connect the relay chain. Once the project goes well, we will participate slot auction. - Continue developing and polishing the project to flourish SaaS3 ecosystem to burst the web3 world based on Polkadot / Kusama / Substrate multi-chain system. - Provide more reliable efficient computation service which can run Polkadot / Kusama validator dockers. - ## Additional Information :heavy_plus_sign: -**How did you hear about the Grants Program?** +**How did you hear about the Grants Program?** web3 Foundation Website **Related Files** -- PitchDeck: https://www.saas3.io/file/PitchDeck_SaaS3.pdf -- SaaS3 website: https://saas3.io -- iNFT Demo (move to RMRK standard soon): https://saas3.io/non-api-nft -- Whitepaper(Beta Version): https://www.saas3.io/file/SaaS3Whitepaper.pdf +- PitchDeck: +- SaaS3 website: +- iNFT Demo (move to RMRK standard soon): +- Whitepaper(Beta Version): **Other Grants** diff --git a/applications/Shivarthu.md b/applications/Shivarthu.md index 73a7c2724da..36976e4adad 100644 --- a/applications/Shivarthu.md +++ b/applications/Shivarthu.md @@ -1,14 +1,12 @@ -# W3F Open Grant Proposal +# Shivarthu > This document will be part of the terms and conditions of your agreement and therefore needs to contain all the required information about the project. Don't remove any of the mandatory parts presented in bold letters or as headlines! Lines starting with a `>` (such as this one) can be removed. > > See the [Open Grants Program Process](https://github.com/w3f/Open-Grants-Program/#pencil-process) on how to submit a proposal. -* **Project Name:** Shivarthu * **Team Name:** Reaudito * **Payment Address:** 0x7e30FB962f951ef78D901865F87DD036fc5aa946 (DAI) - > ⚠️ *The combination of your GitHub account submitting the application and the payment address above will be your unique identifier during the program. Please keep them safe.* ## Project Overview :page_facing_up: @@ -22,58 +20,60 @@ If this is an application for a follow-up grant (the continuation of an earlier, Shivarthu: The blockchain-based decentralized governance system. Democracy is about fair and equal treatment of everyone in a country. But it becomes unrealistic to achieve when political parties have their conflict of interest, and leaders don’t have the expertise to make evidence-based policies and neither have the skill and manpower for solving problems that surround our society and ecosystem. The new fair democracy provides an elegant way of governance that separates the representative responsibility according to their specialization and can grow into any complexity. The governance is divided into various departments, and each department is supervised by representatives with expertise in the field. Voters are rational and need to have enough knowledge about the departments and the department problems, in order to vote for the selecting representatives of a department. The selection process of representatives is “difficult in and easy out”, which allows only utilitarian actors to hold the responsibility, weeding out frivolous ones. -https://shivarthu.reaudito.com/paper/Shivarthu_whitepaper.pdf + Shivarthu will be build on Substrate. Our democracy has many challenges, blockchain can provide a way to tackle those challenges by minimizing trust through game theory. That made our team interested in creating this project. - ### Project Details -Project Github link: https://github.com/amiyatulu/shivarthu +Project Github link: +#### Departments -#### Departments: The governance is divided into many departments like education, infrastructure, health, community service for every locality. -#### Expertise evaluation of representatives : -Voters and especially representatives need to have some experience or expertise in the department. Experience is required because education about the department leads to better decision making. -Their experience is evaluated by schelling game. + +#### Expertise evaluation of representatives + +Voters and especially representatives need to have some experience or expertise in the department. Experience is required because education about the department leads to better decision making. +Their experience is evaluated by schelling game. portfolio -#### Schelling Game: +#### Schelling Game + In this project, the Schelling game is used for experise evaluation and review of projects. We use a modification of Schelling game named score Schelling game for fund distribution of projects. -Juror applies for making a decision like whether the required experience can be accepted or review quality of projects is acceptable. The probability of being drawn as a juror is proportional to the amount of tokens a juror stakes. The higher the amount of tokens he stakes, the higher the probability that he will be drawn as a juror. Also, jurors are drawn randomly. This protects the system from sybil attacks. +Juror applies for making a decision like whether the required experience can be accepted or review quality of projects is acceptable. The probability of being drawn as a juror is proportional to the amount of tokens a juror stakes. The higher the amount of tokens he stakes, the higher the probability that he will be drawn as a juror. Also, jurors are drawn randomly. This protects the system from sybil attacks. We will use the substrate randomness trait for generating a random number. -https://substrate.dev/recipes/randomness.html -Then jurors will vote for their decision using the commit and reveal scheme. In the commit phase, they submit the hash of the vote string. Then, in the reveal phase, they submit the hash and the vote string. If the vote string matches with the hash, then the vote is accepted. -If a juror's vote is coherent (more than 51% of other jurors agree) then they receive incentives, otherwise, incentives are deducted from the stake of the juror. - -#### Voting for selection of representatives: -The election is multi-winner approval. We will use seq-phragmen of the substrate to select the representatives. Here, we will keep vote weight as reputation score (instead of stake), the amount of score they obtained through the participation of network. -https://substrate.dev/rustdocs/v3.0.0/sp_npos_elections/fn.seq_phragmen.html -Approval Voting: -Approval Voting -Winners: + +Then jurors will vote for their decision using the commit and reveal scheme. In the commit phase, they submit the hash of the vote string. Then, in the reveal phase, they submit the hash and the vote string. If the vote string matches with the hash, then the vote is accepted. +If a juror's vote is coherent (more than 51% of other jurors agree) then they receive incentives, otherwise, incentives are deducted from the stake of the juror. + +#### Voting for selection of representatives + +The election is multi-winner approval. We will use seq-phragmen of the substrate to select the representatives. Here, we will keep vote weight as reputation score (instead of stake), the amount of score they obtained through the participation of network. + +Approval Voting: +Approval Voting +Winners: Winner -#### Project application and acceptance: -The representatives are in charge of accepting the incoming projects for funding. +#### Project application and acceptance + +The representatives are in charge of accepting the incoming projects for funding. People will submit their problems, for example, waterlogging in the locality. Then experts all around the globe will submit the solution. The solution will be peer-reviewed to check its pros, cons, and suggest improvements that can be made. The review must meet the scientific guidelines. The solution can undergo revision through peer review feedback. -The solution provider and peer reviewer have to stake some money to receive incentives for their work. The solution and peer review will again be approved and disapproved through the shelling game after checking whether the content meets the quality as recommended in scientific guidelines. The solutions provider and reviewer will get the incentives if it gets approved, otherwise, some money will be cut from the stake. It creates pressure on the reviewer to maintain quality without noise. -Problem Solution +The solution provider and peer reviewer have to stake some money to receive incentives for their work. The solution and peer review will again be approved and disapproved through the shelling game after checking whether the content meets the quality as recommended in scientific guidelines. The solutions provider and reviewer will get the incentives if it gets approved, otherwise, some money will be cut from the stake. It creates pressure on the reviewer to maintain quality without noise. +Problem Solution The representatives of the department will select the most optimal solution. -After that persons wanting to take the lead to implement the solution will apply. Again representatives will select the best project leader from the application. +After that persons wanting to take the lead to implement the solution will apply. Again representatives will select the best project leader from the application. -Leadership - +Leadership +### Money for projects -### Money for projects: - -People can either directly donate to the projects or to the department funding pool. Transaction fees of governance token are also collected and kept in the tax funding pool. +People can either directly donate to the projects or to the department funding pool. Transaction fees of governance token are also collected and kept in the tax funding pool. The amount you can contribute to the department funding pool is calculated using the following formula. @@ -89,38 +89,35 @@ Your stake = 100 You can contribute to the funding pool = 50000/10000 * 100 -Then, funding to the projects is distributed through the score schelling game. +Then, funding to the projects is distributed through the score schelling game. + +### Price discovery through Score Schelling Game -### Price discovery through Score Schelling Game: You can rate the project from 1-5, without knowing what others are assigning. If the “mean” of all the product rating is near to your rating then the juror will get incentives, otherwise, juror incentives will be deducted. So, the juror will try to match the score with what others will assign based on information available rather than defecting by any arbitrary rating. We can discover the prices of projects that need to be funded from a common funding pool. Here is an algorithm: + 1) When you submit a project, you need to provide details of the funding needed for work to be done. You can’t provide a funding amount value of more than 4/5 power of the total funding pool amount. e.g. If the total funding pool has $50000, you can’t assign a value larger than $5743 2) Then, we will have a percentage Schelling game to predict the price. That is, you can predict whether to increase or decrease the funding amount in percentage. Remember, it can’t be larger than (Total funding pool amount)^(4/5). Score values will remain from -10 to +10, -10 means 100% decrease, +10 means 100% increase The range of -10 to +10 has a problem because the mean works best without extreme values. So, if someone gives -10, and others give 1, the mean result can get screwed due to the -10 outlier. So the trick is to remove outliers by computing the standard deviation. Remove all values more than one standard deviation away from the mean. Then, we calculate the new mean of the left values (it consists of 68.27% data of the set). Code to calculate new mean: -https://gateway.ipfs.io/ipfs/QmdgL7ytRPSE8vyp5KBffaAjmhGRLusiPcEbt9VWFkgMjf + Score Schelling Game - 3) Then, we will do quality score voting Schelling game that checks the project meets the quality guidelines. The score range is 0-5 4) The amount of funding will be directly proportional to (Predicted Price) * (Quality Score/5*2) Code: -https://gateway.ipfs.io/ipfs/QmcPfQFJKzozLMHFkAesDQc9n2CaEh6M8M4VWdsozgWRB9 + The algorithm tries to meet the values of teal organization through reduced compensation inequality - - - ### Ecosystem Fit +The project will be built on the substrate as a parachain or parathread. -The project will be built on the substrate as a parachain or parathread. - -Other projects similar to it is gitcoin, but its not in Substrate / Polkadot / Kusama ecosystem. Gitcoin uses quadratic funding, but we will use score schelling game for allocation of funds. Gitcoin is for mainly blockchain projects, but our projects includes local community problems. +Other projects similar to it is gitcoin, but its not in Substrate / Polkadot / Kusama ecosystem. Gitcoin uses quadratic funding, but we will use score schelling game for allocation of funds. Gitcoin is for mainly blockchain projects, but our projects includes local community problems. ## Team :busts_in_silhouette: @@ -134,7 +131,7 @@ Other projects similar to it is gitcoin, but its not in Substrate / Polkadot / K * **Contact Name:** Amiya Behera * **Contact Email:** amiyatulu@gmail.com -* **Website:** https://shivarthu.reaudito.com/#/ +* **Website:** ### Legal Structure @@ -143,26 +140,17 @@ Other projects similar to it is gitcoin, but its not in Substrate / Polkadot / K ### Team's experience -Amiya Behera is a full-stack developer and has build many webapps and a few dapps. Has experience in substrate, rust, reactjs, python and also in building mobile apps in react native. +Amiya Behera is a full-stack developer and has build many webapps and a few dapps. Has experience in substrate, rust, reactjs, python and also in building mobile apps in react native. Soumya Ranjan Behera is also a full stack developer with experience in reactjs, react native and python. - - ### Team Code Repos -* https://github.com/amiyatulu -* https://github.com/soumyababu -* https://github.com/amiyatulu/shivarthu - - - - - - +* +* +* ## Development Roadmap :nut_and_bolt: - ### Overview * **Total Estimated Duration:** 8 Months @@ -187,9 +175,6 @@ Soumya Ranjan Behera is also a full stack developer with experience in reactjs, |3.| Reactjs UI for Experience Evaluation| Uploading evidence of experience for the department using IPFS, UI for commit and reveal voting for schelling game and interaction of UI with substrate | |4.| Reactjs Approval Voting UI| Userfriendly UI for voting the representatives where their profile is shown | - - - ### Milestone 2 — Additional features * **Estimated Duration:** 4 month @@ -203,26 +188,22 @@ Soumya Ranjan Behera is also a full stack developer with experience in reactjs, | 0c. | Testing Guide | Core functions will be fully covered by unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | | 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | | 0e. | Article | We will publish an **article**/workshop that explains our project (what was done/achieved as part of the grant.) | -| 1. | Substrate module: Peer review system | Reviewing the projects using schelling game | -| 2. | Substrate module: Fund allocation | Allocating the fund using score schelling game | +| 1. | Substrate module: Peer review system | Reviewing the projects using schelling game | +| 2. | Substrate module: Fund allocation | Allocating the fund using score schelling game | | 3.| Reactjs UI for peer review system and Fund allocation | User friendly UI for reviewing the projects, schelling game voting interface, and fund allocation | | 4. | Search Engine| Offchain search engine for project discovery and finding representatives | - - - ## Future Plans Short-term: Improve the ideas with discussing with community Increase social media reach Write the source code - + Long-term: Onboard people into the app, and improve it taking feedback from the community. Enhance the app, provide upgrades when required. - ## Additional Information :heavy_plus_sign: -**How did you hear about the Grants Program?** Web3 Foundation Website +**How did you hear about the Grants Program?** Web3 Foundation Website diff --git a/applications/Societal.md b/applications/Societal.md index f6ced360f5f..739a0e48b06 100644 --- a/applications/Societal.md +++ b/applications/Societal.md @@ -1,9 +1,8 @@ -# W3F Grant Proposal +# Societal - MVP - Phase 1 -- **Project Name:** Societal - MVP - Phase 1 - **Team Name:** Societal Labs Ltd. - **Payment Address:** Ethereum - USDT: 0xcDcCF94f10d8A7165C1A336DD3795430a6CDE530 -- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 ## Project Overview @@ -14,24 +13,25 @@ Societal is an all-in-one Decentralized Autonomous Organization (DAO) creation a Utilizing Polkdaot’s layer-0 infrastructure and ecosystem, Societal will provide DAOs with both maximum functionality and a cohesive user experience. With features including agnostic token compatibility, zero gas fees, a freemium entry point, and a SaaS-based membership pricing, Societal combines best-in-class features into one vertically integrated product. With integrations into DeFi, privacy, and identity protocols, Societal will enable web3 organizations to seamlessly transition and manage their DAOs into the future. -The Societal team has been building in the Polkadot ecosystem for the last year. While at a previous Polkadot project, the Societal team noticed a lack of integrated DAO tooling - not only in the Polkadot ecosystem, but in the broader web3 industry as a whole. After analyzing how we might transition and manage our previous project into a DAO, there was no clear path. This, along with the team being both members and council members of various DAOs and noticing the lack of infrastructure, we decided to build a solution - Societal. +The Societal team has been building in the Polkadot ecosystem for the last year. While at a previous Polkadot project, the Societal team noticed a lack of integrated DAO tooling - not only in the Polkadot ecosystem, but in the broader web3 industry as a whole. After analyzing how we might transition and manage our previous project into a DAO, there was no clear path. This, along with the team being both members and council members of various DAOs and noticing the lack of infrastructure, we decided to build a solution - Societal. ### Project Details -Societal Labs has been designing the product vision of the Socital platform for quite some time. We will go over the project details and blockchain architecture in this application and provide references below for more in-depth context. +Societal Labs has been designing the product vision of the Socital platform for quite some time. We will go over the project details and blockchain architecture in this application and provide references below for more in-depth context. -In Societal's final state, it will offer four main services; Create, Transition, Transfer and Manage. Create will allow any web3 user to create their own DAO. Transition will allow protocols to progressively move towards community ownership. Transfer will allow DAOs to transfer their DAO from an expensive siloed chain to the Sociteal platform. Manage will provide DAOs all the required product features to manage their organization, whether it is a small investment club or a large community-governed protocol. +In Societal's final state, it will offer four main services; Create, Transition, Transfer and Manage. Create will allow any web3 user to create their own DAO. Transition will allow protocols to progressively move towards community ownership. Transfer will allow DAOs to transfer their DAO from an expensive siloed chain to the Sociteal platform. Manage will provide DAOs all the required product features to manage their organization, whether it is a small investment club or a large community-governed protocol. -Societal will offer a wide range of features to create and manage a DAO. The features are split into three categories; Operations, Treasury, and Governance. The Operations features are: job & task boards, payroll, customizable feeds, legal tooling, on-chain reputation, and web & mobile application. The Treasury features are as follows: treasury wallets (multi-sig), DeFi integrations, on-chain cap table, accounting and private asset integrations. The governance features are: zero gas fee governance, proposal calendar, built-in governance models, governance treasury execution, and private voting. +Societal will offer a wide range of features to create and manage a DAO. The features are split into three categories; Operations, Treasury, and Governance. The Operations features are: job & task boards, payroll, customizable feeds, legal tooling, on-chain reputation, and web & mobile application. The Treasury features are as follows: treasury wallets (multi-sig), DeFi integrations, on-chain cap table, accounting and private asset integrations. The governance features are: zero gas fee governance, proposal calendar, built-in governance models, governance treasury execution, and private voting. -Societal will vertically integrate with projects to advance its tech stack and product offering, something not seen in most web3 projects today. For example, Societal can integrate DeFi services by working with projects like Acala, Parallel, and Composable Finance, which will allow for active treasury management for DAOs managed with Societal. For private assets and voting, projects like Manta and Phala can provide privacy-enabling functions like zero-knowledge proofs and trusted execution environments to make this possible. For on-chain credentials, projects like KILT and Litentry can provide KYC and member credentialing services that can be used by DAOs for governance and recruiting. +Societal will vertically integrate with projects to advance its tech stack and product offering, something not seen in most web3 projects today. For example, Societal can integrate DeFi services by working with projects like Acala, Parallel, and Composable Finance, which will allow for active treasury management for DAOs managed with Societal. For private assets and voting, projects like Manta and Phala can provide privacy-enabling functions like zero-knowledge proofs and trusted execution environments to make this possible. For on-chain credentials, projects like KILT and Litentry can provide KYC and member credentialing services that can be used by DAOs for governance and recruiting. The Societal platform will host a vast network of DAOs and eventually offer a Cross-DAO Marketplace. DAO’s onboarded onto the platform will have access to a network of individual DAOs, along with any associated sub-DAOs or guilds. When a DAO has a task that needs to be completed, they will have the ability to post this task to the entire Societal network. This will reach the collective network of sub-DAOs or guilds that may have the ability to complete the required work. The interconnection of DAOs on the Societal platform will open up never before seen opportunities in collaboration across the web3 DAO, sub-DAO, and guild ecosystem. -Finally, Societal plans to progressively transition into a DAO itself. Once the token is launched, a community-run treasury will grow over time until the entire network is owned and operated by the community. +Finally, Societal plans to progressively transition into a DAO itself. Once the token is launched, a community-run treasury will grow over time until the entire network is owned and operated by the community. For more information, please refer to the following resources: + - Societal Whitepaper [here](https://docsend.com/view/2gte2fd8wc4jp4rg) - Societal Docs [here](https://docs.sctl.xyz/) - Societal Testnet Requirements Doc [here](https://docs.google.com/document/d/1seqVIZC-KDVe0ZAdPD1eb8WLKkpirMGB0CcM61eRq3k/edit) @@ -52,11 +52,11 @@ UI Mockups: As it stands today, the DAO landscape within the Polkadot ecosystem is not as mature as other ecosystems such as Ethereum and Solana. This is due to insufficient DAO creation and tooling infrastructure in the ecosystem. Currently, the Polkadot ecosystem does not have the creation, governance, treasury management, and payroll tooling products as other major blockchains. By building these tooling products on Polkadot, both the Polkadot DAO landscape and the broader DAO management tooling space is primed for innovation by utilizing the unique technical abilities that Substrate provides. -The target audience of the Societal application are web3 users who require a platform to easily create and manage their DAO. Using the technical capabilities that Substrate provides, Societal will design our chain to be token agnostic, allowing current MetaMask users to easily connect to our chain and start using the governance application right away. By doing this, our project will meet the needs of the Polkadot community to create their own DAOs and have the tools to manage them as seen in other ecosystems. +The target audience of the Societal application are web3 users who require a platform to easily create and manage their DAO. Using the technical capabilities that Substrate provides, Societal will design our chain to be token agnostic, allowing current MetaMask users to easily connect to our chain and start using the governance application right away. By doing this, our project will meet the needs of the Polkadot community to create their own DAOs and have the tools to manage them as seen in other ecosystems. -The projects like Societal in the Polkadot space are Polkassembly, SubDAO, and DoraFactory. Societal differs from these projects in multiple ways. First, Polkassembly is not building their own parachain and is only a governance platform for large Polkadot projects. Societal wants to allow any web3 user to create their own DAO - not just catering to large established protocols. SubDAO has recently been focusing on smart contract deployments on multiple chains and does not appear to be building a parachain. Societal will build its own parachain and use the technical capabilities of Substrate to be truly token agnostic, connecting with widely used wallets such as MetaMask, to avoid doing multiple chain deployments via smart contracts. Dora Factory is similar to Societal in the sense that they are building their own parachian, however we plan to offer zero gas fees and a SaaS based pricing model to enhance our user's experience. Societal will also seek to integrate with other parachains, having cross-chain smart contract execution. +The projects like Societal in the Polkadot space are Polkassembly, SubDAO, and DoraFactory. Societal differs from these projects in multiple ways. First, Polkassembly is not building their own parachain and is only a governance platform for large Polkadot projects. Societal wants to allow any web3 user to create their own DAO - not just catering to large established protocols. SubDAO has recently been focusing on smart contract deployments on multiple chains and does not appear to be building a parachain. Societal will build its own parachain and use the technical capabilities of Substrate to be truly token agnostic, connecting with widely used wallets such as MetaMask, to avoid doing multiple chain deployments via smart contracts. Dora Factory is similar to Societal in the sense that they are building their own parachian, however we plan to offer zero gas fees and a SaaS based pricing model to enhance our user's experience. Societal will also seek to integrate with other parachains, having cross-chain smart contract execution. -## Team +## Team ### Team members @@ -73,7 +73,7 @@ The projects like Societal in the Polkadot space are Polkassembly, SubDAO, and D ### Legal Structure - **Registered Address:** 707 5 St SW Unit 500, Calgary, AB, Canada T2P 0Y3 -- **Registered Legal Entity:** Societal Labs Ltd. +- **Registered Legal Entity:** Societal Labs Ltd. ### Team's experience @@ -81,16 +81,18 @@ Graeme Fox is the former Director of Business Development at Ruby Protocol, a pr Tyler Gellatly has been building and scaling early stage start-ups for the last 4+ years. He was employee #1 and Director of Operations & Partnerships at Cuboh (a YC-backed SAAS middleware operating within the ghost kitchen industry) More recently, Tyler helped found Ruby Protocol, a novel privacy protocol building on the Substrate framework, and is still involved in a strategic advisory capacity. Currently, he sits on the DAO council for the Illuminati Collective, which currently has a 1000 ETH treasury under management. Tyler holds a Bachelor of Commerce from the University of Victoria, specializing in corporate strategy and finance. A well-rounded business operations leader with a background in finance, operations, capital fundraising, and strategic partnerships, Tyler is mission driven to bring web3 communities together at scale by utilizing blockchain technology. -Max Kudinov is the CEO of Magic Powered, a software development firm building multiple web3 projects. Max has a passion for governance projects and was the Project Lead for the development of [Astro DAO](https://astrodao.com/), an all-in-one DAO creation and management platform built on Near. From this experience, Max has excellent understanding of Rust and how he would like to improve upon the Astro DAO project. Max has highly experienced web3 and rust developers on his team, ready to start the development of this project. +Max Kudinov is the CEO of Magic Powered, a software development firm building multiple web3 projects. Max has a passion for governance projects and was the Project Lead for the development of [Astro DAO](https://astrodao.com/), an all-in-one DAO creation and management platform built on Near. From this experience, Max has excellent understanding of Rust and how he would like to improve upon the Astro DAO project. Max has highly experienced web3 and rust developers on his team, ready to start the development of this project. ### Team Code Repos Org: + - https://github.com/sctllabs Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine. Team: + - https://github.com/gfox1 - https://github.com/near-daos - https://github.com/near-daos/astro-ui @@ -117,7 +119,7 @@ Before applying for the Web3 Foundation Grant, the Societal team conducted the f ### Overview - **Total Estimated Duration:** 4 months -- **Full-Time Equivalent (FTE):** 3 FTE +- **Full-Time Equivalent (FTE):** 3 FTE - **Total Costs:** 30,000 USDT @@ -127,7 +129,7 @@ Before applying for the Web3 Foundation Grant, the Societal team conducted the f - **FTE:** 3 - **Costs:** 20,000 USD -The main delivery of this milestone will be the DAO Factory Pallet. This pallet will allow someone to create a DAO on the Societal Network, where the DAO consists of a governance token, treasury and governance system. +The main delivery of this milestone will be the DAO Factory Pallet. This pallet will allow someone to create a DAO on the Societal Network, where the DAO consists of a governance token, treasury and governance system. | Number | Deliverable | Specification | | -----: | ----------- | ------------- | @@ -146,7 +148,7 @@ The main delivery of this milestone will be the DAO Factory Pallet. This pallet - **FTE:** 3 - **Costs:** 10,000 USD -The main delivery of this milestone is to have an easy to use and interactive UI for users to create a DAO and manage its governance and treasury. +The main delivery of this milestone is to have an easy to use and interactive UI for users to create a DAO and manage its governance and treasury. | Number | Deliverable | Specification | | -----: | ----------- | ------------- | @@ -158,19 +160,19 @@ The main delivery of this milestone is to have an easy to use and interactive UI | 1. | Client Modules | We will create a client facing UI that will interact with the Societal chain. The main function of the dashboard will be for the creation of the DAO, and manage its goverance & treasury. | | 2. | Substrate chain | In this milestone the Substrate chain will be built and the necessary pallets will be implemented. The pallets that will be included are: DAO FACTORY, System, Support, Executive, Assets, Authority Discovery, BABE, Balances, Democracy, Elections, Referenda, GRANDPA, Indices, Membership, Multisig, Nicks, Proxy, Scheduler, Transaction Payment, and Treasury | -Notes: Please note that the list of pallets is not exhausted. Some pallets may need to be added or removed from the MVP. However, based on my initial research the pallets listed above will be the required pallets for the Societal chain. +Notes: Please note that the list of pallets is not exhausted. Some pallets may need to be added or removed from the MVP. However, based on my initial research the pallets listed above will be the required pallets for the Societal chain. ## Future Plans -Societal plans to secure fundraising and expand the development team. After the completion of the milestones stated above, Societal plans to expand the product offering by implementing a DAO Market Place and a Mobile App for DAO management. Ideally Societal will be able to secure another Web3 grant for these milestones, along with integrations for [private voting](https://github.com/w3f/Grants-Program/blob/master/rfps/anti-collusion%20infrastructure.md) and [identity voting](https://github.com/w3f/Grants-Program/blob/master/rfps/identity-directory.md) based on links to the RFPs. From there, Societal would also like to apply for the Substrate Builders Program, establishing itself at the go to DAO and governance platform. Finally, Societal will progressively transition into a DAO itself and release control to the community. +Societal plans to secure fundraising and expand the development team. After the completion of the milestones stated above, Societal plans to expand the product offering by implementing a DAO Market Place and a Mobile App for DAO management. Ideally Societal will be able to secure another Web3 grant for these milestones, along with integrations for [private voting](https://github.com/w3f/Grants-Program/blob/master/rfps/anti-collusion%20infrastructure.md) and [identity voting](https://github.com/w3f/Grants-Program/blob/master/rfps/identity-directory.md) based on links to the RFPs. From there, Societal would also like to apply for the Substrate Builders Program, establishing itself at the go to DAO and governance platform. Finally, Societal will progressively transition into a DAO itself and release control to the community. ## Additional Information -**How did you hear about the Grants Program?** +**How did you hear about the Grants Program?** Societal heard about the Grants Program from our time building in the Polkadot Ecosystem. @@ -183,4 +185,4 @@ Additional Information: - Yes, all the founders of Societal Labs have contributed financially to the project. - Previous grants you may have applied for? - - No other grants have been applied for. + - No other grants have been applied for. diff --git a/applications/SpiderDAO.md b/applications/SpiderDAO.md index 3cf94fbb377..028a1ab0ba5 100644 --- a/applications/SpiderDAO.md +++ b/applications/SpiderDAO.md @@ -1,16 +1,18 @@ # SpiderDAO Grant Proposal + ![](https://i.imgur.com/zlw9lZ3.png) -* **Project:** SpiderDAO -* **Proposer:** [SpiderDAO] (https://github.com/SpiderDAO) + +* **Proposer:** [SpiderDAO] () * **Payment Address:** 3Pxq3ViqRW6b3e7qsX7Mo7gSikHcToa7ig * **Document Version:** Version 2.4 * **Status:** [Terminated](https://github.com/w3f/Grant-Milestone-Delivery/pull/129#issuecomment-1011987896) +## Project Overview :page_facing_up: -## Project Overview :page_facing_up: **SpiderDAO** is a next-generation hardware-based DAO governance model that aims to bring a new standard of fairness to existing DAO frameworks. Traditional DAO models are subject to attack and takeover by plutocracies controlled by wealthy whales. He who controls the votes controls the DAO. ### Overview + **SpiderDAO** is a unique governance infrastructure layer for a hardware-enabled DAO and can be applied in a variety of use cases. As the first use case, Spider will leverage its well-established presence in the hardware VPN market together with a partnership with Sentinel, an established dVPN provider and BPSAA Alliance member, to create a fully self-governing decentralized VPN network called SpiderVPN. We intend for SpiderDAO to run on its own Parachain on the Polkadot network. If the bond cannot be funded, the protocol will run on Parathreads or possibly as a series of smart contracts. Our initial testnet and protocol configuration will be built on Kusama and ported onto Polkadot for the mainnet launch. @@ -18,6 +20,7 @@ We intend for SpiderDAO to run on its own Parachain on the Polkadot network. If We believe that in order to fulfil the SpiderDAO’s vision of bringing greater privacy to the end-user, it is vital to establish a robust ecosystem that prioritises users’ interests. To do this, we must first establish a resilient, scalable and community-led governance system that dynamically adapts to the rapidly changing times. We believe that building a decentralised autonomous organisation is the perfect mechanism that will enable us to reach this goal. ### Project Details + ![](https://i.imgur.com/4y8BwFo.png) SpiderDAO’s long term vision is to propose a set of tools bringing privacy and security to today and tomorrow's internet users. To do so in an efficient and sustainable fashion, SpiderDAO’s team imagined and leveraged a robust DAO standard that will withstand the incredible adversity that such a mission implies. A first step is to address the plutocracy governance problem in traditional DAOs by introducing a set of rules that must be abided by to qualify for the right to an on-chain vote via the DAO. @@ -28,12 +31,12 @@ The SpiderConnect Hardware Router can be purchased by any community member, once ![](https://i.imgur.com/XFm46ql.png) - -**SpiderDAO** ecosystem brings together several other components to provide the building blocks for growing and sustaining a dynamic ecosystem. +**SpiderDAO** ecosystem brings together several other components to provide the building blocks for growing and sustaining a dynamic ecosystem. ![](https://i.imgur.com/AGJhoA5.png) **Spider Ecosystem will include:** + * SpiderDAO is the first hardware-governed DAO with a self-maintaining and self-improving robust Hardware/Software Governance control mechanism. * SpiderConnect Routers offer multiple roles as a high-speed VPN tunnel, a DAO voting ticket, and a node in a fully autonomous decentralised VPN. * SpiderVPN is a Virtual Private Network interlinking all the elements of the DAO & offering a complimentary dVPN service for qualifying users. @@ -43,71 +46,68 @@ The SpiderConnect Hardware Router can be purchased by any community member, once * **SpiderDashboard** (as seen Below) will provide an end-users access point to the features of the SpiderDAO. ![](https://i.imgur.com/UuanKdg.png) - - + ### Ecosystem Fit We see many projects in the Polkadot ecosystem that are having similar issues when it comes to voting system: MANTRA DAO is one of the examples. -The main problem with **Mantra DAO** which is built on **Rio Chain** is the same problem that many other DAOs faces where each token represent 1 vote in the ecosystem which introduces a major problem with the governing body where whales can take control of the DAO by buying big amounts of tokens making them in a way the deciding vote for any proposals. +The main problem with **Mantra DAO** which is built on **Rio Chain** is the same problem that many other DAOs faces where each token represent 1 vote in the ecosystem which introduces a major problem with the governing body where whales can take control of the DAO by buying big amounts of tokens making them in a way the deciding vote for any proposals. -### To solve this we intend to add the following features. +### To solve this we intend to add the following features **SpiderConnect Router Security** -- Our routers do have a secured ROM which we can control securely for all units and that's where the essential data will be saved. Our unique ID which currently contains the mac address & the router serial number will be combined with the wallet address and encrypted using our algorithm to make sure it would be nearly impossible to be compromised. +* Our routers do have a secured ROM which we can control securely for all units and that's where the essential data will be saved. Our unique ID which currently contains the mac address & the router serial number will be combined with the wallet address and encrypted using our algorithm to make sure it would be nearly impossible to be compromised. **Whale Resistant Voting Model** -- Our model shifts voting power away from token holders to hardware owners, where one validated router equals one vote. Additionally, Blockchain-based router tracking ensures that hoarding of devices are instantaneously detected by the network and ‘fake’ routers are locked out of the network. The liquidity incentive mechanism will be available to all users and not just people with routers so the entry barrier is removed in this case. +* Our model shifts voting power away from token holders to hardware owners, where one validated router equals one vote. Additionally, Blockchain-based router tracking ensures that hoarding of devices are instantaneously detected by the network and ‘fake’ routers are locked out of the network. The liquidity incentive mechanism will be available to all users and not just people with routers so the entry barrier is removed in this case. **Voting by Direct Democracy** -- Our voting mechanism would be classified as a Direct Democracy system. We are going to balance the voting power by only allowing token holders to have one router regardless of how many tokens they hold. We will make sure they got to go through SpiderConnect to gain more routers for their tokens if we agreed to that. Our DPI filters will monitor that keeping their identity anonymous. +* Our voting mechanism would be classified as a Direct Democracy system. We are going to balance the voting power by only allowing token holders to have one router regardless of how many tokens they hold. We will make sure they got to go through SpiderConnect to gain more routers for their tokens if we agreed to that. Our DPI filters will monitor that keeping their identity anonymous. + + **How will spiderDAO try and prevent Whales/Bots from manipulating the Hardware Governnace?** - **How will spiderDAO try and prevent Whales/Bots from manipulating the Hardware Governnace?** - -- We are aware that whales/bots can buy more routers using new wallets to try and affect the governance model, but that will come at a heavy cost for adding more routers and also have to wait for a period of time deemed reasonable to the DAO. Users must have active transactions on the wallet before being able to vote to make sure bots and whales won't get access with ease. +* We are aware that whales/bots can buy more routers using new wallets to try and affect the governance model, but that will come at a heavy cost for adding more routers and also have to wait for a period of time deemed reasonable to the DAO. Users must have active transactions on the wallet before being able to vote to make sure bots and whales won't get access with ease. -- We will be keeping a log of every MAC Address and serial number for every router we add to our inventory, this we’ll be added to an on-chain ledger or on-chain database. This will help us to identify any clone or anyone trying to spoof/manipulate the hardware. +* We will be keeping a log of every MAC Address and serial number for every router we add to our inventory, this we’ll be added to an on-chain ledger or on-chain database. This will help us to identify any clone or anyone trying to spoof/manipulate the hardware. We will also be in constant contact with the growing SpiderDAO community and the open-source community for beneficial ideas on how to make the governorate safer and more resilient to whales-resistance. -- If the essential data (explained below) is not matched to the end-user and they try to spoof or manipulate access. There will be 3 warnings followed by a ban from taking a part in our governance model for a limited time(still to be decided). The ban time will be increased systematically based on the number of times this is identified until the customer is banned indefinitely if the infringement persistently continues. - +* If the essential data (explained below) is not matched to the end-user and they try to spoof or manipulate access. There will be 3 warnings followed by a ban from taking a part in our governance model for a limited time(still to be decided). The ban time will be increased systematically based on the number of times this is identified until the customer is banned indefinitely if the infringement persistently continues. + **What is the essential data?** **The essential data is a combination of the following:** -- Encrypted wallet seed using aes-256-cbc encryption standard with an auto-generated passphrase* saved as part of the essential data. -- Router Mac Address to avoid it being cloned. -- Router serial number which cannot be cloned as it's a part of the chipset code. -- SHA-512 checksum for a temp file that is created with all the data above which is updated every time the router is rebooted with the timestamp. +* Encrypted wallet seed using aes-256-cbc encryption standard with an auto-generated passphrase* saved as part of the essential data. +* Router Mac Address to avoid it being cloned. +* Router serial number which cannot be cloned as it's a part of the chipset code. +* SHA-512 checksum for a temp file that is created with all the data above which is updated every time the router is rebooted with the timestamp. **PS:** Please note the passphrase would only be local and will be independent to the requests sent by the router for the governorate operations. **Is SpiderConnect Hardware Router open-source?** - -- Yes as we want to be involved much more in the open-source community, We are going to be using the Uboot environment with its open-source code to save the essential data which would be listed in the next question. -- To go into more detail on that point, We will also be giving our community members the option to choose between Open Source wireless drivers and the closed source ones for them to choose so we can make sure we offer an OpenSource friendly solution. +* Yes as we want to be involved much more in the open-source community, We are going to be using the Uboot environment with its open-source code to save the essential data which would be listed in the next question. + +* To go into more detail on that point, We will also be giving our community members the option to choose between Open Source wireless drivers and the closed source ones for them to choose so we can make sure we offer an OpenSource friendly solution. **PS:** No secured or closed source ROM will be needed using this solution - - **How we plan to build on Polkadot Ecosystem?** - -- We are planning to build using smart contracts at the beginning but as we scale up to more transactions, We are most likely to move toward a shared solution so we can cut the costs and take charge of how our blockchain will operate. -**How we plan to achieve on-chain and off-chain communication with SpiderConnect Routers and SpiderDAO governance?** + **How we plan to build on Polkadot Ecosystem?** -- We are planning to write a substrate faucet to communicate with our discord server for our customers to send the token needed for the vote, Initiate voting, pass on the vote for the voting process that would be operated through our discord server. -- Real votes will be done through our substrate faucet until the final Polkadot/SpiderDAO flavour features are fully-fledged. - +* We are planning to build using smart contracts at the beginning but as we scale up to more transactions, We are most likely to move toward a shared solution so we can cut the costs and take charge of how our blockchain will operate. +**How we plan to achieve on-chain and off-chain communication with SpiderConnect Routers and SpiderDAO governance?** +* We are planning to write a substrate faucet to communicate with our discord server for our customers to send the token needed for the vote, Initiate voting, pass on the vote for the voting process that would be operated through our discord server. +* Real votes will be done through our substrate faucet until the final Polkadot/SpiderDAO flavour features are fully-fledged. ## Team :busts_in_silhouette: ### Team members + * Nathan Varty (Full-Time, Founder, CEO) * Žiga Flis (Full-Time, Founder, Senior blockchain Developer & Analyst) * Anas Sayed (Full-Time, Founder, CTO, Development Manager, Architecture, Full Network Stack Implementation) @@ -116,40 +116,49 @@ We will also be in constant contact with the growing SpiderDAO community and the * Pierre Laurent (Strategic Advisor, Blockchain and crypto Enthusiast) ### Team Website -* https://spiderdao.io + +* ### Legal Structure + **SpiderDAO** is incorporated in Cayman Island. ### Team's experience + **Nathan Varty** + * Experienced entrepreneur specialized in IoT development and operations, Skilled in management of onsite Developers. * Successfully overseeing SpiderVPN's operations since 2017. * Passionate about decentralizing global currency and governance with the vision to implement that in wider fields. * Over 5 years experience investing and trading in digital assets. **Žiga Flis** + * Worked as a Chief Technology Officer at RiveX, where he contributed to the development of various blockchain technologies. * Experienced in on and off-chain tech and has a passion for developing decentralized solutions. * Experienced in crypto markets since 2016. **Anas Sayed** + * Long standing Project Manager and working with teams of Developers and Administrators. * Worked on many projects in Entertainment/Telecommunications field including FuboTV, Pensil Media, SpiderVPN. * Currently working on different projects with market leaders in Telecommunications field. * Bachelor’s Degree in Computer Science from HICIT in Shorouk Academy, Egypt. **Alexy Petrunin** + * Experienced backend developers with full SDLC implementations. * Developed multiple OpenWRT projects. * Extensive knowledge in all Open Systems Interconnection (OSI) model. **Dr. Alfie Zhao** + * Chief Technology Officer, GL Technologies (Hong Kong) Limited. * Winner of CES innovation awards in 2019 and 2020. * PhD in engineering management with proven track record in hardware IoT since 2012. **Pierre Laurent** + * Co-founder at Atka advisory. * Overseeing the European operation of a cryptocurrency exchange as Blockchain Partnerships Manager in 2018 * Early adopter of Blockchain and advisor on several projects @@ -157,22 +166,24 @@ We will also be in constant contact with the growing SpiderDAO community and the * Tech-savvy, startup enthusiast, passionate about blockchain technologies. ### Team Code Repos -* https://github.com/spiderdao -* https://github.com/painfull30 -* https://github.com/flisko + +* +* +* ### Team LinkedIn Profiles -* **Nathan Varty** https://www.linkedin.com/in/nathan-varty-b07235162/ -* **Žiga Flis** https://www.linkedin.com/in/%C5%BEiga-flis-3112896b/ -* **Anas Sayed** https://www.linkedin.com/in/anas-sayed-34a99b73/ -* **Alexy Petrunin** https://www.linkedin.com/in/alexey-petrunin-aa06807a/ -* **Dr. Alfie Zhao** https://www.linkedin.com/in/jianbin-zhao-2b04567/ -* **Pierre Laurent** https://www.linkedin.com/in/pierrelaurent789/ +* **Nathan Varty** +* **Žiga Flis** +* **Anas Sayed** +* **Alexy Petrunin** +* **Dr. Alfie Zhao** +* **Pierre Laurent** -## Development Roadmap :nut_and_bolt: +## Development Roadmap :nut_and_bolt: ### Overview + * **Total Estimated Duration:** 2 Months/POC * **Full-time equivalent (FTE):** 15.57 * **Total Costs:** 1.67 BTC @@ -183,37 +194,43 @@ We will also be in constant contact with the growing SpiderDAO community and the | ------------- | ------------- | ------------- | | 0a. | License | Apache 2.0 | | 0b. | Documentation | We will provide both inline documentation of the code and a full tutorial that explains how to interact and communicate with the testnet protocol | -| 0c. | Testing Guide | The code will have proper unit-test coverage (>90%) to ensure functionality and robustness. In the guide we will describe how to run these tests | +| 0c. | Testing Guide | The code will have proper unit-test coverage (>90%) to ensure functionality and robustness. In the guide we will describe how to run these tests | | 1. | Testing | We will conduct testing of the developed functionalities on Westend testnet. | | 2. | DAO framework | We are going to build our DAO framework using Ink! Smart Contracts for this milestone. | | 3. | Discord Communication | Write a substrate faucet to establish communication between SpiderConnect Hardware Router & discord server allowing contribution to SpiderDAO by allowing users to send the token needed for the vote, Initiate voting, pass on the vote for the voting process that would be operated through our discord server. | -| 4. | Build TestNet | The testnet will be based on Substrate framework for this milestone. | -| 5. | Test SpiderDAO | Successfully connect DAO entities (individual voters) to Spider routers. This will include one use case to show the connection is established correctly using Discord communications. We will be using Python with the help of https://github.com/polkascan/py-substrate-interface library. | +| 4. | Build TestNet | The testnet will be based on Substrate framework for this milestone. | +| 5. | Test SpiderDAO | Successfully connect DAO entities (individual voters) to Spider routers. This will include one use case to show the connection is established correctly using Discord communications. We will be using Python with the help of library. | | 6. | Medium Article | Create a medium article to announce all deliveries to the community once passed evaluation. | | 7. | Repository | Repository including a README that describes the milestone and explains how to run, test and contribute | | 8. | Docker | A docker container that will also run on CI to test the deliverables of the milestone | ### Community engagement + We plan to write several pieces about SpiderDAO/SpiderVPN implementation. They include, but are not limited to: + * Weekly Medium Articles * Daily Twitter Threads and Posts * We also intend to engage community by running range of incentivised testnets to get more feedback from the existing end-users to improve our product. * Educating an Ideal processes of hardware voting policy in a DAO structure ## Future Plans + Future Developments will focus on the following: + * Incentive programs for validators * Bug bounties * Hackathon * Grants to develop new products under the SpiderDAO Umbrella -* Decentralized SpiderChat | SpiderCloud | SpiderMail +* Decentralized SpiderChat | SpiderCloud | SpiderMail **Open Source Development Opportunities** -* Hardware DAO Development + +* Hardware DAO Development * Networking Routers * Operating Systems -## Additional Information :heavy_plus_sign: +## Additional Information :heavy_plus_sign: + Any additional information that you think is relevant to this application that hasn't already been included. * **What work has been done so far?** diff --git a/applications/Standard_Protocol.md b/applications/Standard_Protocol.md index 6ee0688ed9a..cd3df35019a 100644 --- a/applications/Standard_Protocol.md +++ b/applications/Standard_Protocol.md @@ -1,7 +1,6 @@ # Standard Protocol - -## Project Overview :page_facing_up: +## Project Overview :page_facing_up: ### Overview @@ -10,12 +9,15 @@ Standard Protocol is a collaterized algorithmic stablecoin protocol for syntheti ### Problems of current algorithmic stablecoins #### 1. Too much focus on price stability, no sustainable use case for interoperability + Current algorithmic stablecoins focus only on automated price stability. Although they provide some interoperability between tokens with initial distribution in yield farming, but currently there is no sustainable way for them to interoperate with financial activities without the reward. Also, other algorithmic stablecoins which uses incentives in cases regarding circulating supply(e.g. contractionary, expansionary cases) are not showing sustainability to preserve 1 dollar peg. -#### 2. Oracles are centralized, and there is no decentralized ecosystem to reward them +#### 2. Oracles are centralized, and there is no decentralized ecosystem to reward them + One can be dependant to dexes, but they are prone to flash loans, making arbitrage data compared to centralized exchange. In order to provide aggregated and balanced data, oracle providers must be rewarded. -#### 3. Auctions are hard to track and centralized +#### 3. Auctions are hard to track and centralized + Auctions after liquidation are hard to track and participate, leaving only hardcore traders to take advantage of arbitrage. More decentralized way to provide liquidation must be considered. Auction orders come in high volume of collateral, and this can lead to plutocracy. ### Solutions @@ -40,7 +42,7 @@ Instead of hosting an auction for liquidating collaterals, Standard protocol dep #### token regisrty `/token` -Token manages asset that flows in and out with xcmp in polkadot ecosystem. assets are managed with unique identifier. +Token manages asset that flows in and out with xcmp in polkadot ecosystem. assets are managed with unique identifier. #### oracle reward module `/oracle` @@ -53,9 +55,9 @@ Market module in standard protocol manages pair for automated market maker(AMM) #### vault module `/vault` -Vault module in standard protocol is a collateral debt position engine where +Vault module in standard protocol is a collateral debt position engine where -### Ecosystem Fit +### Ecosystem Fit Standard protocol will act as the catalyst for other parachain's financial activities for enabling leverage trading and Arbitrage in AMM created from liquidation. It will also open a protocol for synthetic asset market with decentralized oracle ecosystem. @@ -66,19 +68,22 @@ Standard protocol will act as the catalyst for other parachain's financial activ Hyungsuk Kang, team leader ### Legal Structure + Standard protocol is being made with Apache 2.0 license. Legal entity is being built in Singapore right now. ### Team's experience -Hyungsuk is Plasm network's core developer. He developed Subswap, AMM in substrate, and he wants to extend it to make the next finance in Polkadot ecosytem using XCM module and collateral debt position. He is also kernel and tendermint fellow. + +Hyungsuk is Plasm network's core developer. He developed Subswap, AMM in substrate, and he wants to extend it to make the next finance in Polkadot ecosytem using XCM module and collateral debt position. He is also kernel and tendermint fellow. ### Team Code Repos -* https://github.com/digitalnativeinc/standard-substrate +* ### Team LinkedIn Profiles -* https://www.linkedin.com/in/hyungsukkang -## Development Roadmap :nut_and_bolt: +* + +## Development Roadmap :nut_and_bolt: ### Overview @@ -92,6 +97,7 @@ To reward the network participant, Standard protocol proposes new PoS reward sys * **Status:** [Terminated](https://github.com/w3f/Grants-Program/pull/244#issuecomment-1014764739) ### Milestone 1 - Middleware for data submission and runtime integration + * **Estimated Duration:** 1 month * **FTE:** 1 * **Costs:** 500DAI @@ -100,7 +106,7 @@ This milestone focuses on building a oracle provider client middleware which sub ### Oracle provider client -As chainlink and other oracle solution has a middleware or submitting client from off-chain, Standard also has its oracle client. Oracle provider client is actually a bot that uses [polkadot-js api](https://github.com/scs/substrate-api-client/blob/master/tutorials/api-client-tutorial/src/main.rs) to submit information in oracle module in a certain periods(e.g. 2 hour, 4 hour). For example, to send an oracle xt from an oracle client, +As chainlink and other oracle solution has a middleware or submitting client from off-chain, Standard also has its oracle client. Oracle provider client is actually a bot that uses [polkadot-js api](https://github.com/scs/substrate-api-client/blob/master/tutorials/api-client-tutorial/src/main.rs) to submit information in oracle module in a certain periods(e.g. 2 hour, 4 hour). For example, to send an oracle xt from an oracle client, ```javascript= // Loads config @@ -149,32 +155,29 @@ Here is the overall workflow for the client operation, and add-ons and options a ## Unit tests -Standard protocol applies test driven development(TDD) on building runtime modules for the grant. +Standard protocol applies test driven development(TDD) on building runtime modules for the grant. Here are unit tests that will be done along the development in the runtime module. ## Oracle oracle in milestone 1 should achieve: -- Only Root account can register oracle providers for slots to submit off-chain data -- If slots are not open for an entity in the storage, a new oracle provider initializes the slot with the oracle provider count. -- When the provider is designated for a slot, it can only submit data for a designated slot -- If one reports slashing for the slot, runtime validates the slot data with iqr rule and remove provider and set the value as zero if the value violates it. -- zero values are excluded and the median is calculated in both even and odd cases +* Only Root account can register oracle providers for slots to submit off-chain data +* If slots are not open for an entity in the storage, a new oracle provider initializes the slot with the oracle provider count. +* When the provider is designated for a slot, it can only submit data for a designated slot +* If one reports slashing for the slot, runtime validates the slot data with iqr rule and remove provider and set the value as zero if the value violates it. +* zero values are excluded and the median is calculated in both even and odd cases To check this, oracle provider module should have these test functions: -- `add_oracle_provider_works`: Oracle should be added by the root account for now until the module includes session callback between `pallet-staking` and `pallet-session` as a impl of `SessionManager`. -- `oracle_report_works`: Oracle provider should only be able to submit data only in designated slot, and create new batch if the price data has not been reported yet. -- `oracle_slash_works`: when one reports slashing for oracle provider in a slot, the runtime should run iqr rule to find out whether the slot value violates the rule from the collected oracle data batch. -- `oracle_excludes_zeros_and_return_median`: Oracle runtime should exclude zero-values since it means the data is empty or not available due to violation. median should be returned from the remainder of filtered batch. -- `oracle_excludes_zeros_and_return_median_even`: the purpose is also same with the previous test function, but the batch length is even. - - - +* `add_oracle_provider_works`: Oracle should be added by the root account for now until the module includes session callback between `pallet-staking` and `pallet-session` as a impl of `SessionManager`. +* `oracle_report_works`: Oracle provider should only be able to submit data only in designated slot, and create new batch if the price data has not been reported yet. +* `oracle_slash_works`: when one reports slashing for oracle provider in a slot, the runtime should run iqr rule to find out whether the slot value violates the rule from the collected oracle data batch. +* `oracle_excludes_zeros_and_return_median`: Oracle runtime should exclude zero-values since it means the data is empty or not available due to violation. median should be returned from the remainder of filtered batch. +* `oracle_excludes_zeros_and_return_median_even`: the purpose is also same with the previous test function, but the batch length is even. | Number | Deliverable | Specification | | ------------- | ------------- | ------------- | | 0a. | License | Apache 2.0| -| 0b. | Documentation | Documentation will introduce how to install the oracle and participate to get block reward | +| 0b. | Documentation | Documentation will introduce how to install the oracle and participate to get block reward | | 1. | Oracle client | Oracle client to receive information from external sources then submit information regularly to substrate runtime | | 2. | Modified Oracle module | Oracle module to register operators and batch | | 3. | Unit test codes | Unit test codes in `tests.rs` in each runtime module | @@ -182,13 +185,14 @@ To check this, oracle provider module should have these test functions: | 5. | Dockerfile | Dockerfile for running Standard protocol binary will be provided | ### Milestone 2 - PoS oracle reward distribution + * **Estimated Duration:** 1 month * **FTE:** 1 * **Costs:** 500DAI -This milestone focuses on including session callbacks related to sessions in implementations of `SessionManager` trait in `pallet-staking` module, and all related module will be tested with its separate implementation of `SessionManager` connected to `pallet-session` in a mock environment. +This milestone focuses on including session callbacks related to sessions in implementations of `SessionManager` trait in `pallet-staking` module, and all related module will be tested with its separate implementation of `SessionManager` connected to `pallet-session` in a mock environment. -## Vault +## Vault Vault in milestone 2 should have a trait for dependency Injection: @@ -217,209 +221,204 @@ where the it will be included in `pallet-staking` module's `SessionManager` trai /// Once the first new_session is planned, all session must start and then end in order, though /// some session can lag in between the newest session planned and the latest session started. impl pallet_session::SessionManager for Module { - fn new_session(new_index: SessionIndex) -> Option> { - frame_support::debug::native::trace!( - target: LOG_TARGET, - "[{}] planning new_session({})", - >::block_number(), - new_index - ); - Self::new_session(new_index) - } - fn start_session(start_index: SessionIndex) { - frame_support::debug::native::trace!( - target: LOG_TARGET, - "[{}] starting start_session({})", - >::block_number(), - start_index - ); - Self::start_session(start_index) - } - fn end_session(end_index: SessionIndex) { - frame_support::debug::native::trace!( - target: LOG_TARGET, - "[{}] ending end_session({}) with rebase", - >::block_number(), - end_index - ); + fn new_session(new_index: SessionIndex) -> Option> { + frame_support::debug::native::trace!( + target: LOG_TARGET, + "[{}] planning new_session({})", + >::block_number(), + new_index + ); + Self::new_session(new_index) + } + fn start_session(start_index: SessionIndex) { + frame_support::debug::native::trace!( + target: LOG_TARGET, + "[{}] starting start_session({})", + >::block_number(), + start_index + ); + Self::start_session(start_index) + } + fn end_session(end_index: SessionIndex) { + frame_support::debug::native::trace!( + target: LOG_TARGET, + "[{}] ending end_session({}) with rebase", + >::block_number(), + end_index + ); T::Rebase::rebase(); - Self::end_session(end_index) - } + Self::end_session(end_index) + } } ``` - vault in milestone 2 should achieve: -- In each era, vault module should bring registered stablecoin price from oracle module with its asset id (1) and rebase its total supply to `(circulating supply) / (oracle price)` in order to satisfy the ratio `(circulating supply) : (oracle price) = (total supply) : (1.0(USD) in decimal configured in the substrate chain)`. -- Vault module should burn or mint stablecoin's module account's balance according to rebased balance -- Alert community when total supply cannot be decreased anymore to keep the ratio(in case where decreased total supply exceeds circulating supply) in order to propose emergency shutdown or take further actions(e.g. issuing bonds, using community vault from stability fee to stabilize the ratio) +* In each era, vault module should bring registered stablecoin price from oracle module with its asset id (1) and rebase its total supply to `(circulating supply) / (oracle price)` in order to satisfy the ratio `(circulating supply) : (oracle price) = (total supply) : (1.0(USD) in decimal configured in the substrate chain)`. +* Vault module should burn or mint stablecoin's module account's balance according to rebased balance +* Alert community when total supply cannot be decreased anymore to keep the ratio(in case where decreased total supply exceeds circulating supply) in order to propose emergency shutdown or take further actions(e.g. issuing bonds, using community vault from stability fee to stabilize the ratio) To check this, vault module should have these test functions: -- `supply_is_rebased_in_each_era`: Using an oracle module, set an oracle price and start an era so that the vault module can executes rebase mechanism. The total supply of the stablecoin is checked whether it changed to the right amount. -- `report_emergency`: check whether vault module reports when the rebased next total supply is less than the circulating supply. - +* `supply_is_rebased_in_each_era`: Using an oracle module, set an oracle price and start an era so that the vault module can executes rebase mechanism. The total supply of the stablecoin is checked whether it changed to the right amount. +* `report_emergency`: check whether vault module reports when the rebased next total supply is less than the circulating supply. ## Oracle oracle will replicate the `pallet-staking` module regarding election of the oracle provider and the reward logic. However, there will be difference in how the elected provider(or validator) is allocated to the slot. The module only accepts the stash account to submit oracle data once `validate()` tx has been finalized. -For example, there will be addition in the `select_and_update_validators` function code +For example, there will be addition in the `select_and_update_validators` function code ```rust= /// Select the new validator set at the end of the era. - /// - /// Runs [`try_do_phragmen`] and updates the following storage items: - /// - [`EraElectionStatus`]: with `None`. - /// - [`ErasStakers`]: with the new staker set. - /// - [`ErasStakersClipped`]. - /// - [`ErasValidatorPrefs`]. - /// - [`ErasTotalStake`]: with the new total stake. - /// - [`SnapshotValidators`] and [`SnapshotNominators`] are both removed. - /// - /// Internally, [`QueuedElected`], snapshots and [`QueuedScore`] are also consumed. - /// - /// If the election has been successful, It passes the new set upwards. - /// - /// This should only be called at the end of an era. - fn select_and_update_validators(current_era: EraIndex) -> Option> { - if let Some(ElectionResult::> { - elected_stashes, - exposures, - compute, - }) = Self::try_do_election() { - // Totally close the election round and data. - Self::close_election_window(); - - // Populate Stakers and write slot stake. - let mut total_stake: BalanceOf = Zero::zero(); - exposures.into_iter().for_each(|(stash, exposure)| { - total_stake = total_stake.saturating_add(exposure.total); - >::insert(current_era, &stash, &exposure); - - let mut exposure_clipped = exposure; - let clipped_max_len = T::MaxNominatorRewardedPerValidator::get() as usize; - if exposure_clipped.others.len() > clipped_max_len { - exposure_clipped.others.sort_by(|a, b| a.value.cmp(&b.value).reverse()); - exposure_clipped.others.truncate(clipped_max_len); - } - >::insert(¤t_era, &stash, exposure_clipped); - }); - - // Insert current era staking information - >::insert(¤t_era, total_stake); - - // collect the pref of all winners - for (i, stash) in elected_stashes.iter().enumerate() { + /// + /// Runs [`try_do_phragmen`] and updates the following storage items: + /// - [`EraElectionStatus`]: with `None`. + /// - [`ErasStakers`]: with the new staker set. + /// - [`ErasStakersClipped`]. + /// - [`ErasValidatorPrefs`]. + /// - [`ErasTotalStake`]: with the new total stake. + /// - [`SnapshotValidators`] and [`SnapshotNominators`] are both removed. + /// + /// Internally, [`QueuedElected`], snapshots and [`QueuedScore`] are also consumed. + /// + /// If the election has been successful, It passes the new set upwards. + /// + /// This should only be called at the end of an era. + fn select_and_update_validators(current_era: EraIndex) -> Option> { + if let Some(ElectionResult::> { + elected_stashes, + exposures, + compute, + }) = Self::try_do_election() { + // Totally close the election round and data. + Self::close_election_window(); + + // Populate Stakers and write slot stake. + let mut total_stake: BalanceOf = Zero::zero(); + exposures.into_iter().for_each(|(stash, exposure)| { + total_stake = total_stake.saturating_add(exposure.total); + >::insert(current_era, &stash, &exposure); + + let mut exposure_clipped = exposure; + let clipped_max_len = T::MaxNominatorRewardedPerValidator::get() as usize; + if exposure_clipped.others.len() > clipped_max_len { + exposure_clipped.others.sort_by(|a, b| a.value.cmp(&b.value).reverse()); + exposure_clipped.others.truncate(clipped_max_len); + } + >::insert(¤t_era, &stash, exposure_clipped); + }); + + // Insert current era staking information + >::insert(¤t_era, total_stake); + + // collect the pref of all winners + for (i, stash) in elected_stashes.iter().enumerate() { >::insert(i, stash.clone()); // allocating slots for elected oracle provider - let pref = Self::validators(stash); - >::insert(¤t_era, stash, pref); - } + let pref = Self::validators(stash); + >::insert(¤t_era, stash, pref); + } - // emit event - Self::deposit_event(RawEvent::StakingElection(compute)); - - log!( - info, - "💸 new validator set of size {:?} has been elected via {:?} for era {:?}", - elected_stashes.len(), - compute, - current_era, - ); - - Some(elected_stashes) - } else { - None - } - } + // emit event + Self::deposit_event(RawEvent::StakingElection(compute)); + + log!( + info, + "💸 new validator set of size {:?} has been elected via {:?} for era {:?}", + elected_stashes.len(), + compute, + current_era, + ); + + Some(elected_stashes) + } else { + None + } + } ``` Also, slash module function should include verifier from milestone 1. ```rust= /// Slash the validator for a given amount of balance. This can grow the value - /// of the slash in the case that the validator has less than `minimum_balance` - /// active funds. Returns the amount of funds actually slashed. - /// - /// Slashes from `active` funds first, and then `unlocking`, starting with the - /// chunks that are closest to unlocking. - fn slash( - &mut self, - mut value: Balance, - minimum_balance: Balance, + /// of the slash in the case that the validator has less than `minimum_balance` + /// active funds. Returns the amount of funds actually slashed. + /// + /// Slashes from `active` funds first, and then `unlocking`, starting with the + /// chunks that are closest to unlocking. + fn slash( + &mut self, + mut value: Balance, + minimum_balance: Balance, slot: SlotIndex, - ) -> Balance { - let batch = Prices::get(_id).unwrap(); - let value = batch[_slot as usize]; - let det = Self::determine_outlier(batch, value); - ensure!(det, Error::::NotOutlier); - let pre_total = self.total; - let total = &mut self.total; - let active = &mut self.active; - - let slash_out_of = | - total_remaining: &mut Balance, - target: &mut Balance, - value: &mut Balance, - | { - let mut slash_from_target = (*value).min(*target); - - if !slash_from_target.is_zero() { - *target -= slash_from_target; - - // don't leave a dust balance in the staking system. - if *target <= minimum_balance { - slash_from_target += *target; - *value += sp_std::mem::replace(target, Zero::zero()); - } - - *total_remaining = total_remaining.saturating_sub(slash_from_target); - *value -= slash_from_target; - } - }; - - slash_out_of(total, active, &mut value); - - let i = self.unlocking.iter_mut() - .map(|chunk| { - slash_out_of(total, &mut chunk.value, &mut value); - chunk.value - }) - .take_while(|value| value.is_zero()) // take all fully-consumed chunks out. - .count(); - - // kill all drained chunks. - let _ = self.unlocking.drain(..i); - - pre_total.saturating_sub(*total) - } + ) -> Balance { + let batch = Prices::get(_id).unwrap(); + let value = batch[_slot as usize]; + let det = Self::determine_outlier(batch, value); + ensure!(det, Error::::NotOutlier); + let pre_total = self.total; + let total = &mut self.total; + let active = &mut self.active; + + let slash_out_of = | + total_remaining: &mut Balance, + target: &mut Balance, + value: &mut Balance, + | { + let mut slash_from_target = (*value).min(*target); + + if !slash_from_target.is_zero() { + *target -= slash_from_target; + + // don't leave a dust balance in the staking system. + if *target <= minimum_balance { + slash_from_target += *target; + *value += sp_std::mem::replace(target, Zero::zero()); + } + + *total_remaining = total_remaining.saturating_sub(slash_from_target); + *value -= slash_from_target; + } + }; + + slash_out_of(total, active, &mut value); + + let i = self.unlocking.iter_mut() + .map(|chunk| { + slash_out_of(total, &mut chunk.value, &mut value); + chunk.value + }) + .take_while(|value| value.is_zero()) // take all fully-consumed chunks out. + .count(); + + // kill all drained chunks. + let _ = self.unlocking.drain(..i); + + pre_total.saturating_sub(*total) + } } ``` -# Unit test - -Unit tests are all identical with the staking module's test in that all logics are identical regarding slash, reward and validation. - +# Unit test +Unit tests are all identical with the staking module's test in that all logics are identical regarding slash, reward and validation. | Number | Deliverable | Specification | | ------------- | ------------- | ------------- | | 0a. | License | Apache 2.0 | -| 0c. | Documentation | Documentation will introduce how to nominate | -| 1. | Vault module | Vault module will declare dependancy injection trait to use session callback in `pallet-staking` module and the test code with separate `SessionManager` implementation will be provided | -| 2. | Modified Staking module | `pallet_staking` module which has two config trait for rebase callback and oracle staking callback will be provided | -| 3. | Oracle module | same as staking module including curve integration but difference in slot allocation and separate slashing verifier will be included | +| 0c. | Documentation | Documentation will introduce how to nominate | +| 1. | Vault module | Vault module will declare dependancy injection trait to use session callback in `pallet-staking` module and the test code with separate `SessionManager` implementation will be provided | +| 2. | Modified Staking module | `pallet_staking` module which has two config trait for rebase callback and oracle staking callback will be provided | +| 3. | Oracle module | same as staking module including curve integration but difference in slot allocation and separate slashing verifier will be included | | 4. | Unit test code | Unit test codes in `tests.rs` in each runtime module with separate `SessionManager` implementation | | 5. | Docker | We will provide a dockerfile to demonstrate the full functionality of Standard protocol chain | - - ## Future Plans + - Add more prices to add from the oracle (e.g. stock prices, commodities, etc) provider -- Full function test on Kusama/Rococo. -- Full function test on Polkadot. +* Full function test on Kusama/Rococo. +* Full function test on Polkadot. -## Additional Information :heavy_plus_sign: +## Additional Information :heavy_plus_sign: -- Pitch: [https://whitepaper.standardprotocol.org](https://whitepaper.standardprotocol.org) +* Pitch: [https://whitepaper.standardprotocol.org](https://whitepaper.standardprotocol.org) diff --git a/applications/Starry_Network.md b/applications/Starry_Network.md index e44ac7b822b..d54cee82bbe 100644 --- a/applications/Starry_Network.md +++ b/applications/Starry_Network.md @@ -1,6 +1,5 @@ -# Open Grant Proposal +# Starry Protocol -* **Project Name:** Starry Protocol * **Proposer:** [Starry Network](https://github.com/Starry-Network) * **Payment Address:** 0xe29DE8c6088d241647e6456F8b4755a3D0f7c8B1 diff --git a/applications/SubDAO-Chrome-Extension.md b/applications/SubDAO-Chrome-Extension.md index 9d6aa17c9ca..218b582fee8 100644 --- a/applications/SubDAO-Chrome-Extension.md +++ b/applications/SubDAO-Chrome-Extension.md @@ -1,12 +1,11 @@ -# W3F Open Grant Proposal +# SubDAO Chrome Extension -* **Project Name:** SubDAO Chrome Extension * **Team Name:** [SubDAO Labs](https://github.com/subdao-network) * **Payment Address:** 3FcJjvzazcpgmJkesdAfx333fyCudxuAe7 ## Project Overview :page_facing_up: -The previous application [SubDAO Network Application - https://github.com/w3f/Grant-Milestone-Delivery/pull/114] +The previous application [SubDAO Network Application - ] ### Overview @@ -23,7 +22,7 @@ We are the team of SubDAO Labs, and we are trying to build the ecosystem for DAO SubDAO Chrome Extension provides several features, such as Polkadot Wallet, Social Network Message, and DAO Management. ![](https://raw.githubusercontent.com/SubDAO-Network/graphics/main/start.png) -**Polkadot Wallet** +**Polkadot Wallet** A wallet is integrated as an extension of chrome, and it provides wallet management. ![](https://raw.githubusercontent.com/SubDAO-Network/graphics/main/wallet.png) @@ -35,7 +34,6 @@ It supports Twitter and Facebook messages. Thanks to [MaskBook](https://mask.io) The main goal of creating SubDAO Chrome Extension is to help users to manage their DAOs with a better user experience. ![](https://raw.githubusercontent.com/SubDAO-Network/graphics/main/DAO.png) - ### Ecosystem Fit * Where and how does your project fit into the ecosystem? @@ -67,7 +65,7 @@ There are no similar projects in the Polkadot ecosystem yet, and even we already * **Contact Name:** WannaM * **Contact Email:** subdao.lab@gmail.com -* **Website:** https://subdao.network +* **Website:** ### Legal Structure @@ -78,41 +76,44 @@ There are no similar projects in the Polkadot ecosystem yet, and even we already The team is the one who applied SubDAO. -**Qiang** - - Over 13 years of experiences in Software Development - - Chief Solution Architect in Tencent - - Former Team Lead in IBM - - Core Developer of Smart Cloud / HSLT - - Code Contributor of KVM - - Community Contributor in RedHat +**Qiang** + +* Over 13 years of experiences in Software Development +* Chief Solution Architect in Tencent +* Former Team Lead in IBM +* Core Developer of Smart Cloud / HSLT +* Code Contributor of KVM +* Community Contributor in RedHat + +**Marvin Tong** -**Marvin Tong** - - Founder and CEO of Phala Network - - Former Product Manager in Tencent - - Former Product Manager in DiDi +* Founder and CEO of Phala Network +* Former Product Manager in Tencent +* Former Product Manager in DiDi -**Dajun** +**Dajun** - - Over 12 years of experiences in Development - - Former Senior Software Engineer in Alibaba - - Core Developer of Wetez and StaFi.io +* Over 12 years of experiences in Development +* Former Senior Software Engineer in Alibaba +* Core Developer of Wetez and StaFi.io -**John Xie** +**John Xie** - - Full-stack Developer - - Over 15 years of experiences in Development and Management - - Has plenty of experience in Software Development and Blockchain Development - - Currently, focus on Cross-chain technologies +* Full-stack Developer +* Over 15 years of experiences in Development and Management +* Has plenty of experience in Software Development and Blockchain Development +* Currently, focus on Cross-chain technologies -**Tallone** - - Full-stack Developer - - Over 20 years of experiences in Product Development and Management - - Has plenty of experience in Software Architecture - - Currently focused on Blockchain Development and Cross-chain Technologies +**Tallone** + +* Full-stack Developer +* Over 20 years of experiences in Product Development and Management +* Has plenty of experience in Software Architecture +* Currently focused on Blockchain Development and Cross-chain Technologies ### Team Code Repos -* https://github.com/subdao-network +* ### Team LinkedIn Profiles @@ -121,7 +122,7 @@ The team is the one who applied SubDAO. ## Development Status :open_book: -The DAO-related smart contracts are partially implemented in the SubDAO plan. Those contracts can be found in https://github.com/SubDAO-Network/subDAO-contracts. +The DAO-related smart contracts are partially implemented in the SubDAO plan. Those contracts can be found in . We have already designed some UI/UX as the shown previous section, and the full extension relies on the features provided by SubDAO. Milestone 1 of SubDAO is already finished and accepted. @@ -144,7 +145,7 @@ The Social Network provides the feature to post encrypted messages on Twitter an ### Milestone 1 - The first published version * **Estimated Duration:** 1 month -* **FTE:** 3 +* **FTE:** 3 * **Costs:** 9,000 USD | Number | Deliverable | Specification | @@ -167,9 +168,8 @@ The Social Network provides the feature to post encrypted messages on Twitter an ## Additional Information :heavy_plus_sign: -**How did you hear about the Grants Program?** +**How did you hear about the Grants Program?** We get this information from the w3f website. * We have made the SubDAO Network, and an open grant has been accepted. * Thanks to the Maskbook team who builds Mask book. - diff --git a/applications/SubDAO_Network.md b/applications/SubDAO_Network.md index 64d3dccee7c..0c3067a5ae8 100644 --- a/applications/SubDAO_Network.md +++ b/applications/SubDAO_Network.md @@ -1,6 +1,5 @@ -# Open Grant Proposal +# SubDAO -* **Project:** SubDAO * **Proposer:** [SubDAO Labs](https://github.com/subdao-network) * **Payment Address:** 3FcJjvzazcpgmJkesdAfx333fyCudxuAe7 diff --git a/applications/SubDAO_PolkaSign.md b/applications/SubDAO_PolkaSign.md index 20f303cf282..ccee7832382 100644 --- a/applications/SubDAO_PolkaSign.md +++ b/applications/SubDAO_PolkaSign.md @@ -1,36 +1,31 @@ -# W3F Open Grant Proposal +# PolkaSign -* **Project Name:** PolkaSign * **Team Name:** [SubDAO Labs](https://github.com/subdao-network) * **Payment Address:** 0x0c105bA504D1905bb47EeA57FA8694893bDEd27f ## Project Overview :page_facing_up: -The previous application [SubDAO Network Application - https://github.com/w3f/Grants-Program/pull/90] +The previous application [SubDAO Network Application - ] ### Overview -The PolkaSign is a web3.0 app for electronic agreements built on top of Polkadot Ecosystem. The electronic agreement is well-known in web2.0 instead of paper agreements used thousands of years in historical time. With electronic agreements, commercial activities become much more efficient and have a lower cost than ever. The whole human world is benefiting from electronic agreements in the past 30 years. While with more and more electronic agreements signed, more and more issues are exposed. Such as electronic agreements are stored in a centralized system, fraud in electronic agreements, and so on. With PolkaSign, anyone can sign an electronic agreement with whoever he/she wants. To sign an electronic agreement, you just need to upload your agreement document, and sign it in PolkaSign, then share the link to the co-signer. +The PolkaSign is a web3.0 app for electronic agreements built on top of Polkadot Ecosystem. The electronic agreement is well-known in web2.0 instead of paper agreements used thousands of years in historical time. With electronic agreements, commercial activities become much more efficient and have a lower cost than ever. The whole human world is benefiting from electronic agreements in the past 30 years. While with more and more electronic agreements signed, more and more issues are exposed. Such as electronic agreements are stored in a centralized system, fraud in electronic agreements, and so on. With PolkaSign, anyone can sign an electronic agreement with whoever he/she wants. To sign an electronic agreement, you just need to upload your agreement document, and sign it in PolkaSign, then share the link to the co-signer. The PolkaSign is developed with Substrate Framework based on the SubDAO Network, which can be replaced with any Substrate Based Chains, and serves any kind of orgs with electronic agreements. The goal of PolkaSign is to provide electronic agreements in a web 3.0 way, to replace the systems in web 2.0. ### Project Details -PolkaSign combines blockchain and decentralized storage to provide a reliable electronic agreements platform. With the decentralized storage system, such as IPFS, Swarm, or Crust in Polkadot ecosystem, provides the storage for the agreement files, at the current state, only PDF is supported. The information of agreement, including signature, signer, agreement files list, etc., is written with smart contract on the blockchain. The PolkaSign provides a dapp to handle agreement files, co-signer, and links, to interact with decentralized storage and smart contracts on the blockchain. The smart contracts of PolkaSign are based on ink!, any substrate-based chain can adopt these smart contracts easily. +PolkaSign combines blockchain and decentralized storage to provide a reliable electronic agreements platform. With the decentralized storage system, such as IPFS, Swarm, or Crust in Polkadot ecosystem, provides the storage for the agreement files, at the current state, only PDF is supported. The information of agreement, including signature, signer, agreement files list, etc., is written with smart contract on the blockchain. The PolkaSign provides a dapp to handle agreement files, co-signer, and links, to interact with decentralized storage and smart contracts on the blockchain. The smart contracts of PolkaSign are based on ink!, any substrate-based chain can adopt these smart contracts easily. ### Workflow Below is the workflow of how to use PolkaSign. Alice wants to sign an agreement with Bob, so she creates an electronic agreement with PolkaSign, and the electronic agreement files are stored in the decentralized storage system. Then Alice adds Bob's wallet address as co-signer, and sign the contract with her private key. After that, Alice shares the information of agreement with Bob. When Bob launches PolkaSign with his wallet, he will find the very agreement waiting for him to sign. Everything is done when Bob approves and signs the agreement send from Alice in PolkaSign. - - ![Flow-2021-07-21-2311](https://raw.githubusercontent.com/WannaM/graphics/main/Flow-2021-07-21-2311.png) - - ### Design -The home page shows the list of agreements in different statuses. The current waiting for signing agreements will be display as default, and you can switch the list by tabs or filter button in the left panel. The agreement file info, the status, and the progress of the agreement are shown in the detailed info of each agreement. The draft design of PolkaSign is shown below. +The home page shows the list of agreements in different statuses. The current waiting for signing agreements will be display as default, and you can switch the list by tabs or filter button in the left panel. The agreement file info, the status, and the progress of the agreement are shown in the detailed info of each agreement. The draft design of PolkaSign is shown below. ![Overview-2021-07-21-2052](https://raw.githubusercontent.com/WannaM/graphics/main/Overview-2021-07-21-2052.png) @@ -42,19 +37,10 @@ The second step is to add co-signers. Add any number of co-signers by filling in ![AddSigner-2021-07-21-2052](https://raw.githubusercontent.com/WannaM/graphics/main/AddSigner-2021-07-21-2052.png) - - The last step is to review the contract. When everything is ready, sign it with your wallet and share the link with co-signers. - - ![Review-2021-07-21-2052](https://raw.githubusercontent.com/WannaM/graphics/main/Review-2021-07-21-2052.png) - - - - - ### Ecosystem Fit * Where and how does your project fit into the ecosystem? @@ -84,7 +70,7 @@ The project meets the need of signing contract with decentralization, immutabili * **Contact Name:** WannaM * **Contact Email:** subdao.lab@gmail.com -* **Website:** https://subdao.network +* **Website:** ### Legal Structure @@ -95,28 +81,30 @@ The project meets the need of signing contract with decentralization, immutabili The team is the one who applied SubDAO. -**Qiang** - - Over 13 years of experiences in Software Development - - Chief Solution Architect in Tencent - - Former Team Lead in IBM - - Core Developer of Smart Cloud / HSLT - - Code Contributor of KVM - - Community Contributor in RedHat +**Qiang** -**Marvin Tong** - - Founder and CEO of Phala Network - - Former Product Manager in Tencent - - Former Product Manager in DiDi +* Over 13 years of experiences in Software Development +* Chief Solution Architect in Tencent +* Former Team Lead in IBM +* Core Developer of Smart Cloud / HSLT +* Code Contributor of KVM +* Community Contributor in RedHat -**Dajun** +**Marvin Tong** - - Over 12 years of experiences in Development - - Former Senior Software Engineer in Alibaba - - Core Developer of Wetez and StaFi.io +* Founder and CEO of Phala Network +* Former Product Manager in Tencent +* Former Product Manager in DiDi + +**Dajun** + +* Over 12 years of experiences in Development +* Former Senior Software Engineer in Alibaba +* Core Developer of Wetez and StaFi.io ### Team Code Repos -* https://github.com/subdao-network +* ### Team LinkedIn Profiles @@ -129,7 +117,7 @@ We have already designed some UI/UX as the shown previous section, and the rest ## Development Roadmap :nut_and_bolt: -We planned two major versions. +We planned two major versions. Version 1: The goal of first version is to provide a usable PolkaSign, the users can upload PDF agreement files and co-sign with other signers. It contains the features of store agreement files in decentralized storage, sign contract with smart contract, sharing the contracts waiting for sign. @@ -137,18 +125,16 @@ Version 2: The goal of second version is to provide a common PolkaSign for other ### Overview -In this application, we planned to provide the first version of PolkaSign. The main features are 1) store agreement files in decentralized storage, 2) sign contract with smart contract and 3) sharing the contracts waiting for sign. It will contains smart contract with ink!, web app as client and codes to interact with decentralized storage system. +In this application, we planned to provide the first version of PolkaSign. The main features are 1) store agreement files in decentralized storage, 2) sign contract with smart contract and 3) sharing the contracts waiting for sign. It will contains smart contract with ink!, web app as client and codes to interact with decentralized storage system. * **Total Estimated Duration:** 2 month * **Full-Time Equivalent (FTE):** 2 * **Total Costs:** 15,000 USD - - ### Milestone 1 - The first usable version * **Estimated Duration:** 2 month -* **FTE:** 2 +* **FTE:** 2 * **Costs:** 15,000 USD | Number | Deliverable | Specification | @@ -170,7 +156,7 @@ In this application, we planned to provide the first version of PolkaSign. The m ## Additional Information :heavy_plus_sign: -**How did you hear about the Grants Program?** +**How did you hear about the Grants Program?** We get this information from the w3f website. * We have made the SubDAO Network, and an open grant has been accepted. diff --git a/applications/SubGame_Network.md b/applications/SubGame_Network.md index bfba7857e8f..9676d656f7f 100644 --- a/applications/SubGame_Network.md +++ b/applications/SubGame_Network.md @@ -1,6 +1,5 @@ -# Open Grant Proposal +# SubGame Network -* **Project Name:** SubGame Network * **Team Name:** [SubGame-Network](https://github.com/SubGame-Network) * **Payment Address:** 3CK6HN4y2ZEKX7JMfdegds7B7GrUSmv65c @@ -121,16 +120,16 @@ No Legal Entity | 1a. | SubGame Node | Provide node compilation and installation instructions, start the test network| | 2a. | pallet-chips | The Chips module has been developed and you can use Chips to participate in the game | | | Storage: | `Chips get(fn get_chips): map hasher(blake2_128_concat) T::AccountId => u32;` | -| | Function: | 1)`pub fn transfer_chips(origin,chips:u32)->dispatch::DispatchResult`

          2)`pub fn sgt_to_chips(origin,pay:T::Balance)->dispatch::DispatchResult` | +| | Function: | 1)`pub fn transfer_chips(origin,chips:u32)->dispatch::DispatchResult`

          2)`pub fn sgt_to_chips(origin,pay:T::Balance)->dispatch::DispatchResult` | | 2b. | pallet-gametemplates | Complete the basic module design and development of the template library, and complete the first game template | -| | Storage:| `Templates get(fn get_templates): Vec