XiangjinlianTrusted Agarwood · How to verify

How to verify a batch in five minutes

You do not have to trust us. You only have to check four things — and one of them you can recompute yourself.

Step 1

Find the batch ID

Every box, bottle, tube or seal carries a batch ID such as MADE-20261029-01. The prefix tells you the type: MADE for a finished product, BOX for a gift box, and a farmer code for raw material.

Step 2

Open the batch page

Go to https://mall.huishishanghai.com/batch/<batch ID>. You will see the product, the responsible person, the reviewer, every photograph with a hash, and the record digest.

Step 3

Check each photograph

Each photo is stored with its own SHA-256. Download a photo, then run:

shasum -a 256 your-download.jpg

The value must match the one printed next to that photo. If it differs, the file was replaced after upload.

Step 4

Recompute the record digest

The page publishes the exact input used to build the record digest: the field names and their values. Take those fields, sort them by key, serialize as compact JSON (UTF-8, no spaces, keys in order), and hash it:

import hashlib, json
payload = { ... }                       # the fields shown on the page
raw = json.dumps(payload, sort_keys=True, ensure_ascii=False, separators=(",", ":"))
print(hashlib.sha256(raw.encode("utf-8")).hexdigest())

If your hash equals the one on the page, the record has not been edited since it was created.

Step 5

Read the honest parts

We publish what a record does not prove, and we do not hide states. Look for these labels:

LabelWhat it means
Verified · v2.0The required photographs for that product are present and a reviewer is named.
Verified · v3.0As above, and key photographs were uploaded by different people, each using their own account.
v3.0 · proxy entryOne segment was entered by another person on behalf of a farmer who cannot use a phone; a witness is named.
Pending · missing photoThe batch is registered but one or more required photographs have not been uploaded yet.
Not on chainThe digest exists and can be recomputed, but it has not been written to a public blockchain yet.
A record proves that a batch was registered, at a time, by a named person, with photographs that have not changed since. It does not prove the species of the tree, the forest, or that one grade is better than another — unless a separate test says so, and then only for the sample tested.
Ask

Want to try it on a real batch?

Email lironghua691@gmail.com (or huijiyuren@qq.com) and we will send you a live batch link, including one that is deliberately incomplete so you can see what a weak record looks like.