- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我在 IPFS 上有 javascript 文件,例如 this .我想构建一段 javascript( Node )代码来检索 ipfs 哈希,然后必须加载指向的文件。到目前为止我正在做的:
node.get(fileHash, (err, files) => {
// some check for error
files
.filter(file => file.type === 'file')
.forEach(file => {
vm.runInThisContext(
code = file.content.toString('utf8'),
options = { filename: file.name }
);
});
});
我真的不想搞乱文件系统(这将必须在浏览器中运行)所以我想避免编写文件然后要求它们。
是否有更好的方法来加载存储在变量中的 javascript 代码(基本上)。我觉得我正在使用某种eval
...我不喜欢
最佳答案
您可以从 IPFS HTTP 网关加载模块
<script src="https://ipfs.io/ipfs/<cid>/mything.js" />
如果用户有ipfs-companion安装后,资源将从位于 localhost:8080
的用户本地 ipfs 网关获取,如果没有,将从位于 ipfs.io
的公共(public)网关获取。这对于 es 模块和 import flavor 可能很有趣
import foo from https://ipfs.io/ipfs/<cid>/index.js`
如果你想用js-ipfs加载资源在您的示例中,您可以使用 [ipfs.cat][2]
代替 ipfs.get
来获取响应。你必须执行某种形式的 eval
因为你没有要求浏览器获取脚本
// get the script
const data = await ipfs.cat('CidForYourScript')
// depending on how your script is packaged, eval it
const exports = (new Function(data.toString()))()
有关核心开发人员对这个想法的更多讨论,请参阅 js-ipfs 上的此 PR:https://github.com/ipfs/js-ipfs/pull/1830
有关 eval-ing js 的更多想法,请参阅:https://benclinkinbeard.com/posts/how-browserify-works/
关于javascript - 加载存储在 IPFS 上的 javascript 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57614232/
这是我的测试 tokenURI.json 文件,其中包含我传递给 token 合约的 imageURI。setTokenURI(): { "attributes": [ { "t
给定一个相当大的文件夹,该文件夹已被推送到网络,并在本地删除。如何在不重新下载整个文件夹的情况下将文件添加到该文件夹? 最佳答案 您只能在使用ipfs get重新下载后使用ipns来执行此操作,如
IPFS cli/http api 有一个 ipfs pin ls列出固定哈希的命令。但是,这只适用于查询本地节点。有没有办法对远程节点运行相同的命令,例如,类似 $ ipfs pin ls 其作用
我一直在尝试实现和理解 IPFS 的工作,但有一些不清楚的地方。 我尝试过的事情: 在我的系统上实现 IPFS 并在其上存储文件。即使我从系统中删除文件并关闭 ipfs 守护进程,我仍然可以通过 IP
我想使用 (js-ipfs-http-client) 模块将目录上传到浏览器上的 ipfs。 我发现了这个老问题。 https://github.com/ipfs/js-ipfs/issues/277
我有一个调用 _getFile 函数的输入字段 获取文件 _getFile(event) { this.loading = true; const file = event.target.f
根据https://docs.ipfs.io/guides/concepts/pinning/ , 运行命令 ipfs add hello.txt显然“固定”了文件“hello.txt”,但是为什么我
假设我像这样向 IPFS 添加数据: $ echo Hello World | ipfs add 这会给我 QmWATWQ7fVPP2EFGu71UkfnqhYXDYH566qy47CnJDgvs8u
我们正在 Electron 上构建一个桌面应用程序,以在 IPFS 上共享媒体。我们想要激励人们,他们通过 IPFS 添加或固定,将数据提供给其他用户,实际上是在“播种”数据。我们希望以编程方式和定期
我正在尝试创建一个与 IPFS 兼容的 mutihash,但它不匹配。我在这里问是因为我还没有找到一个从散列到最终结果的例子。 echo -n multihash > multihash.txt ip
为了测试,我希望能够在一台机器上运行多个 IPFS 节点。 这是场景: 我正在 IPFS 核心库之上构建小型服务,遵循 Making your own IPFS service指导。当我尝试将客户端和
我通过 ipfs add 添加了一堆文件.如何一次取消固定和删除所有这些? 最佳答案 取消固定所有添加的内容: ipfs pin ls --type recursive | cut -d' ' -f1
我有一个关于 IPFS 内容的新手问题。我可以请求带有哈希地址的内容。是不是哈希地址返回的内容总是加密的?或者返回的内容可以是加密的,也可以是不加密的,如果加密,则需要私钥才能解码和查看内容。 最佳答
如何完全卸载 IPFS 并从头开始重新启动所有内容并获得新的对等 ID?我试图删除 go-ipfs 文件夹,但仍然出现错误:ipfs 配置文件已经存在!当我执行 ipfs init 时。 最佳答案 数
IPFS中有两个概念,其中的联系我不是很清楚:IPFS pin和IPFS MFS。 据我了解,ipfs pin允许您将内容保留在您的节点上,保护它不被垃圾收集器自动删除。在这种情况下,如果我使用 ip
我们希望允许用户根据他们维护的 IPFS key 名称从 IPNS 指针恢复他们的数据库。但是,由于 IPNS name/resolve 和 name/publish 只有两个端点,因此似乎无法在不重
当在 node.js 应用程序中使用以下代码以编程方式启动 js-ipfs 节点时,它会启动 swarm,允许添加文件并查询它们。 // code from the docs: https://git
初始化 ipfs 节点时,ipfs 似乎也会生成 RSA key 对: $ jsipfs init initializing ipfs node at /Users/pascalprecht/.j
初始化 ipfs 节点时,ipfs 似乎也会生成 RSA key 对: $ jsipfs init initializing ipfs node at /Users/pascalprecht/.j
我正在使用 js-ipfs 服务器端在 IPFS 上“上传”文件,但它的效率似乎不如命令行 ipfs daemon 和 ipfs add someFile. 服务器端,我实例化了一个 Ipfs 对象,
我是一名优秀的程序员,十分优秀!