Given we both got our laptops out just after take-off, and had code on our screens, it was pretty clear we were heading to Cancún, and started talking about our projects with one another. I’d see Nick talk about ENS at the
London Ethereum Meetup a while back, and had integration with it in
web3j on my todo list. However, given that I had Nick sat next to me, and a 9 hour flight in front of me, it was a no-brainer to start work on it then and there!
ENS
The ENS support in web3j means that anywhere you previously had to use a contract or wallet address, you can now use an ENS domain name instead.
I.e. For your smart contracts you can use:
YourSmartContract contract = YourSmartContract.load(
"<name>.ens",
web3j, credentials, GAS_PRICE, GAS_LIMIT);
It’s also supported in web3j’s command line tools:
$ web3j wallet send <walletfile> <name>.ens
The web3j implementation provides input normalisation and validation adhering to
UTS #46. Nick was adamant that any ENS implementations does this :).
Truffle support
The
Truffle Framework is a very popular choice for both JavaScript and Solidity developers alike. Truffle provides a
contract schema in JSON to represent contracts deployed to the various Ethereum networks.
web3j can now work with Truffle JSON files for generating smart contract wrappers. This means that if you currently or have used Truffle for your smart contract development, you can generate smart contract wrappers in Java from them. The advantage of this approach is that your smart contracts will know where they’ve been deployed previously.
YourSmartContract contract = YourSmartContract.load(
YourSmartContract.getDeployedAddress(<network id>),
web3j, credentials, GAS_PRICE, GAS_LIMIT);
Where the network id is as per EIP 155.
$ web3j truffle generate [--javaTypes|--solidityTypes]
/path/to/<truffle-smart-contract-output>.json -o
/path/to/src/main/java -p com.your.organisation.name
Ezra Epstein deserves the credit for this change, as he had the idea and implemented it.
Other changes
Are you using web3j?
If you’re using web3j and happy to add your project or company to the list of
users of web3j please let us
know!