【发布时间】:2019-02-25 18:17:42
【问题描述】:
我正在尝试构建一个用于分布式图像共享和版权保护的区块链应用程序。我使用图像作为资产。
所以现在我想在 Hyper ledger Composer 游乐场上传一张图片。我该怎么做?
【问题讨论】:
标签: javascript hyperledger hyperledger-composer ibm-blockchain
我正在尝试构建一个用于分布式图像共享和版权保护的区块链应用程序。我使用图像作为资产。
所以现在我想在 Hyper ledger Composer 游乐场上传一张图片。我该怎么做?
【问题讨论】:
标签: javascript hyperledger hyperledger-composer ibm-blockchain
您可以将文件数据存储到 IPFS 中。 IPFS 是一种协议和网络,旨在创建一种可在分布式文件系统中存储和共享超媒体的内容可寻址的点对点方法。
对于 IPFS,我建议您关注 link
在您的应用程序中,在您需要存储图像的 js 文件中。在那里,您只需编写ipfs 连接代码。当您当时运行应用程序时,只需确保 ipfs daemon 已启动。
成功上传文件后,IPFS 会给你一个 Hash 链接。您可以将该哈希存储到资产中或参与超级账本作曲家。
例如
function toIPFS(file) {
return new Promise(resolve => {
const reader = new FileReader();
reader.onloadend = function() {
const ipfs = window.IpfsApi('ipfs', 5001,{protocol : "https"}) // Connect to IPFS
const buf = buffer.Buffer(reader.result) // Convert data into buffer
ipfs.files.add(buf, (err, result) => { // Upload buffer to IPFS
if(err) {
return
}
let url = `https://ipfs.io/ipfs/${result[0].hash}`
resolve('resolved url');
})
}
reader.readAsArrayBuffer(file); // Read Provided File
});
}
希望对你有所帮助。 :)
【讨论】: