ISCC-ID#
A decentralized, owned, and short identifier for digital assets.
The ISCC-ID is generated from a similarity-hash of the units of an
ISCC-CODE together with a blockchain wallet address. Its SubType designates the blockchain
from which the ISCC-ID was minted. The similarity-hash is always at least 64-bits and
optionally suffixed with a uvarint
endcoded
uniqueness counter
. The uniqueness counter
is added and incremented only if the
mint colides with a pre-existing ISCC-ID minted from the same blockchain from a
different ISCC-CODE or from an identical ISCC-CODE registered by a different
signatory.
gen_iscc_id(iscc_code, chain_id, wallet, uc = 0)
#
Generate ISCC-ID from ISCC-CODE with the latest standard algorithm.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
iscc_code |
str
|
The ISCC-CODE from which to mint the ISCC-ID. |
required |
chain_id |
int
|
Chain-ID of blockchain from which the ISCC-ID is minted. |
required |
wallet |
str
|
The wallet address that signes the ISCC declaration |
required |
uc |
int
|
Uniqueness counter of ISCC-ID. |
0
|
Returns:
Type | Description |
---|---|
dict
|
ISCC object with an ISCC-ID |
gen_iscc_id_v0(iscc_code, chain_id, wallet, uc = 0)
#
Generate an ISCC-ID from an ISCC-CODE with uniqueness counter 'uc' with algorithm v0.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
iscc_code |
str
|
The ISCC-CODE from which to mint the ISCC-ID. |
required |
chain_id |
int
|
Chain-ID of blockchain from which the ISCC-ID is minted. |
required |
wallet |
str
|
The wallet address that signes the ISCC declaration |
required |
uc |
int
|
Uniqueness counter of ISCC-ID. |
0
|
Returns:
Type | Description |
---|---|
dict
|
ISCC object with an ISCC-ID |
soft_hash_iscc_id_v0(iscc_code, wallet, uc = 0)
#
Calculate ISCC-ID hash digest from ISCC-CODE with algorithm v0.
Accepts an ISCC-CODE or any sequence of ISCC-UNITs.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
iscc_code |
str
|
ISCC-CODE |
required |
wallet |
str
|
The wallet address that signes the ISCC declaration |
required |
uc |
int
|
Uniqueness counter for ISCC-ID. |
0
|
Returns:
Type | Description |
---|---|
bytes
|
Digest for ISCC-ID without header but including uniqueness counter. |
iscc_id_incr(iscc_id)
#
Increment uniqueness counter of an ISCC-ID with latest standard algorithm.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
iscc_id |
str
|
Base32-encoded ISCC-ID. |
required |
Returns:
Type | Description |
---|---|
str
|
Base32-encoded ISCC-ID with counter incremented by one. |
iscc_id_incr_v0(iscc_id)
#
Increment uniqueness counter of an ISCC-ID with algorithm v0.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
iscc_id |
str
|
Base32-encoded ISCC-ID. |
required |
Returns:
Type | Description |
---|---|
str
|
Base32-encoded ISCC-ID with counter incremented by one (without "ISCC:" prefix). |
alg_simhash_from_iscc_id(iscc_id, wallet)
#
Extract similarity preserving hex-encoded hash digest from ISCC-ID
We need to un-xor the ISCC-ID hash digest with the wallet address hash to obtain the similarity preserving bytestring.