A "Proxy Contract" Approach
In scenarios where a DePIN project cannot integrate ioID directly into their device’s firmware, this approach enables the project’s cloud to manage ioID registration and message signing on behalf of the devices. In this setup, a “Proxy ioID Contract” serves as an intermediary between the project’s cloud and ioID contracts. The cloud acts as a “trusted entity” within the proxy contract, authorizing on-chain ioID registrations and binding them to the actual device owner.
Ensure you have development tools like git and nodejs installed
If you haven’t already, clone the ioID-contracts repository:
Export the private key for deploying the ioID Proxy contract.
This account will control your ioID proxy contract, particularly for setting the “Verifier” address. The “Verifier” is typically your service account responsible for managing ioID registrations on behalf of the devices on the cloud side
Ensure you use a dedicated wallet account as the owner of your ioID Proxy contract. Whenever possible, consider using a hardware wallet for enhanced security on mainnet.
Deploy your ioID Proxy contract with:
Developers can also deploy an ioID proxy contract and manage it interactively on the IoTeX Hub:
Select the Advanced tab:
Click the Deploy VerifyingProxy Contract
button to deploy a new Proxy contract, or
Click the Import VerifyingProxy Address
button to import an already deployed Proxy
Provice the required information then click Confirm
Here is an example repository that shows how to generate ioIDs for your devices in the cloud and how to register them on-chain through the Proxy contract: