funga-eth

Ethereum implementation of the funga keystore and signer
Info | Log | Files | Refs | README | LICENSE

README.md (1322B)


      1 # funga-eth
      2 
      3 Ethereum implementation of the `funga` signer interface.
      4 
      5 See https://git.defalsify.org/funga for more details.
      6 
      7 ## Tools
      8 
      9 When installed as a python package, three tools are installed in the python executable script path.
     10 
     11 * `funga-ethd` - Signer daemon (see below for details).
     12 * `eth-keyfile` - Ethereum keyfile en- and decoder, and en- and decrypter.
     13 * `eth-msg-sign` - Signer tool for arbitrary messages ([ERC-191](https://eips.ethereum.org/EIPS/eip-191)).
     14 
     15 
     16 ### funga-ethd
     17 
     18 A Unix socket IPC server as `funga-ethd` implementing the following web3 json-rpc methods:
     19 
     20 * web3.eth.personal.newAccount
     21 * web3.eth.personal.signTransaction
     22 * web3.eth.signTransaction
     23 
     24 
     25 ### CLI tools
     26 
     27 Please use `--help` as argument to the `eth-keyfile` and `eth-msg-sign` tools to learn the arguments the tools accept.
     28 
     29 
     30 ## Funga interface implementations
     31 
     32 - **ReferenceKeystore**: Implements the `Keystore` interface, with a postgresql backend expecting sql schema as defined in `ReferenceKeystore.schema`
     33 - **ReferenceSigner** Implements `Signer`, accepting a single argument of type `Keystore` interface. 
     34 - **EIP155Transaction**: Creates transaction serializations appropriate for EIP155 replay protected signatures. Accepts a web3 format transaction dict as constructor argument together with nonce and optional chainId.