Skip to content

Deprecated 0.20.1 Roadmap

Coury Ditch edited this page Aug 24, 2017 · 1 revision

Description

DApps are developed with a lot of javascript. We're trying to change that. Feed the tree some ethers.

Roadmap

  • Basic blockchain interaction (getBlock, getBlocknumber, etc)
  • Contracts
    • Contract creation
    • Contract calls - constants / non-mutating
    • Contract calls - sendTransaction / mutating
    • Event watching
    • Event stop watching
    • Event get
  • Elm Helpers
    • Timeout task and errors (currently only for contract creation)
    • fromWei, toWei
    • Web3.init - (Check for MetaMask, Define RPC endpoint, grab coinbase address)
  • Web3 Core
  • Demo Page
  • 0.1 Beta Release Announcement
  • Testing
  • Documentation
  • 1.0 Release

Web3.js API Coverage

  • [web3]
    • version
      • api : String
      • node/getNode : String
      • network/getNetwork : String
      • ethereum/getEthereum : String or Hex?
      • whisper/getWhisper
    • isConnected() : Bool
    • setProvider(provider)
      • Need to scan this before we mess with provider functions.
    • currentProvider
      • Need to scan this before we mess with provider functions.
    • reset() : ()
    • sha3(string, options) : String ➞ Keccak256
    • toHex(stringOrNumber) : String ➞ Hex
    • toAscii(hexString) : String ➞ Hex
    • fromAscii(textString, [padding]) Hex : ➞ String
    • toDecimal(hexString) : Hex ➞ Int
    • fromDecimal(number) : Int ➞ Hex
    • fromWei : EthUnit ➞ BigInt ➞ BigInt
    • toWei : EthUnit ➞ BigInt ➞ BigInt
    • toBigNumber(numberOrHexString) Using BigInt in Elm
    • isAddress(hexString) Address ➞ Bool
    • isChecksumAddress(hexString) Address ➞ Bool
    • toChecksumAddress(hexString) Address ➞ Address
    • net
      • listening/getListening
      • peerCount/getPeerCount
    • eth
      • defaultAccount
        • (MetaMask overrides defaultAccount, but it is needed when not using MetaMask as from parameter on sendTransaction will use this default. Will be integrated into Web3.init
      • defaultBlock
      • syncing/getSyncing
      • isSyncing
      • coinbase/getCoinbase
      • hashrate/getHashrate
      • gasPrice/getGasPrice
      • accounts/getAccounts
      • mining/getMining
      • blockNumber/getBlockNumber
      • register(hexString)
      • unRegister(hexString)
      • getBalance(address)
      • getStorageAt(address, position)
      • getCode(address)
      • getBlock(hash/number)
      • getBlockTransactionCount(hash/number)
      • getUncle(hash/number)
      • getBlockUncleCount(hash/number)
      • getTransaction(hash)
      • getTransactionFromBlock(hashOrNumber, indexNumber)
      • getTransactionReceipt(hash)
      • getTransactionCount(address)
      • sendTransaction(object)
      • sendRawTransaction(object)
      • sign(object)
      • call(object)
      • estimateGas(object)
      • filter(array (, options) )
        • watch(callback)
          • Only: 'latest' & 'pending' options supported for mined blocks and incoming tx's until it becomes clear that full functionality is desired by elm-web3 users.
        • stopWatching(callback)
        • get()
          • Not supported. See note above.
      • contract(abiArray)
        • contract.getData(arg1..., {data})
      • contract.myMethod()
      • contract.myEvent()
      • contract.allEvents()
        • Watching for all events means event.args could arrive in any number of shapes. Might be possible with tricky decoding. I.e., Json.Decode.oneOf?
      • getCompilers()
      • compile.lll(string)
      • compile.solidity(string)
      • compile.serpent(string)
      • namereg
      • sendIBANTransaction
      • iban
        • fromAddress
        • fromBban
        • createIndirect
        • isValid
        • isDirect
        • isIndirect
        • checksum
        • institution
        • client
        • address
        • toString
    • db
      • putString(name, key, value)
      • getString(rXArray, name, key)]
      • putHex(name, key, value)
      • getHex(name, key)
    • shh
      • post(postObject)
      • newIdentity()
      • hasIdentity(hexString)
      • newGroup(_id, _who)
      • addToGroup(_id, _who)
      • filter(object/string)
        • watch(callback)
        • stopWatching(callback)
        • get(callback)

If any unsupported functions are desired, please feel free to open an issue or create PR. Thanks