ConfluxPortal

Registering Your Contract’s Method Names #

ConfluxPortal uses the parity on-chain registry of function signatures to display method names on the confirm screen. For many common method names, like token methods, this allows ConfluxPortal to successfully look up the method names by their method signature.

However, sometimes you’re using a method that is not in that on-chain registry, and ConfluxPortal will simply display Unknown Function to the user.

To add your contract’s function names to this registry so it shows in the ConfluxPortal interface, follow the below steps.

We (conflux) don’t support below features right now.

  1. Go to the mainnet parity signature registration contract on etherscan

  2. Connect ConfluxPortal

  3. Use etherscan’s write contract feature to input the string value (without quotes or spaces) to the register function

    for example:

    getOwners()

    execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)

  4. Press write

  5. Approve the transaction through ConfluxPortal (you only pay gas)

Verify #

web3.sha3('getOwners()') => 0xa0e67e2bdc0a6d8a09ccd6c353c9df590807ad66ff5e6630c4f31a86dfa84821

take the first 10 characters 0xa0e67e2b and input into this demo app that checks the on-chain registry (mainnet or rinkeby)

Alternate steps using remix.ethereum.org: #

Paste the contract code from bokky’s blog post into remix

Set the correct compiler version based on the contract.

Use remix’s write functionality to add to the registry.

You can look at the FUNCTIONHASHES section on remix.conflux.org by loading the signature registry contract, press the Details button on the compile tab.

Additional Info #

You can also use the signature registry deployed on rinkeby but should note that ConfluxPortal reads from the mainnet eth-method-registry endpoint, regardless of user’s network

eth-method-registry is used to lookup methods in ConfluxPortal.

This stack exchange answer is a good tldr.

Last updated: 3/17/2020 Top