All Projects → matter-labs-archive → FranklinPay-iOS

matter-labs-archive / FranklinPay-iOS

Licence: MIT license
Secure Dollar Wallet

Programming Languages

javascript
184084 projects - #8 most used programming language
swift
15916 projects

Projects that are alternatives of or similar to FranklinPay-iOS

Celo Monorepo
Official repository for core projects comprising the Celo platform
Stars: ✭ 269 (+668.57%)
Mutual labels:  dapp, smart-contracts, wallet
Ethereumbook
Mastering Ethereum, by Andreas M. Antonopoulos, Gavin Wood
Stars: ✭ 11,663 (+33222.86%)
Mutual labels:  dapp, smart-contracts
Augmint Web
Augmint Web Frontend
Stars: ✭ 15 (-57.14%)
Mutual labels:  dapp, smart-contracts
Eth95
🛠️ A smart contract UI for your Ethereum dapp project
Stars: ✭ 139 (+297.14%)
Mutual labels:  dapp, smart-contracts
Go Iost
Official Go implementation of the IOST blockchain
Stars: ✭ 523 (+1394.29%)
Mutual labels:  dapp, smart-contracts
Eth.social
An Ethereum dApp for posting social events.
Stars: ✭ 17 (-51.43%)
Mutual labels:  dapp, smart-contracts
Awesome Solidity
A curated list of awesome Solidity resources
Stars: ✭ 111 (+217.14%)
Mutual labels:  dapp, smart-contracts
Upchain Wallet
以太坊钱包(支持DApp 浏览器)- A Powerful Ethereum Android Wallet & DApp Browser
Stars: ✭ 359 (+925.71%)
Mutual labels:  dapp, wallet
Dasp
The Decentralized Application Security Project
Stars: ✭ 166 (+374.29%)
Mutual labels:  dapp, smart-contracts
Unstoppable Wallet Android
A secure and decentralized Bitcoin and other cryptocurrency wallet for Android phones. Supports Bitcoin, Ethereum, EOS, Binance Chain, Bitcoin Cash, DASH, ...
Stars: ✭ 165 (+371.43%)
Mutual labels:  dapp, wallet
Unstoppable Wallet Ios
A secure and decentralized Bitcoin and other cryptocurrency wallet for iPhone. Supports Bitcoin, Ethereum, EOS, Binance Chain, Bitcoin Cash, DASH, ...
Stars: ✭ 180 (+414.29%)
Mutual labels:  dapp, wallet
Eth Crypto
Cryptographic javascript-functions for ethereum and tutorials to use them with web3js and solidity
Stars: ✭ 420 (+1100%)
Mutual labels:  dapp, smart-contracts
Buidl
A browser-based IDE for creating, deploying, and sharing blockchain apps (DApps, or decentralized apps). Publish your first blockchain DApps in 5 minutes! Here is how: https://docs.secondstate.io/buidl-developer-tool/getting-started
Stars: ✭ 376 (+974.29%)
Mutual labels:  dapp, smart-contracts
Snax
Decentralized Social Media Overlay
Stars: ✭ 18 (-48.57%)
Mutual labels:  dapp, smart-contracts
Solhint
Solhint is an open source project created by https://protofire.io. Its goal is to provide a linting utility for Solidity code.
Stars: ✭ 363 (+937.14%)
Mutual labels:  dapp, smart-contracts
Trust Wallet Ios
📱 Trust - Ethereum Wallet and Web3 DApp Browser for iOS
Stars: ✭ 1,228 (+3408.57%)
Mutual labels:  dapp, wallet
Web3swift
Elegant Web3js functionality in Swift. Native ABI parsing and smart contract interactions.
Stars: ✭ 237 (+577.14%)
Mutual labels:  dapp, smart-contracts
Embark
Framework for serverless Decentralized Applications using Ethereum, IPFS and other platforms
Stars: ✭ 3,478 (+9837.14%)
Mutual labels:  dapp, smart-contracts
Love Ethereum
区块链学习
Stars: ✭ 323 (+822.86%)
Mutual labels:  dapp, smart-contracts
Alpha Wallet Ios
An advanced Ethereum mobile wallet
Stars: ✭ 140 (+300%)
Mutual labels:  dapp, wallet


