Git Product home page Git Product logo

ethers.objc's Introduction

ethers.objc

Everything you need to write your own Ethereum wallet and interact with the blockchain.

Please note this documentation is a work in progress, with many stubs and place holders. The bulk of the documentation is being put together in a readthedocs RST document and this is just to help out a (very) little in the meantime.

Features:

  • Simple and complete public API
  • Ready-to-go; drop the framework into your project and you are off to the races
  • Full testnet support
  • Geth Secret Storage Wallet support
  • BIP39 + BIP32 + BIP44 support (SLIP 44)
  • ICAP + checksum address support
  • Multiple providers and meta-providers
  • Secure; all private keys are stored in self-clearing memory
  • A large test suite to ensure correctness against other libraries
  • Open Source (MIT Licensed)

API

To use the Framework, add the ethers.Framework to your project and add:

@import ethers;

Fundamentals

Account

An account contains a private key used to sign transactions and prove ownership of an account.

  • Import/Export Geth Secret storage wallets
  • Generate and import BIP 39 mnemonic wallets (m/44'/60'/0'/0/0)

Provider

  • A provider is used to connect to the blockchain.

Common Objects

Address

  • Checksum Addresses
  • IBAN/ICAP Addresses

BigNumber

  • Explain why we need to use Bignumbers

Hash

  • BlockHash
  • TransactionHash

Promise

  • Async
  • Chainable and able to make a dependency tree

Detail Objects

Transaction

  • Serialize and deserialize transactions
  • EIP155 support

TransactionInfo

  • Information (possibly incomplete) about a transaction

BlockInfo

  • Information about a block

Providers

EtherscanProvider

InfuraProvider

  • Connect to INFURA with an optional API Access Token.

JsonRpcProvider

  • Connect to any Parity, Geth, et cetera node.

FallbackProvider

  • On error, try the next provider in the list.

RoundRobinProvider

  • Randomly selects from a list of providers, with fallback.

LightWalletProvider

  • Experimental
  • Still a lot of issues with the iOS Geth library (and xgo)
  • Makes the phone VERY hot

Utilities

SecureData

  • Create NSMutableData backed objects with a SecureAllocator to zero the memory when deallocated.
  • Convenience methods for operating on hex strings

Payment

  • Convert between ether value strings and wei
  • Parse payment URI

To Do

Contract API

Still need an equivalent to the Ethers.Contract object to parse an ABI, and generate ABI encoders/decoders.

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: 0x2F40e3b51533698A14aFcf7Fe386050e22e1FdB2
  • Bitcoin: 18QMCEt71xUioVncupxy8ZajKooFkpG4Y6

ethers.objc's People

Contributors

beatrupp avatar ricmoo avatar

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.