One of the most critical aspects of web3 is that it decouples the “data and application” from front ends and user interfaces. For example, this means that even though you can interact with Unlock Protocol smart contracts using the Unlock Dashboard, you can also interact with the contract using other front-end applications, such as blockchain explorers, as well!
Blockchain explorers (also called block explorers) are one of the most useful front end applications in web3. Even though they’re not the most user-friendly, blockchain explorers like Etherscan are a common way to interact directly with smart contracts across the web3 ecosystem.
Verifying your smart contract
The first step when using a block explorer is to verify the smart contract. (In the Unlock Protocol ecosystem, we call the smart contracts “locks.”) Verification can be done by anyone and takes only a few seconds.
From the Unlock Dashboard, click on the
Block Explorer link.
Then, click on the
Contract tab. In the screen that opens, look for the
More Options button and select
Is this a Proxy? in the list of options. On the next screen, click on
Verify and then
Save in the confirmation popup. Once this has been done, you can click on the link to go back to your contract.
The following video shows you the flow on PolygonScan:
What’s most important is that, at the end of the verification process, when clicking on the Contracts tab again, you now see the two additional options:
Read as Proxy and
Write as Proxy as on the following screenshot. These new options enable you to interact with your smart contract directly from the blockchain explorer.
Interacting with the Lock Using Blockchain Explorers
One you have verified the contract, you can start interacting with it, to either “Read” data from it, or update it by “Writing” to it. To Read, just click on the
Read as Proxy button. You will then see a list of functions you can call on the contract, or even values directly.
On the following screenshot you can see how many valid memberships a given address owns (that’s
balanceOf), who the
beneficiary of the contract is (who receives the funds), or the base
expirationDuration (the number here means that these are unlimited; they never expire on that lock). You can also see there is no free trial (0 seconds) and no gas refund.
You can also change data on the lock. For that, the first step is to connect your wallet using the Connect to Web3 Button while on the Write as Proxy tab. Your wallet will be prompted to connect to Etherscan. Once connected, you will be able to send transactions to modify the state of your contract. However, you should know that some of the functions require certain permissions. For example, only a Lock Manager can call addLockManager to add another address as a lock manager.
In the video below, we show you how we modify the maximum number of memberships a given address can have a on a specific lock.
Some functions are harder to use than others because they require passing the arguments in a specific “encoded” format. That said, we’re here to help — you’re always welcome to join our Discord to get help from the community!