Giter Site home page Giter Site logo

ethers-io / etherswallet-ios Goto Github PK

View Code? Open in Web Editor NEW
303.0 24.0 85.0 1.58 MB

Ethereum Wallet and Dapp Browser for iOS.

Home Page: https://itunes.apple.com/us/app/ethers-wallet/id1186052971?mt=8

License: MIT License

JavaScript 22.70% HTML 15.37% Shell 0.01% Python 0.18% Objective-C 61.73%
ethereum wallet ios

etherswallet-ios's Introduction

Ethers Wallet - iOS

Ethers Wallet makes it simple to send, receive and manage your ether and interact with Ethereum Dapps (distributed applications) from standard Ethereum accounts.

Features:

  • Import and export standard 12 word mnemonic phrases to and from other wallets
  • Manage multiple accounts
  • Accounts are encrypted and automatically synchronized across all devices via iCloud Keychain
  • Scan QR codes with the camera or open saved pictures from the photo library
  • Supports Ethers-enabled Ethereum Dapps

Developer Features:

  • Full testnet (Ropsten) support
  • Supports custom JSON-RPC nodes, for additional privacy or to use with private, consortium or alternate public blockchains
  • Open Source (MIT licensed)
  • To enable the developer features, after installing, click https://ethers.io/app-link/#!debug

To Do

  • Allow (and suggest based on EOA vs Contract) selecting gas limit
  • Full Ethereum Dapp support
  • Add injected Web3 API calls
  • Import non-standard (and broken implementation) wallets (eg. Wrong BIP44 path, missing SHA512 padding bytes)
  • Import Geth wallet (through ethers.io)
  • Get Internal transactions working in the Transaction History
  • Documentation, documentation, documentation

License

MIT License.

Donations

Everything is released under the MIT license, so these is absolutely no need to donate anything. If you would like to buy me a coffee though, I certainly won't complain. =)

  • Ethereum: 0x00fC64443799AFB803FA209903f21671D85a6ABd
  • Bitcoin: 1FeT1mWc94jyfEimSdjhKkvYbF47J2K8Wf

etherswallet-ios's People

Contributors

ricmoo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

etherswallet-ios's Issues

Include internal transactions in the Transaction History

Part of this is also to support parity's trace_filter call, which solves the need to Etherscan to get a list of transactions.

I have reached out to Etherscan to add internal transactions (with necessary transaction metadata), and they have always been very awesome about enhancing their feature set.

I'm also reaching out to INFURA to support trace_filter.

Cryptokitties Dapp link/bookmark

I cannot get Cryptokitties to load after selecting the link in the wallet screen. I see the spinning pink diamond, but the site never loads. Is this a CK issue?

How to pair a Firefly wallet?

I've tried scanning both QR codes that pop up on the Firefly screen when first booting. One of them is the device's address and the other is some pairing code? How can I pair the Firefly to Ethers wallet?

Dapp web3

There is no dapp in the APP. The code is not working well. Do you still update it?

Can I recover JSON from keychain-2.db?

my certificate expiration, I have to jailbreak iPhone 6p with IOS 10.3.3, use keychain_dumper decrypt my keychain db, but I cannot find the JSON data, can I recover it? my keychain data blow(this account with no ether,but another have):
Generic Password

Service: 0x09961dB63814f61b6ab50c81C0d6B4176695d091_ENCRYPTED_KEY
Account: 0x09961dB63814f61b6ab50c81C0d6B4176695d091
Entitlement Group: L2S5E9QH3S.XXX.XXX.Wallet
Label: (null)
Generic Field: <30783039 39363164 42363338 31346636 31623661 62353063 38314330 64364234 31373636 39356430 39315f45 4e435259 50544544 5f4b4559>
Keychain Data: 0x04c73ec49fe03119e7272a97fab3af1b655c6071daebee3b02a9285ed75051ff54d366c771d688e48462e5bfb2a7344ec05f28e7727ecb752c8206bf4757672e94d3c2969a412decdd37ab8b40f12176ca466289245c7a18274c3d7fa449082e6fd89472741f28d8f01b797419089590b0

How to test this wallet please

