The value of HashPort is not only in reducing storage costs
More importantly, it gives websites
An On Chain path
Container management rights
File hashes
Readable publishing records
A frontend is no longer just code returned by a server
It can become an On Chain object that can be read, verified, and managed
Show more
A complete DApp should eventually answer two questions
Who deployed the contract?
Who published the frontend?
HashPort is providing the answer to the second question
Traditional model
A server publishes a page and users trust it by default
HashPort model
Files enter a TapeOut Container
SiteRegistry records the hashes
TapeKit reads and verifies the files
HashPort is not simply copying Web2 websites On Chain
It changes how frontends are trusted
HashPort is suitable for uploading HTML, CSS, JavaScript, WASM, configuration files, documents, and lightweight assets
Users should not have to rely only on their own eyes to judge whether a page is authentic
A typical website usually tells you
This is the official page, trust me
HashPort and TapeKit can go further by telling you
This file comes from the specified Container and its hash matches the On Chain record
Show more
On Chain data is permanent
Websites can be updated
Secrets cannot be taken back
TapeKit verifies the files when reading them
If they match, the files are displayed
If they do not match, they are not displayed
A Circuit Container NFT is more than just an NFT
It controls the management rights of the corresponding Circuit Container, which also means it controls the right to publish the website
Whoever owns the Container NFT has permission to update the website content
Show more
HashPort records a SHA 256 hash for every file
A hash is a file fingerprint
Even if the file content changes by just one byte, the fingerprint will change
Cloudflare users need to set the record to DNS only, shown as a gray cloud
Publishing, storage, and reading each have their own role
HashPort publishes the frontend to a TapeOut Container
SiteRegistry records the path, size, type, and hash
TapeKit reads from BNB Chain and verifies the content
The browser displays the content at the end
Show more
When connecting a domain to HashPort, you need to configure two records
CNAME points to the Gateway
TXT proves domain ownership and determines which Container the domain points to
The Operator wallet only has permission to write files
It cannot transfer the Circuit NFT or access assets in the main wallet
Its private key is stored only in the Session Storage of the current browser tab
Show more
Why can Cloudflare Proxy not be enabled?
HashPort Gateway needs to read the CNAME and TXT records directly
When Proxy is enabled, the DNS resolution path is handled by Cloudflare, which may cause issues with verification and SSL certificate issuance
Please use DNS only
With the correct configuration, the Gateway can recognize the domain you actually control
Show more
What problem does HashPort Operator mode solve?
When uploading dozens of files, it would be a terrible experience if every file required a separate signature
So HashPort generates a temporary Operator wallet to handle file uploads in batches
The main wallet confirms key actions
The Operator handles batch uploads
Show more
Contracts can be verified Frontends should be verifiable too Put the last layer of trust on chain
HashPort does not verify every type of web resource in exactly the same way
The resources that directly affect how a page executes need to be inside the strict verification boundary
This includes HTML JavaScript Workers
Service Workers WASM
Images fonts videos and JSON are not required to be treated as executable resources
One of the strictest rules is Same Origin
If a page loads executable JavaScript from another Origin, the verifier cannot continue treating the entire page as a fully verifiable frontend
Because you cannot verify your own HTML while ignoring the external code that actually executes
This is a deeper requirement for onchain frontends
Putting a few website files on chain is not the end of the process
The important question is which resources actually determine what the user sees and which resources actually determine what the user signs
Only when those execution boundaries can be verified does frontend verification become meaningful
Show more
The HashPort Gateway is not another trust center
A normal browser cannot directly read website files from the blockchain, so a Gateway is needed to read the onchain content and serve it to the browser through HTTP
But the Gateway itself does not decide whether a file is authentic
After retrieving the file, it should verify the content against the SHA-256 recorded on chain
If the returned file does not match the onchain hash, that file should not be treated as a verified frontend
This means the Gateway itself can be replaced
There can be multiple Gateways, and different teams can operate them
The final verification does not depend on any single Gateway
It depends on the files stored on chain and the hashes recorded on chain
This is an important part of DeWEB
Users can access the same onchain frontend through different gateways
But the verification result should always come from the same onchain source of truth
Show more
Frontend Identity in HashPort is not simply a wallet address
It is made up of three parts
Chain ID Store Site
Chain ID identifies which chain the frontend belongs to
Store identifies which Onchain File Store provides the frontend files
Site identifies the Site Account associated with those files
So the identity of a frontend can be understood as
A specific Site
Inside a specific Store
On a specific chain
This is also why HashPort does not use a Domain as the identity of a frontend
A Domain is only the entry point used to access a website
It does not fully describe the identity of the onchain frontend
The combination of Chain ID Store and Site tells the wallet exactly which set of files the current frontend corresponds to on chain
Both Hash Verification and Contract Frontend Declaration are built on top of this identity
Show more