add content_to_cid

This commit is contained in:
Luk
2026-03-16 14:17:15 +08:00
parent c9a6afdb38
commit 450c6df357
2 changed files with 8 additions and 0 deletions

View File

@@ -12,6 +12,7 @@
"eccrypto-js": "^5.4.0",
"ethereum-rsa": "^1.0.5",
"hdkey": "^2.0.1",
"ipfs-only-hash": "^4.0.0",
"js-crypto-key-utils": "^1.0.4",
"keccak": "^3.0.2",
"secp256k1": "^4.0.3",

View File

@@ -16,6 +16,7 @@ const hdkey = require('hdkey') // https://github.com/cryptocoinjs/hdkey // 或
const secp256k1 = require('secp256k1')
const base32encode = require('base32-encode')
const base32decode = require('base32-decode')
const ipfsOnlyHash = require('ipfs-only-hash')
const { TronWeb } = require('tronweb')
// 全部以hex为默认输入输出格式方便人的阅读以及方便函数之间统一接口
@@ -1527,6 +1528,12 @@ class TicCrypto {
return '04' + this.padStart(x.toString(16), 64, '0') + this.padStart(y.toString(16), 64, '0')
}
static async content_to_cid ({ content, ...option }) {
// {content: 'hello world', cidVersion: 0}
// content can be a string, a file, a stream
return await ipfsOnlyHash.of(content, option)
}
// cahex: content address hex. 最核心的纯hex的内容地址没有任何额外标记。同一个内容的 cahex 是唯一的,而 cid 是在 cahex 基础上有各种不同的编码转成字符串形式。cid建议叫做 caid.
static cid_to_cahex ({ cid }) {
try {