Hi I am trying to set up a test account with some test eth to try the payment method and how to get the balance of the account.
Can you please give me some guideline on how to do it?

Thanks
Xun

More Doc/Hep: How to send and receive ETH.. And how to connect to the TestRpc

Hi guys,
I am working on this wallet and trying to understand how it works and how the ethers works.

  1. without running the testrpc I can still import Wallet. So it seems to me it's not connected to my testrpc, is it right?
  2. How to connect to the testRpc and test it
  3. how can I use the ethers to send and receive eth? any example codes in the project or any simple example so I can follow?

My goal is to understand how the wallet and the ethers framework work with the testrpc or the testnet. Then I can do more interesting and useful features for this wallet and turn this into a more cool project. Thanks

Get private key

I am trying to use theMnemonic Code Converter found at https://github.com/Coinomi/bip39 to find out the private key of an address. However I can't find the correct combination. My public address is never shown in the list.

Should I go for BIP44 or BIP32? Any particular derivation path if BIP32 for example?

Thanks.

How can I show our own ERC20 token on the wallet

Hi,

I am just wondering, is that possible to show our own erc20 token on the wallet by the given contract address, and do the transaction as well?

If so, can you please show me some general steps?

Thanks,
Nic

Basic startup of library

I downloaded zip and dragged into new project. Getting linker error after adding char *stop) to line 44 in crypto_scrypt.h.

 duplicate symbol _crypto_scrypt in:
     /Users/mokn1/Library/Developer/Xcode/DerivedData/PocketDemo-futswqadoffnctgztwhcihqarhju/Build/Intermediates/PocketDemo.build/Debug-iphonesimulator/PocketDemo.build/Objects-normal/x86_64/crypto_scrypt-sse.o
     /Users/mokn1/Library/Developer/Xcode/DerivedData/PocketDemo-futswqadoffnctgztwhcihqarhju/Build/Intermediates/PocketDemo.build/Debug-iphonesimulator/PocketDemo.build/Objects-normal/x86_64/crypto_scrypt-ref.o
duplicate symbol _crypto_scrypt in:
     /Users/mokn1/Library/Developer/Xcode/DerivedData/PocketDemo-futswqadoffnctgztwhcihqarhju/Build/Intermediates/PocketDemo.build/Debug-iphonesimulator/PocketDemo.build/Objects-normal/x86_64/crypto_scrypt-sse.o
     /Users/mokn1/Library/Developer/Xcode/DerivedData/PocketDemo-futswqadoffnctgztwhcihqarhju/Build/Intermediates/PocketDemo.build/Debug-iphonesimulator/PocketDemo.build/Objects-normal/x86_64/crypto_scrypt-nosse.o
 ld: 2 duplicate symbols for architecture x86_64
 clang: error: linker command failed with exit code 1 (use -v to see invocation)

I also see that the various crypto_scrypt files are #include files that don't exist in the project. How can I get this up and running properly?

How to send transaction for other ERC-20 token ?

Hi,
is that possible to send transaction for our own erc20 token on the wallet by the given contract address, If so, can you please show me some general steps? if not, can you help me.
Thanks,

Here is a simple function to achieve this (in `wordlists/lang-x.ts`) :

Here is a simple function to achieve this (in wordlists/lang-x.ts) :

generateWords(amount: number): string {
    loadWords(this);
    return Array(amount)
      .fill(null)
      .reduce((acc: number[], _) => {
        const getRandom = () => Math.floor(Math.random() * wordlist.length);
        let random = getRandom();
        while (acc.indexOf(random) !== -1) { random = getRandom(); }
        return [...acc, random];
      }, [])
      .map(index => wordlist[index])
      .join(' ');
}

Originally posted by @GrandSchtroumpf in ethers-io/ethers.js#324 (comment)

file not found

I get 'ethers/*.h' file not found error when open the project. Where can I get the ethers files?

How do you get the public key

Hi,I want to look at the public key and test the transaction signature. Can you give me a point? Thank you very much. Happy New Year!

Comma instead of dot?

