Why does the official frontend need an additional declaration
There is one point that is very easy to get wrong
Putting a website onchain does not mean it is the official website
Because anyone can publish a website
So we also need to solve the second question
Which frontend is recognized as the official frontend by this contract
HashPort’s approach is to let the contract declare its own official frontend
When the wallet verifies it, it first checks whether the files of the current page are consistent with the version onchain
Then it checks whether this frontend is the official frontend declared by the contract
The former solves whether the files have been modified
The latter solves whether this website is official
So the truly complete verification is not “this website is onchain”
It is “this page is consistent with the onchain version”
And “this page is the official frontend declared by this contract”
When both questions are solved, the onchain frontend truly becomes meaningful