The Matter Plasma Implementation

ContractTX & Block RLPAPIJS LibSwift LibBlock ExplorerWeb AppiOS App

Franklin Pay - Secure Dollar Wallet

Freedom is essential. Privacy Matter!

What is it?

  • Easy and secure way to send money through Matter Plasma
  • Universal way to send tokens throught Ethereum blockchain
  • Easy way to sign transaction from any apps:
    • mobile
    • web
    • dApps
  • Single and secure place to store your private key

So, let's go deeper into those statements:

Features

  • Complete support the Matter Plasma to send money secure, easy and fast
  • Let you be free from hard-bonded solution like (Laptop + Chrome + MetaMask + Private key) binding.
  • No private key sharing needed! Store it at one place, sign anywhere!
  • Full support of EIP-681 (URI scheme) Even more:
  • Sign transactions and call arbitrary contract's methods via deep links

Purpose

The solution that we BUIDL:

  • Mainly this is the best way to use the Matter plasma to make payments
  • Also it is the single keystore that accessible from any other applications via deep links and QR codes. It is the most advanced regarding security, and also quite user-friendly

Contribution:

We are using Swiftlit along with Travis in our project, so you should better have swiftlint installed locally on your machine before contributing. Don't be afraid, it's really simple to install. Just run brew install swiftlint. If you don't have homebrew installed - run ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" firstly.

In order to manually run autocorrection, print swiftlint autocorrect in the project folder via terminal. However, every time you build the project this command will be called automatically.

Usage of the deeplinks

Examples of EIP681 links:

  • If you want to specify gasPrice, gasLimit just add it to the end of the link:
"ethereum:0xaaf3A96b8f5E663Fc47bCc19f14e10A3FD9c414B@4/pay?uint256=100000&value=1000&gasPrice=700000&gasLimit=27500"

Here pay is just a method on smart contract with the given address and @4 specifies network id(which is Rinkeby in that case). uint256=1000000 is a parameter for the given method, uint256 is a type of the parameter and 1000000 is a value of that parameter. value=1000 is amount in Wei to send to smart contract. 1 ETH = 10^18 Wei.

in swift app:

//following by EIP-681:
let urlString = "ethereum:0xaaf3A96b8f5E663Fc47bCc19f14e10A3FD9c414B/pay?uint256=100000&value=1000"
UIApplication.shared.open(URL(string: urlString)!, options: [:], completionHandler: nil)

We have done it in PR: Peepeth client PR

Web app:

Pull request, that contains helper functions to work with ethereum links according to eip-681

Smart contract interaction:

Smart contract itself:

pragma solidity ^0.4.23;

contract Shop {
    mapping(uint256 => bool) invoices;
    
    event InvoicePayed(uint256 invoice);

    function pay(uint256 _invoice) public payable {
        require (!invoices[_invoice] && msg.value > 0);
        invoices[_invoice] = true;
        emit InvoicePayed(_invoice);
    }
}

String to encode into QR: "ethereum:0xaaf3A96b8f5E663Fc47bCc19f14e10A3FD9c414B/pay?uint256=100000&value=1000"

Plans (TBD)

During the hackathon, we have covered the whole iOS infrastructure (cross-app transaction signing and sign via QR-code for the calls outside of the phone). Meanwhile, we want to continue working on that idea and adapt it to the whole Ethereum ecosystem, i.e., BUIDL set of the libraries to full reference of FinTech ecosystem::

  • Android (TBD)
  • JS(PR is during development already)
  • IoT libraries + NFC support

Final Notes:

All in all, with all those things that will be implemented we will make payments easy, secure and fast

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].