我知道它对mediaSource是可行的,但媒体源不支持所有视频格式(例如碎片mp4).这是一个问题,因为我的应用程序没有可以修复文件的服务器.它只是一个客户端应用程序.
const blob = await ipfs.getBlobFromStream(hash)
const url = URL.createObjectURL(blob)
this.setState({...this.state, videoSrc: url})
const getBlobFromStream = async (hash) => {
return new Promise(async resolve => {
let entireBuffer
const s = await stream(hash)
s.on('data', buffer => {
console.log(buffer)
if (!entireBuffer) {
entireBuffer = buffer
}
else {
entireBuffer = concatTypedArrays(entireBuffer, buffer)
}
})
s.on('end', () => {
const arrayBuffer = typedArrayToArrayBuffer(entireBuffer)
const blob = new Blob(arrayBuffer)
resolve(blob)
})
})
}
Run Code Online (Sandbox Code Playgroud)
这是我现在正在使用的代码,它基本上等待整个文件并将其放在一个数组中然后放入blob然后放入URL.createObjectURL
我正在尝试运行从这里提供的 kotlin 代码的测试:https : //github.com/ligi/ipfs-api-kotlin with gradlew
我收到下面列出的错误。有人能告诉我这个错误是什么意思吗?
> Task :test FAILED
Exception in thread "main" java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
FATAL ERROR in native method: processing of -javaagent failed, processJavaStart failed
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:513)
at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:525)
Caused by: java.lang.RuntimeException: Class java/lang/UnknownError could not be instrumented.
at org.jacoco.agent.rt.internal_c13123e.core.runtime.ModifiedSystemClassRuntime.createFor(ModifiedSystemClassRuntime.java:140)
at org.jacoco.agent.rt.internal_c13123e.core.runtime.ModifiedSystemClassRuntime.createFor(ModifiedSystemClassRuntime.java:101)
at org.jacoco.agent.rt.internal_c13123e.PreMain.createRuntime(PreMain.java:55)
at org.jacoco.agent.rt.internal_c13123e.PreMain.premain(PreMain.java:47)
... 6 more
Caused by: java.lang.NoSuchFieldException: $jacocoAccess
at java.base/java.lang.Class.getField(Class.java:1999)
at org.jacoco.agent.rt.internal_c13123e.core.runtime.ModifiedSystemClassRuntime.createFor(ModifiedSystemClassRuntime.java:138)
... 9 more
*** java.lang.instrument ASSERTION FAILED ***: "result" with …Run Code Online (Sandbox Code Playgroud) 我使用写分散聊天应用程序nodejs,expressjs,angularjs,socket.io和ipfs.我现在用libp2p形成,将相互在一个开放的连接进行通信的节点.Libp2p是一个模块化的IPFS项目网络堆栈.
Libp2p允许我构建nodes能够托管一个swarm或listening/ dialing一个的.我已经发展到几个节点可以通过angularjs(由socket.io补充)网页中的输入相互通信,但是它们的IP地址和tcp端口需要进行硬编码.
我面临的问题是,如果未知数量的用户加入此系统并设置其节点,我该如何处理该方案.我已经完成了大量的研究,DHT特别是它与种子的应用,但我没有接近实际应用它.
我不想运行一个跟踪用户的中央系统,因为跟踪器跟踪种子中的播种机和传感器(由于DHT,现在有些多余)
在集中式聊天应用程序中,每次用户进入或离开时,我都可以使用socket.io信号从服务器向所有对等体发送emit事件.但是,分散式聊天应用程序中的等价物是我正在努力奋斗的东西.
我需要一些指导.
我有javascript应用程序(ReactJs),它将作为移动设备上的Android混合应用程序运行.我不想在移动设备上运行完整的IPFS节点,因为它会消耗大量的内存和能量.如何将我的应用程序连接到IPFS呢?
我看到了https://github.com/ipfs/js-ipfs-api#importing-the-module-and-usage,但它不再适用于移动设备,因为它作为独立服务运行.
可能我必须通过IPFS API(https://ipfs.io/docs/api/)连接到互联网上的某个IPFS节点,但是有没有办法在运行时发现运行节点并选择最快/最近一?
我的理解是 IPFS 和 Bittorrent Mainline DHT 建立在分布式哈希表 (Kademlia) 之上。他们使用文件哈希作为 Kademlia 密钥来查找可能拥有此文件的对等点列表。
1- 我不明白的是,这是否都是分散的,谁从不再托管文件内容的 DHT 对等方中删除?
2- 什么阻止某人在 DHT 中免费存储大量数据?
3- 什么防止某人通过为流行文件添加大量无效对等点来破坏网络。
4- 什么阻止坏人加入 DHT 环而不遵循路由协议,从而阻止发现消息到达正确的节点。
问题
当尝试在我的应用程序中使用 ipfs-api 时,我收到以下错误:
ERROR TypeError: Buffer.from is not a function
at varintEncode (vendor.js:185602)
at Object../node_modules/is-ipfs/node_modules/multicodec/src/varint-table.js
.....
Run Code Online (Sandbox Code Playgroud)
我的打字稿文件
ERROR TypeError: Buffer.from is not a function
at varintEncode (vendor.js:185602)
at Object../node_modules/is-ipfs/node_modules/multicodec/src/varint-table.js
.....
Run Code Online (Sandbox Code Playgroud)
原因
错误语句中提到的文件在内部使用“ Buffer.from ”。
版本详情
我在某处读到这可能是由于版本问题造成的,并且 Buffer API 仅在 Node v5.10.0+ 中可用。
Buffer - 5.6.0 (latest)
Node - 10.17.0
ipfs-api - 26.1.2
Run Code Online (Sandbox Code Playgroud)
所以我认为版本不是我的问题。
我尝试过的
对于抛出错误的文件,我添加了:
var ipfsAPI = require('ipfs-api');
....
ngOnInit() {
this.ipfsApi = ipfsAPI(this.globals.ipfsIp, '5001');
}
Run Code Online (Sandbox Code Playgroud)
并且错误转移到下一个文件,显然这不是一个解决方案,而只是一个尝试。
。
如何解决这个问题?任何帮助,将不胜感激。
我尝试更改令牌基本 URL 以在 opensea.io 上显示 NFT 的新图像。但不会立即更新。
有一种方法可以通过在 Rikeby 测试网上指定force_update=true 来进行更新。
但我不知道如何在主网上更新它。有可能吗?
任何帮助将不胜感激。
随着数字世界中正在发生这种去中心化浪潮,我想知道如何删除刚刚在去中心化网络上上传的一些内容。
据我了解,越来越多的人希望拥有去中心化的服务,因为与客户端-服务器架构相反,这让你对自己的东西拥有更多的所有权,并且一切都更加透明。但是,如果您搞砸了,或者您作为客户的公司搞砸了,他们/您上传了一些您显然不希望其他人访问的个人信息,会发生什么?由于它是一个点对点网络,每个人都可以访问它,并且没有办法强制他们删除它。
我想我想要了解的是,这个去中心化的未来将如何处理私人数据,是否会有一个集中的地方来存放私人数据,然后我们将在 ipfs 和不同的类似应用程序上做其他事情?因为如果是这样的话,那目的是什么,为什么不继续现在这样呢?也许我还没有看到所有的用例......
为了测试,我希望能够在一台机器上运行多个IPFS节点.
这是一个场景:我正在构建基于IPFS核心库的小型服务,遵循制作您自己的IPFS服务指南.当我尝试将客户端和服务器放在同一台机器上时(注意它们每个都将创建自己的IPFS节点),我将得到以下内容:
panic: cannot acquire lock: Lock FcntlFlock of /Users/long/.ipfs/repo.lock failed: resource temporarily unavailable
Run Code Online (Sandbox Code Playgroud) 目前正在制作一个用于发布聊天的基本 DApp,与 Twitter 类似,只是基于智能合约构建。我正在使用安全帽并在本地主机上运行我的应用程序。创建个人资料时,我希望用户能够上传个人资料图片,但是目前每当我尝试这样做时,都会收到以下错误:
POST https://ipfs.infura.io:5001/api/v0/add?stream-channels=true&progress=false 401 (Unauthorized)
Run Code Online (Sandbox Code Playgroud)
伴随着错误消息:
Error uploading file: HTTPError: project id required
at Object.errorHandler [as handleError] (core.js?edc8:103:1)
at async Client.fetch (http.js?8f3e:149:1)
at async addAll (add-all.js?93f2:36:1)
at async last (index.js?7e49:13:1)
at async Object.add (add.js?6672:22:1)
Run Code Online (Sandbox Code Playgroud)
控制台显示该函数发生错误:
const uploadToInfura = async (file) => {
try {
const added = await client.add({ content: file });
const url = `https://ipfs.infura.io/ipfs/${added.path}`;
setFileUrl(url);
} catch (error) {
console.log('Error uploading file: ', error);
}
};
Run Code Online (Sandbox Code Playgroud)
我将在下面附上此页面的完整代码,如果您可以,请告诉我需要修复哪些内容才能停止发生此错误。关于我总体上可以改进的任何其他建议也将不胜感激:)
import { useState, useEffect, useContext, useCallback, useMemo } …Run Code Online (Sandbox Code Playgroud) ipfs ×10
javascript ×3
dht ×2
node.js ×2
bittorrent ×1
blockchain ×1
buffer ×1
chord ×1
distributed ×1
ethereum ×1
gradlew ×1
http-error ×1
java ×1
kademlia ×1
kotlin ×1
metadata ×1
next.js ×1
nft ×1
opensea ×1
p2p ×1
typescript ×1