Skip to content
This repository has been archived by the owner on Jun 9, 2023. It is now read-only.

maurovz/Swift-WalletConnect

Repository files navigation


Logo

Glaip - an easy iOS Web3 Connector

A Web3 tool for your native iOS app

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

[Product Name Screen Shot]

The purpuse of Glaip is to make Web3 integrations easier in your native mobile apps. Glaip takes care of all the wallet configuration so you can focus on building.

I created this project because I spent a lot of time trying to integrate my native apps into Web3 and found there was little documentation and tools to solve this problem.

Some of the goals for this project are:

  • Crosschain support
  • Non-custodial wallet support
  • Crosschain Web3 API

To make this project great, I will need community feedback. Please feel free to post an issue or reach out on Twitter!

(back to top)

Getting Started

For this current versión we only support MetaMask login using the WalletConnectSwift framework.

Installation

Add this package to your porject (In Xcode: Add Packages -> Enter the following url in the search fill, Select Glaip)

https://github.com/maurovz/Glaip.git

(back to top)

Usage

For a complete login flow see the Example Project

You can initiate Glaip in SwiftUI as follow:

   @ObservedObject private var glaip = Glaip(
     title: "Glaip Demo App",
     description: "Demo app to demonstrate Web3 login",
     supportedWallets: [.WalletConnect])
  

Adding the connect event to a SwiftUI button:

Button("Connect to MetaMask") {
   glaip.loginUser(type: .MetaMask) { result in
     switch result {
     case .success(let user):
       print(user.wallet.address)
     case .failure(let error):
       print(error)
     }
  }
}
  

Roadmap

  • Example project for SwiftUI
  • What the community requests
  • Example project for UIKit
  • MagicLink submodule
  • Non-custorial support

See the open issues to see if your problem is listed or feel free to create one.

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the Apache 2.0 License.

(back to top)

Contact

Mauricio Vazquez - @_mau_vaz

Project Link: https://github.com/maurovz/Glaip

(back to top)

Acknowledgments

(back to top)