Skip to content
Coury Ditch edited this page Nov 4, 2017 · 33 revisions

Web3 1.0 Roadmap

API Reference

  • web3

    • version
    • modules
    • setProvider
    • providers
    • givenProvider
    • currentProvider
      • All Provider related functions will have to handled in JS land for now. Most of it seems like initialization features, and not something you'd dynamically change throughout a users interaction. If a case can be made otherwise, let me know - perhaps an Effect Module can be written to handle the above.
    • BatchRequest
      • Batch can be replicated in Elm using Task.andThen or Task.sequence
    • extend
      • extend should be handled in JS land with ports, or by forking this library and adding your own custom Web3 functions to interact with your extension. Let me know if you disagree, I'm curious to hear other's thoughts.
  • web3.eth

    • subscribe
    • Contract
    • Iban
    • personal
    • accounts
    • abi
    • net
    • setProvider
    • providers
    • givenProvider
    • currentProvider
    • BatchRequest
    • extend
    • defaultAccount
      • Pure or Impure? { TxParams : from = Address } (instead of Maybe Address) or use setOrGet with potential for errors, and recommend user Web3.init the coinbase as default.
    • defaultBlock
      • Pure or Impure? Pure, define block if needed. latest is the default.
    • getProtocolVersion
    • isSyncing
    • getCoinbase
    • isMining
    • getHashrate
    • getGasPrice
    • getAccounts
    • getBlockNumber
    • getBalance
    • getStorageAt
    • getCode
    • getBlock
    • getBlockTransactionCount
    • getUncle
    • getTransaction
    • getTransactionFromBlock
    • getTransactionReceipt
    • getTransactionCount
    • sendTransaction
    • sendSignedTransaction
    • sign
    • signTransaction
    • call
    • estimateGas
    • getWork
    • submitWork
      • Anyone need these? Are they still supported?
  • web3.eth.subscribe

    • subscribe
    • clearSubscriptions
    • subscribe(“pendingTransactions”)
    • subscribe(“newBlockHeaders”)
    • subscribe(“syncing”)
    • subscribe(“logs”)
  • web3.eth.Contract

    • options
    • options.address
    • options.jsonInterface
    • clone
    • deploy
    • methods.myMethod.call
    • methods.myMethod.send
    • methods.myMethod.estimateGas
    • methods.myMethod.encodeABI
    • once
    • events
    • events.allEvents
    • getPastEvents
  • web3.eth.accounts

    • create
    • privateKeyToAccount
    • signTransaction
    • recoverTransaction
    • hashMessage
    • sign
    • recover
    • encrypt
    • decrypt
    • wallet
    • wallet.create
    • wallet.add
    • wallet.remove
    • wallet.clear
    • wallet.encrypt
    • wallet.decrypt
    • wallet.save
    • wallet.load
  • web3.eth.personal

    • setProvider
    • providers
    • givenProvider
    • currentProvider
    • BatchRequest
    • extend
    • newAccount
    • sign
  • web3.eth.Iban

    • Iban
    • toAddress
    • toIban
    • fromEthereumAddress
    • fromBban
    • createIndirect
    • isValid
    • isDirect
    • isIndirect
    • checksum
    • institution
    • client
    • toAddress
    • toString
  • web3.eth.abi

    • encodeFunctionSignature
    • encodeEventSignature
    • encodeParameter
    • encodeParameters
    • encodeFunctionCall
    • decodeParameter
    • decodeParameters
    • decodeLog
  • web3.eth.net

    • getId
    • isListening
    • getPeerCount
  • web3.*.net

    • getId
    • isListening
    • getPeerCount
  • web3.bzz

    • setProvider
    • givenProvider
    • currentProvider
    • upload
    • download
    • pick
  • web3.shh

    • setProvider
    • providers
    • givenProvider
    • currentProvider
    • BatchRequest
    • extend
    • getId
    • isListening
    • getPeerCount
    • getVersion
    • getInfo
    • setMaxMessageSize
    • setMinPoW
    • markTrustedPeer
    • newKeyPair
    • addPrivateKey
    • deleteKeyPair
    • hasKeyPair
    • getPublicKey
    • getPrivateKey
    • newSymKey
    • addSymKey
    • generateSymKeyFromPassword
    • hasSymKey
    • getSymKey
    • deleteSymKey
    • post
    • subscribe
    • clearSubscriptions
    • newMessageFilter
    • deleteMessageFilter
    • getFilterMessages
  • web3.utils

    • randomHex
    • sha3
    • soliditySha3
    • isHex
    • isAddress
    • toChecksumAddress
    • checkAddressChecksum
    • toHex
    • hexToNumberString
    • hexToNumber
    • numberToHex
    • hexToUtf8
    • utf8ToHex
    • hexToAscii
    • asciiToHex
    • bytesToHex
    • hexToBytes
    • toWei
    • fromWei
    • bigIntToWei
    • leftPadHex
    • leftPadHexCustom
    • rightPadHex
    • rightPadHexCustom
      • leftPad & rightPad for strings can use Elm's core String functions e.g., String.padRight