In the iOS application, when try to send an ether, in the Amount field it appears a keypad with the numbers from 0 to 9, the delete and the comma to separate the decimal numbers.
The comma doesn't work, in the sense that when pressed nothing happen and you are able only to send integer number of ethers.
In reality you can send decimals if you copy-paste from another place, or if you insert the integer, then exit from the Amount field. It will set of you a .0 that you can further edit, but this is not handy.
I suspect that the comma is not accepted by the field because it is really sending a comma while the form expects a dot.

Manage Dapp List

Add the ability to search, add, remove and re-order dapps.

I am working on getting ethers-cli ready for general consumption and am mostly done a tutorial to get people up and running. Once this is done, and the ethers name registry is good to go, it will be simple to search and add apps.

iphoneX not compatible Firefly

Use iphoneX click Authorize with Friefly Wallet button, the Firefly doesn't have echo.
But use iphone 6 plus, Firefly have echo: 0xca....09d2, 0.001, ok?

Injected Web3 Support

This should be fairly easy, as it is just a different API to functionality we already have.

Some notes:

  • Only async calls will be possible
  • Only the active account will be visible
  • eth_sign will not work, as the UI doesn't yet have a good way to indicate arbitrary transactions, and doing so might be rather confusing to a normal user.

Ethers

Install ethers

/home/ricmoo/test-ethers> npm install ethers@beta-exports

// Import everything
import { ethers } from "ethers";

// Import just a few select items
import { BrowserProvider, parseUnits } from "ethers";

// Import from a specific export
import { HDNodeWallet } from "ethers/wallet";

<script type="module"> import { ethers } from "https://cdnjs.cloudflare.com/ajax/libs/ethers/5.7.2/ethers.min.js"; // Your code here... </script>

Custom JSON-RPC for Consortium Chains

By enabling a given account to have a specific Chain ID and JSON-RPC node it will make it much simpler to maintain testnet and mainnet accounts, and more importantly maintain private/consortium accounts along side regular ether.

There will need to be some mechanism to notify the user of which chain they are using and to make sure there is some way for apps to understand the scope of the account.

Sending eth does nothing

I copied an address into clipboard and app said "prepare payment?" I entered amount and password and clicked on send but no eth was sent. Am using iPhone

How to transfer?

Hello!With a "Transaction" this class do transfer function, could you tell me how to add my private key?

Import Geth Wallets

Allow Geth wallets to be imported.

Possibly this could be done through a ECDH link with ethers.io (since we do not want to put a QR code on the screen of a users private key). Another possibility is through AirDrop.

Regardless, we need an easy way to link ethers.io with EthereumWallet-ios.

'ethers/Account.h' file not found

Hi,I have new request which show icon with different server!!
so I create three .xcconfig file, but it build failed in staging.xcofig and tip "'ethers/Account.h' file not found", and success in debug and release .xccofig!

Dnt know my password

Please asist

I downloaded the ethers.io wallet to my phone, but i did not set up any passwords to it. I then bought ether amd stored it there, now i want to transfer the ethers to some one else and its asking me for password which unfortunately i do not know or have.

How to get the private key?

I try to use:

SecureData *privateKey = [SecureData secureDataWithLength:32];

NSString *key = [SecureData dataToHexString:[privateKey data]];

The result is:
Printing description of key:
0x0000000000000000000000000000000000000000000000000000000000000000

so,How to get the private key?

thx

Support Non-Standard Import (from non-standards compliant wallets)

Several existing wallets do strange things with the BIP39 mnemonic phrase.

Some examples:

  • Wrong BIP44 path: m/0'/0'/0'/0/0 (this is Bitcoin's slot; should be m/44'/60'/0'/0/0)
  • Broken BIP32 implementation with padding (see axic's blog)
  • I believe Jaxx creates separate accounts for each input, so a way to amalgamate them back into a single account would be nice (I need to investigate this, as they added it after I left)

Having a custom import option that detects these cases and offers the user a graceful way to bring their wallet back to order would be nice.

No Proper Steps

after downloading the source getting an error
screen shot 2017-12-29 at 5 52 51 pm
screen shot 2017-12-29 at 5 54 45 pm

Please make an easy and understandable documentation for wallet implementation.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.