Published: 30 Apr 2020 › Updated: 30 Apr 2020
上传文本至IPFS / 网络研习社#62
在前篇文章《以太坊 + IPFS 数据存储可行方案》中有提到这样的数据存储方案,在以太坊上只存储文本的哈希值以节约gas。那么,问题来了,IPFS是如何存取文本的呢?
前期做网站的时候往IPFS中存过图片和视频,存文本稍微有点不同。把文档找来复习下。文档在这, 。存取文本不是太难,有些固定的格式。
存文本
//上传文本
const content = Buffer.from('hello lemooljiang!')
let res = await that.ipfs.add(content)
console.log(345, res[0].hash)
读文本
因为文本会自动转成utf-8格式存储,所以,读出来还要转换成字符串。
let con = await that.ipfs.cat(hash)
let t = that.utf8ArrayToStr(con)
utf8ArrayToStr(array) {
let out, i, len, c
let char2, char3
out = ""
len = array.length
i = 0
while(i < len) {
c = array[i++]
switch(c >> 4)
{
case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:
// 0xxxxxxx
out += String.fromCharCode(c)
break
case 12: case 13:
// 110x xxxx 10xx xxxx
char2 = array[i++]
out += String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F))
break
case 14:
// 1110 xxxx 10xx xxxx 10xx xxxx
char2 = array[i++];
char3 = array[i++];
out += String.fromCharCode(((c & 0x0F) << 12) |
((char2 & 0x3F) << 6) |
((char3 & 0x3F) << 0))
break
}
}
return out
}
方法就这两个,试了下,很快就成功了。这样的话,往以太坊上存东西就不会太费钱了,而且这种方案正在被越来越多的人采用,因为只要是IPFS网关就可以根据文本的哈希值直接读出文本的内容来,是不是很方便呢?! 这是我上传的一段文本哈希QmZcLE9qPzzyeJqT1yxErZcxbCSufXWSJRhywGLChegyL8,大家可以使用任意的IPFS网关去读下试试,比如这样: https://ipfs.eternum.io/ipfs/QmZcLE9qPzzyeJqT1yxErZcxbCSufXWSJRhywGLChegyL8
Leave 上传文本至IPFS / 网络研习社#62 to:
Read more #cn posts
Best Posts From lemooljiang
We have not curated any of lemooljiang's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.
More Posts From lemooljiang
- DeepTutor:AI个性化辅导平台 / ai #57
- ComfyUI:可编程和自动化的PS / ai #56
- 将Neo4j封装进Agent / ai #55
- 闲鱼省钱大法:极限0.5折!
- 对Neo4j批量导入结构化数据 / ai #54
- langchain对neo4j进行交互,写入和查询数据 / ai #53
- 知识图谱和图数据库Neo4j的作用和使用场景 / ai #52
- SpaceX、美股和比特币
- 又是币圈血洗日!
- 链股合流,当币安也开始卖股票啰
- 天涯社区重启,爷青回?
- 诺基亚在AI时代重新杀回来啦
- 《2049:未来10000天的可能》书中的镜像世界为什么不叫元宇宙
- 今天适合吃披萨
- 开通即被封,别再给Claude送人头了!
- 两根内存条引发的“官司”
- AI·Joe V12更新, 更新GPT-5.5和DeepSeek V4 等
- 中医进校园活动反响热烈
- 猪价低伤农,猪价贵伤民
- Solidity开发指南