All Projects → natclark → safari-wallet

natclark / safari-wallet

Licence: GPL-3.0 license
Ethereum browser extension wallet for Safari on macOS & iOS.

Programming Languages

swift
15916 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to safari-wallet

Svadilfari
Gesture Control for Safari on iOS and iPadOS
Stars: ✭ 52 (-7.14%)
Mutual labels:  safari-extension
SponsorBlockSafari
Safari web-extension glue code for SponsorBlock
Stars: ✭ 27 (-51.79%)
Mutual labels:  safari-extension
Overamped
Safari Web Extension to disable AMP ⚡️
Stars: ✭ 32 (-42.86%)
Mutual labels:  safari-extension
joof
🌎💨 Add custom JavaScript or CSS to any webpage
Stars: ✭ 26 (-53.57%)
Mutual labels:  safari-extension
session-buddy
An ultra-light Safari extension helps you save open tabs as collections that can be easily restored later
Stars: ✭ 108 (+92.86%)
Mutual labels:  safari-extension
Boundary
Boundary is a CSS+Javascript library for Chrome extension developers to easily create HTML elements that won’t affect or be affected by the current webpage’s CSS. Strongly recommended if you are considering adding a sticker, a sidebar or any overlay box using content script.
Stars: ✭ 59 (+5.36%)
Mutual labels:  safari-extension
Rabby
The game-changing wallet for Ethereum and all EVM chains
Stars: ✭ 562 (+903.57%)
Mutual labels:  ethereum-wallet
HighlightJSON
A tiny Safari Web Extension for presenting highlighted JSON files
Stars: ✭ 30 (-46.43%)
Mutual labels:  safari-extension
refined-github
Browser extension that simplifies the GitHub interface and adds useful features
Stars: ✭ 19,066 (+33946.43%)
Mutual labels:  safari-extension
xcloud-keyboard-mouse
Chrome extension for controlling Xbox Cloud Gaming (Project xCloud) using a keyboard and mouse
Stars: ✭ 78 (+39.29%)
Mutual labels:  safari-extension
Stay
Stay is a local userscript manager and an extension sample for Safari on iOS/iPadOS.
Stars: ✭ 672 (+1100%)
Mutual labels:  safari-extension
Bonjourr
Minimalist & lightweight startpage inspired by iOS
Stars: ✭ 279 (+398.21%)
Mutual labels:  safari-extension
pinboard-safariextension
📌 Pinboard Safari extension for bookmarking the current page.
Stars: ✭ 16 (-71.43%)
Mutual labels:  safari-extension
Valets
Command line wallets generator (Bitcoin, Bitcoin cash, Ethereum, Ethereum classic, Dash, Zcash, Dogecoin, Litecoin, Navcoin, Vertcoin, Reddcoin, Emercoin)
Stars: ✭ 46 (-17.86%)
Mutual labels:  ethereum-wallet
refined-github
Safari extension that simplifies the GitHub interface and adds useful features
Stars: ✭ 21 (-62.5%)
Mutual labels:  safari-extension
etherwallet
Cross platform mobile Wallet app for Ethereum
Stars: ✭ 29 (-48.21%)
Mutual labels:  ethereum-wallet
no-t.co
Replace all t.co links with their original, expanded URLs. Update: fixed in Safari as of 5/19/2016!
Stars: ✭ 24 (-57.14%)
Mutual labels:  safari-extension
Android-Wallet-Token-ERC20
Android Wallet (Token ERC20)
Stars: ✭ 30 (-46.43%)
Mutual labels:  ethereum-wallet
ethereum-kit-ios
Comprehensive EVM SDK (ex: Ethereum, Binance Smart Chain) for iOS, implemented on Swift. Create wallets, watch wallets (read-only), sync transactions, filter transactions by type (erc20, bep20, swap transactions etc.), swap using native DEX protocols, easily extendable to work with custom smart contracts, and full support for EIP1159.
Stars: ✭ 148 (+164.29%)
Mutual labels:  ethereum-wallet
github-toc
📖 Browser extension that adds a table of contents to GitHub repos, wikis and gists.
Stars: ✭ 71 (+26.79%)
Mutual labels:  safari-extension

Safari Wallet

For modularity purposes, this project has been split up into two new repositories:

This is an experiment to see whether we can build a viable browser extension Ethereum wallet for Safari on macOS and especially iOS.

Overview

A diagram might be useful, but basically the current plan/rundown is:

  • The window.ethereum object (EIP-1193 JavaScript API) will be injected into each page. This way, the wallet will automatically work with all apps/dApps that support MetaMask.

  • For the interface, the native Safari extension popover is used, in tandem with the WebExtensions API.

The bulk of the development is currently going on in the Shared (App and Extension) and Shared (App) folders.

It is important to read these files:

  • Shared (App) > Shared (Extension) > Resources > README.md

  • Shared (App) > Shared (Extension) > Resources > ethereum > README.md

  • test-dapp > README.md

Popover

Setting up the popover

  1. Open this repo as a project in Xcode

  2. From the menu bar: File > Packages > Update to Latest Package Versions

  3. In the leftmost top bar breadcrumb, which should be on "macOS" by default, switch it to "iOS"

  4. Set the following breadcrumb to a mobile device, perhaps "iPhone 13 Pro"?

  5. Click the play button to start the emulator

  6. Once the emulator has loaded (it might take a few minutes), open the Settings app

  7. Settings > Safari > Extensions > Wallet Extension

  8. Switch to on

Then, to test the popover, navigate to https://safari-wallet-test-dapp.vercel.app in Safari (or http://localhost:3000/, if you're running the local dev server)

You can also set up the local dev server here (WIP): https://github.com/natclark/safari-wallet-test-dapp

Keys

Use your own Alchemy or Infura keys by creating a file called keys.swift in the Shared (App and Extension) directory. The filename is added to .gitignore so won't be committed.

// Shared (App and Extension)/keys.swift
let alchemyRopstenKey: String = "<YOUR ALCHEMY ROPSTEN KEY HERE"
let alchemyMainnetKey: String = "<YOUR ALCHEMY MAINNET KEY HERE>"
let infuraRopstenKey: String = "<YOUR INFURA ROPSTEN KEY HERE>"
let infuraMainnetKey: String = "<YOUR INFURA MAINNET KEY HERE>"
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].