Skip to content
Yaroslav edited this page Nov 23, 2022 · 23 revisions

List of alternatives.

There are several alternative open-source projects in the web3 & swift field. But our library is the most technologically advanced and adopted by community.

We are keep growing. Thank you for your support!

Star History Chart

  1. πŸš€ web3swift (3.0.6) - current repo πŸš€

    • Web3 implementation in vanilla Swift for iOS ans macOS
    • pod 'web3swift'
      • βœ… Swift implementation of web3.js functionality ⚑

      • βœ… Interaction with remote node via JSON RPC πŸ’­

      • βœ… Local keystore management (geth compatible)

      • βœ… Smart-contract ABI parsing πŸ“–

      • βœ… ABI deconding

      • βœ… Ethereum Name Service (ENS) support

      • βœ… Interactions (read/write to Smart contracts) πŸ”„

      • βœ… Complete Infura Ethereum API support

      • βœ… Patial Websockets API support

      • βœ… Parsing TxPool content into native values

      • βœ… Event loops functionality

      • βœ… Supports Web3View - WKWebView with injected "web3" provider

      • βœ… Possibility to add / remove "middleware" that intercepts, modifies and even cancel transaction workflow on stages "before assembly", "after assembly" and "before submission"

      • βœ… 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

      • βœ… RLP encoding

      • βœ… Batched requests in concurrent mode

      • βœ… Base58 encoding scheme

      • βœ… Formatting to and from Ethereum Units

      • βœ… Comprehensive Unit and Integration Test Coverage

  2. Boilertalk/Web3.swift

    • Web3 library for Swift. Sign transactions and interact with Smart Contracts in the Ethereum Network.
    • pod 'Web3', '~> 0.4.1'
    • Ethereum Web3 Swift library implementation (the latest commit was on 1 Sep 2018) with the following unrealized features:
    • βœ… realized modularity
    • ❌ no ENS
    • ❌ no TxPool
    • ❌ no EIP681 support
    • ❌ no event loops
    • ❌ less supported ERCs (only ERC-20, ERC-165, ERC-721)
  3. Web3Swift.io (0.0.3)

    • Web3 library for Swift. Construct and sign transactions, interact with smart contracts.
    • pod 'Web3Swift.io', '~> 0.0.3'
    • ❌ no TxPool
    • ❌ no ENS
    • ❌ no EIP681 support
    • ❌ no event loops
    • ❌ less support ERCs (only ERC-20)
  4. web3swift.pod (2.1.10)

    • __Web3 implementation in pure Swift for iOS, macOS, tvOS, watchOS and Linux
    • 🧊 development is frozen. We continue our work in this repo.
    • ❌ unreliable and too bad EIP681 parsing: BANKEX, MATTER
    • ❌ inconvenient, concise way to implement TxPool on promises: BANKEX, MATTER
    • ❌ not support ERCs
  5. MercuryProtocol web3.swift - just currently unsupported (the latest commit was on 8 Mar 2018) Ethereum Web3 Swift library implementation with the following unrealized features:

    • ❌ no ERCs support
    • ❌ no TxPool
    • ❌ no Smart contracts interaction
    • ❌ no ENS
    • ❌ no EIP-681 support
    • ❌ no event loops
  6. web3.swift (0.3.2)

    • Ethereum API for Swift
    • pod 'web3.swift', '~> 0.3.2'
  7. Web3Sw1ft (0.0.1)

    • Web3 library in Swift
    • pod 'Web3Sw1ft', '~> 0.0.1'

This is an open wiki page. Feel free to add/update the state of the libraries. πŸ‘