×
Grow Open Source Bounties Hackathons Grants Quests Kudos
Back to Grants

web3swift - Elegant Web3 functionality in Swift

Grant Accepts Any Token

Last Update: 2 months, 4 weeks ago

CLR MATCH ROUND 6

1 DAI

CURRENT MATCH

ROUND

10 DAI
2 contributors

Your contribution goes a long way!

1 DAI contribution

+ 1 DAI match

10 DAI contribution

+ 2 DAI match

100 DAI contribution

+ 3 DAI match

1,000 DAI contribution

+ 3 DAI match

Next update : 4 minutes from now | Last updated : 20 minutes ago

Description

{"ops":[{"attributes":{"alt":"matter-github-swift"},"insert":{"image":"https://raw.githubusercontent.com/matter-labs/web3swift/develop/web3swift-logo.png"}},{"insert":"\n"},{"attributes":{"header":1},"insert":"\n"},{"attributes":{"italic":true},"insert":"A full-featured native iOS/macOS library that provides Web3 functionality in Swift with native ABI parsing and smart contract interactions on the Ethereum network."},{"insert":"\n\n"},{"attributes":{"link":"https://github.com/matter-labs/web3swift"},"insert":"web3swift"},{"insert":" Overview & Project goals"},{"attributes":{"header":1},"insert":"\n"},{"insert":"\n1. Keep an up-to-date web3 library on Swift"},{"attributes":{"header":2},"insert":"\n"},{"insert":"\nContinuous support of the ongoing Ethereum ecosystem and language changes\nFor example:\n"},{"attributes":{"link":"https://docs.ens.domains/contract-api-reference/.eth-permanent-registrar"},"insert":"New ENS Permanent Registrar"},{"insert":" "},{"attributes":{"list":"bullet"},"insert":"\n"},{"attributes":{"bold":true},"insert":"had been implemented before it was released:"},{"insert":" "},{"attributes":{"link":"https://github.com/matter-labs/web3swift/pull/162"},"insert":"https://github.com/matter-labs/web3swift/pull/162"},{"attributes":{"indent":1,"list":"bullet"},"insert":"\n"},{"attributes":{"link":"https://github.com/matter-labs/web3swift/issues/145"},"insert":"Our community asked to add infura web sockets support "},{"insert":" "},{"attributes":{"list":"bullet"},"insert":"\n"},{"insert":"PR: "},{"attributes":{"link":"https://github.com/matter-labs/web3swift/pull/144"},"insert":"https://github.com/matter-labs/web3swift/pull/144"},{"insert":")"},{"attributes":{"indent":1,"list":"bullet"},"insert":"\n"},{"attributes":{"link":"https://github.com/matter-labs/web3swift/pull/141"},"insert":"Swift 5 update"},{"attributes":{"list":"bullet"},"insert":"\n"},{"insert":"\n2. Provide the easiest on-boarding for iOS/Mac developers to build web3-based DApps"},{"attributes":{"header":2},"insert":"\n"},{"insert":"\nWe provide the community with convenient tools to work with the Ethereum blockchain in pure Swift and the ability to quickly create secure decentralized applications (DApps) for Apple devices, "},{"attributes":{"bold":true},"insert":"without a need to study cryptography. This allows developers to focus on the content quality and UX/UI in DApps"},{"insert":", which in turn increases the adoption of the Ethereum blockchain and community growth.\n"},{"attributes":{"header":2},"insert":"\n"},{"attributes":{"bold":true},"insert":"Why"},{"insert":" we are applying for this Grant:"},{"attributes":{"header":2},"insert":"\n"},{"insert":"\nWe've developed web3swift as a side project. It falls in the category of public goods and isn't monetizable. Nevertheless it's useful for the ETH ecosystem.\n"},{"attributes":{"bold":true},"insert":"Now to keep the project up to date, to be on the wave of the Ethereum updates"},{"insert":", and actively support them in the library, we want to move it to crowdfunding support. \nMatter Labs would like to eventually make web3swift a completely community-driven project. Right now, Petr Korolev (one of the co-founders) has volunteered to become a full-time maintainer. He should be considered the main responsible person for this grant.\n"},{"attributes":{"header":3},"insert":"\n"},{"attributes":{"bold":true},"insert":"Who"},{"insert":" we are:"},{"attributes":{"header":2},"insert":"\n"},{"insert":"\n"},{"attributes":{"link":"https://matter-labs.io"},"insert":"Matter Labs"},{"insert":" was originally founded by the team of 3 developers/cryptographers and Ethereum contributors, multi-ETH-Hackathon-winners:\n"},{"attributes":{"link":"https://devpost.com/software/pyromania-time-to-burn"},"insert":"ETHParis (Pyromania)"},{"attributes":{"list":"ordered"},"insert":"\n"},{"attributes":{"link":"https://github.com/zdai-io/zDai"},"insert":"ETHDenver zDai (2019)+ "},{"attributes":{"link":"https://devpost.com/software/ios-native-smart-contact-interactions"},"insert":"ios-smart-contact-interactions (2018)"},{"insert":", "},{"attributes":{"list":"ordered"},"insert":"\n"},{"attributes":{"link":"https://devpost.com/software/loopr-wallet-enhancements"},"insert":"ETHSanFrancisco - Advanced DEX tools"},{"attributes":{"list":"ordered"},"insert":"\n"},{"attributes":{"link":"https://devpost.com/software/gameofsnarks_contracts"},"insert":"ETHBerlin - The Game Of Snarks"},{"attributes":{"list":"ordered"},"insert":"\n"},{"insert":"\nand recipients of "},{"attributes":{"link":"https://blog.ethereum.org/2019/02/21/ethereum-foundation-grants-program-wave-5/"},"insert":"ETH Foundation Grants (Wave 5)"},{"insert":"\n\nResponsible people:"},{"attributes":{"header":2},"insert":"\n"},{"insert":"\n   "},{"attributes":{"bold":true},"insert":"Petr Korolev:"},{"insert":" Architect, tech coordinator(https://github.com/skywinder). The main responsible person for this grant"},{"attributes":{"list":"bullet"},"insert":"\n"},{"insert":"   "},{"attributes":{"bold":true},"insert":"Alex Vlasov:"},{"insert":" Original author, now focuses on cryptography & research of Matter Labs (https://github.com/shamatar). Will help with fundamental questions"},{"attributes":{"list":"bullet"},"insert":"\n"},{"insert":"   "},{"attributes":{"bold":true},"insert":"Anton Grigorev:"},{"insert":" Core contributor and community supporter, original co-maintainer (https://github.com/BaldyAsh). Can devote free time and experience to the project"},{"attributes":{"list":"bullet"},"insert":"\n"},{"attributes":{"header":2},"insert":"\n"},{"insert":"Current state"},{"attributes":{"header":2},"insert":"\n"},{"insert":"\nOriginally web3swift was made by Alex Vlasov as a hobby project and later supported by him and Anton Grigorev.\nNow the development is effectively stalled cause original maintainers are a hundred percent busy with Matter Labs' original products.\n\nThe project is already in great demand: many teams have "},{"attributes":{"link":"https://github.com/matter-labs/web3swift#projects-that-using-web3swift"},"insert":"been using our code in production"},{"insert":". It was also an essential part of several winning projects at ETHBerlin 2018 and ETHDenver 2019.\nNowadays, it is one of the most used iOS/macOS libraries for Ethereum with the community involved.\n\nHere is a list of examples: "},{"attributes":{"link":"https://github.com/matter-labs/web3swift#projects-that-using-web3swift"},"insert":"Apps-using-web3swift"},{"insert":"\n\n🚀 "},{"attributes":{"link":"https://github.com/matter-labs/web3swift"},"insert":"web3swift core features"},{"insert":"\n - ✅ Swift implementation of [web3.js](https://github.com/ethereum/web3.js/) functionality :zap:"},{"attributes":{"code-block":true},"insert":"\n"},{"insert":" - ✅ Interaction with remote node via JSON RPC :thought_balloon:"},{"attributes":{"code-block":true},"insert":"\n"},{"insert":" - ✅ Local keystore management (`geth` compatible)"},{"attributes":{"code-block":true},"insert":"\n"},{"insert":" - ✅ Smart-contract ABI parsing :book:"},{"attributes":{"code-block":true},"insert":"\n"},{"insert":" - ✅ ABI deconding"},{"attributes":{"code-block":true},"insert":"\n"},{"insert":" - ✅ (ENS) support"},{"attributes":{"code-block":true},"insert":"\n"},{"insert":" - ✅ Interactions (read/write to Smart contracts) :arrows_counterclockwise:"},{"attributes":{"code-block":true},"insert":"\n"},{"insert":" - ✅ Complete Infura Ethereum API support"},{"attributes":{"code-block":true},"insert":"\n"},{"insert":" - ✅ Patial Websockets API support"},{"attributes":{"code-block":true},"insert":"\n"},{"insert":" - ✅ Parsing TxPool content into native values"},{"attributes":{"code-block":true},"insert":"\n"},{"insert":" - ✅ Event loops functionality"},{"attributes":{"code-block":true},"insert":"\n"},{"insert":" - ✅ Supports Web3View - `WKWebView` with injected \"web3\" provider"},{"attributes":{"code-block":true},"insert":"\n"},{"insert":" - ✅ Possibility to add / remove \"middleware\" that intercepts, modifies and even cancel transaction workflow on stages \"before assembly\", \"after assembly\" and \"before submission\""},{"attributes":{"code-block":true},"insert":"\n"},{"insert":" - ✅ Literally following the BIP/EIP standards: BIP32, BIP39, BIP44, EIP-20, EIP-67, EIP-155, EIP-681, EIP-721, EIP-165, EIP-777, EIP-820, EIP-888, EIP-1400, EIP-1410, EIP-1594, EIP-1643, EIP-1644, EIP-1633, EIP-721x, EIP-1155, EIP-1376, ST-20"},{"attributes":{"code-block":true},"insert":"\n"},{"insert":" - ✅ RLP encoding"},{"attributes":{"code-block":true},"insert":"\n"},{"insert":" - ✅ Batched requests in concurrent mode"},{"attributes":{"code-block":true},"insert":"\n"},{"insert":" - ✅ Base58 encoding scheme"},{"attributes":{"code-block":true},"insert":"\n"},{"insert":" - ✅ Formatting to and from Ethereum Units"},{"attributes":{"code-block":true},"insert":"\n"},{"insert":" - ✅ Comprehensive Unit and Integration Test Coverage"},{"attributes":{"code-block":true},"insert":"\n"},{"attributes":{"header":2},"insert":"\n"},{"insert":"Things we have already built:"},{"attributes":{"header":2},"insert":"\n"},{"insert":"Complete Infura Ethereum API and websockets support"},{"attributes":{"list":"bullet"},"insert":"\n"},{"insert":"Complete ENS support - a secure & decentralized way to address resources both on and off the blockchain using simple, human-readable names"},{"attributes":{"list":"bullet"},"insert":"\n"},{"insert":"Support of a vast number of EIPs compared to competitors"},{"attributes":{"list":"bullet"},"insert":"\n"},{"insert":"Web3View functionality - WKWebView with injected \"web3\" provider"},{"attributes":{"list":"bullet"},"insert":"\n"},{"insert":"Smart-contracts ABI parsing"},{"attributes":{"list":"bullet"},"insert":"\n"},{"insert":"Parsing of TxPool content into native values (ethereum addresses and transactions) - easy to get pending transactions from the local node"},{"attributes":{"list":"bullet"},"insert":"\n"},{"insert":"Event loops functionality"},{"attributes":{"list":"bullet"},"insert":"\n"},{"insert":"Possibility to add or remove \"middleware\" that intercepts / modifies / cancels the transaction workflow on stages \"before assembly\", \"after assembly\" and \"before submission\""},{"attributes":{"list":"bullet"},"insert":"\n"},{"insert":"Batched requests in concurrent mode"},{"attributes":{"list":"bullet"},"insert":"\n"},{"insert":"\n"},{"attributes":{"italic":true},"insert":"You can find"},{"insert":" a f"},{"attributes":{"italic":true},"insert":"ull list of features in repo docs."},{"insert":"\n"},{"attributes":{"header":2},"insert":"\n"},{"insert":"Our next steps & development milestones:"},{"attributes":{"header":2},"insert":"\n"},{"attributes":{"bold":true,"link":"https://github.com/matter-labs/web3swift/issues/184"},"insert":"Modularity with the basic Web3 subspec/SPM"},{"insert":" (the most basic functions like transaction signing and interacting with an http rpc server) and other modules with additional functionality. This allows to use the library to work with different blockchains and layer 2 solutions."},{"attributes":{"list":"bullet"},"insert":"\n"},{"attributes":{"link":"https://github.com/matter-labs/web3swift/issues/185"},"insert":"Support of IPFS via Infura public IPFS gateway"},{"attributes":{"list":"bullet"},"insert":"\n"},{"attributes":{"link":"https://github.com/matter-labs/web3swift/issues/10"},"insert":"Objective-C - proxy bridge to build DApp on Objective-C"},{"attributes":{"list":"bullet"},"insert":"\n"},{"insert":"Implementation of the "},{"attributes":{"bold":true},"insert":"Bellman library functionality"},{"insert":" for generating and "},{"attributes":{"link":"https://github.com/matter-labs/bellman"},"insert":"validating proofs based on zkSNARKs"},{"attributes":{"list":"bullet"},"insert":"\n"},{"attributes":{"link":"https://github.com/matter-labs/web3swift/issues/47"},"insert":"Support of other blockchains (Ripple, Bitcoin, EOS etc.)"},{"attributes":{"list":"bullet"},"insert":"\n"},{"insert":"Support of L2 solutions"},{"attributes":{"list":"bullet"},"insert":"\n"},{"insert":"\n"}]}

Activity Feed