Source code of our prototype
The smart contract provides the function of 'update', 'query', and 'revoke' to maintain certificates of both IoT devices and servers. It can be directly deployed in Rinkeby (a Ethereum test netwokr), the link is available at: https://www.rinkeby.io, and we tested and invoked it using Remix (available at: http://remix.ethereum.org).