标签: ipfs

IPFS和Filecoin之间的区别?

它们似乎都将文件存储在分散的网络中.那么它们在数据结构和算法方面的区别是什么呢?而且在用例方面它们之间有什么区别?

如果我将文件存储在IPFS或Filecoin中,它会永久保留在那里还是会丢失?

bitcoin blockchain ethereum ipfs

5
推荐指数
1
解决办法
1089
查看次数

如何使用Django将表单/字段内容上载到IPFS节点?

我想覆盖django ImageField的上传行为,以便在上传到某个url后,该文件将被添加到ipfs节点.

例如,我的模型类似于:

class Profile(models.Model):
    picture = models.ImageField(upload_to=upload_location, blank=True)
Run Code Online (Sandbox Code Playgroud)

我首先尝试保存它,就像任何其他图像一样,但是我给它一个IPFS哈希,这将允许用户加载数据客户端.

在我的视图中,我有以下代码来获取运行ipfs守护程序的实例.

import ipfsapi
from subprocess import call

os.system("ipfs daemon")
api = ipfsapi.connect('127.0.0.1', 5001)
Run Code Online (Sandbox Code Playgroud)

当我尝试运行时,python manage.py makemigrations或者runserver守护程序运行但命令的其余部分没有运行.

Initializing daemon...
Swarm listening on /ip4/127.0.0.1/tcp/4001
Swarm listening on /ip4/174.56.29.92/tcp/4001
Swarm listening on /ip4/192.168.1.109/tcp/4001
Swarm listening on /ip6/::1/tcp/4001
API server listening on /ip4/127.0.0.1/tcp/5001
Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080
Daemon is ready
Run Code Online (Sandbox Code Playgroud)

如何启动ipfs守护进程和django服务器?它看起来不像是在同一个端口上监听(Django 8000,IPFS 8080),为什么我遇到这个问题呢?

python django port ipfs

5
推荐指数
1
解决办法
434
查看次数

如何在IPFS上进行跨源请求

所以我想把一个网站放在ipfs上,但是它有一些javascript可以调用一个不是ipfs网关的服务器,所以我得到了交叉来源的错误.知道怎么做吗?

cross-domain cors ipfs

5
推荐指数
1
解决办法
2606
查看次数

如何将文件从浏览器发送到远程IPFS网关

我有一个输入字段正在调用_getFile函数

<input type="file" class="file" on-change="_getFile"/>
Run Code Online (Sandbox Code Playgroud)

获取文件

_getFile(event) {
  this.loading = true;
  const file = event.target.files[0];
  let reader = new window.FileReader()
  reader.onloadend = () => this._saveToIpfs(reader)
  reader.readAsArrayBuffer(file)
 }
}
Run Code Online (Sandbox Code Playgroud)

一旦有了数组缓冲区,我们就调用...

_saveToIpfs(data){

}
Run Code Online (Sandbox Code Playgroud)

这是我需要的帮助,我想将选定的文件发送到' https://ipfs.infura.io:5001/api/v0/add '或' https://ipfs.io/api/v0/加 '怎么办?是xhr帖子吗?我希望得到IPFS哈希值

下面的简单形式似乎是上传文件,然后由于错误ERR_CONTENT_LENGTH_MISMATCH而断开连接

<form action="https://ipfs.io/api/v0/add/" method="post" enctype="multipart/form-data">
    Select image to upload:
    <input type="file" name="fileToUpload" id="fileToUpload">
    <input type="submit" value="Upload Image" name="submit">
</form>
Run Code Online (Sandbox Code Playgroud)

我也尝试过经典的XHR

_getFile(event) {
const file = event.target.files[0];
var data = new FormData();
data.append('path', event.target.files[0]);
var request = new XMLHttpRequest();
request.onreadystatechange = function(){
    if(request.readyState == 4){ …
Run Code Online (Sandbox Code Playgroud)

ipfs

5
推荐指数
1
解决办法
1570
查看次数

我是否需要 IPFS 守护进程从浏览器上传文件?

我正在使用 IPFS 处理这个项目,我正在尝试创建一个网站,允许用户将文件直接从浏览器上传到 IPFS。我的目标是该网站将成为一个前端网站,但是每当我将文件添加到 IPFS 并检查它的哈希值时,https://gateway.ipfs.io/ipfs/hash-here什么都没有发生,这让我认为这些文件可能没有上传到 IPFS,因为我没有运行它在我的本地机器上。这样对吗?

const Buffer = require('safe-buffer').Buffer;

export default function uploadFiles(node, files) {

    let reader = new FileReader();

    reader.onloadend = () => {

        let byteData = reader.result.split('base64,')[1];
        let fileData = Buffer.from(byteData);

        node.files.add(fileData, (err, res) => {

            if (err) {
                throw err
            }

            let hash = res[0].hash
            console.log(hash);  ///////prints a hash that isnt visible on 
                                //gateway

            node.files.cat(hash, (err, res) => {
                if (err) {
                    throw err
                }
                let data = ''
                res.on('data', (d) => { …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs ipfs

5
推荐指数
1
解决办法
1753
查看次数

有没有办法在heroku上运行IPFS守护进程?

我在 Heroku 上有一个 Django 应用程序,需要与 IPFS 交互。有人找到了运行 IPFS 守护进程的方法吗?为了让 python IPFS API 能够从 IPFS 读取和写入文件,需要它。

在 Heroku 上谷歌搜索 IPFS 是没有用的。

也许有一种明显的方法可以与我的 Django 应用程序一起启动 IPFS 守护进程,但我不知道如何设置它,也就是说,如果可能的话。

python heroku ipfs

5
推荐指数
0
解决办法
496
查看次数

在Docker环境中设置IPFS群集

我正在尝试使用docker设置2节点专用IPFS群集。为此,我正在使用ipfs/ipfs-cluster:latest图像。

我的docker-compose文件如下所示:

version: '3'
services:
  peer-1:
    image: ipfs/ipfs-cluster:latest
    ports:
      - 8080:8080
      - 4001:4001
      - 5001:5001
    volumes:
      - ./cluster/peer1/config:/data/ipfs-cluster
  peer-2:
    image: ipfs/ipfs-cluster:latest
    ports:
      - 8081:8080
      - 4002:4001
      - 5002:5001
    volumes:
      - ./cluster/peer2/config:/data/ipfs-cluster
Run Code Online (Sandbox Code Playgroud)

启动容器时出现以下错误

ERROR   ipfshttp: error posting to IPFS: Post http://127.0.0.1:5001/api/v0/repo/stat?size-only=true: dial tcp 127.0.0.1:5001: connect: connection refused ipfshttp.go:745
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明 请帮助解决问题。

是否有关于如何在docker上设置IPFS集群的适当文档。文档缺少许多细节。

谢谢。

docker ipfs

5
推荐指数
1
解决办法
1077
查看次数

solid和ipfs之间的区别

Tim Berners-Lee最近宣布了Solid。这与ipfs有什么不同,可以一起使用吗?

web ipfs solid

5
推荐指数
2
解决办法
373
查看次数

无法访问Vue3JS Vite项目中的流程变量

我正在创建一个 vue3 应用程序(使用 Vite 创建),它与用 Solidity 编写并存储在 Ropsten 上的智能合约进行交互。因此,我使用 web3js 与我的智能合约以及 web3.storage 进行交互,以便在 IPFS 上存储一些图像。我的项目根目录中有一个.env文件,用于存储 web3.storage 的 API 密钥:

VUE_APP_API_TOKEN=VALUE
VITE_API_TOKEN=VALUE
Run Code Online (Sandbox Code Playgroud)

问题是显然 web3.storage 期望 API 令牌存储在 process.env 中,而我无法process从我的应用程序访问全局变量。我总是收到错误Uncaught ReferenceError: process is not defined

我认为,这与我使用 Vite 而不是纯粹的 Vue3 有关。我尝试vite.config.ts使用该代码导出文件中的进程环境,但它不起作用:

export default ({ mode }) => {
   process.env = { ...process.env, ...loadEnv(mode, process.cwd(), '') };

   console.log(process.env.VITE_API_TOKEN)         //Works fine: VALUE is logged
   console.log(process.env.VUE_APP_API_TOKEN)      //Works fine: VALUE is logged

   return defineConfig({
       plugins: [vue()]
   });
}
Run Code Online (Sandbox Code Playgroud)

如何 …

javascript vue.js ipfs web3js vite

5
推荐指数
1
解决办法
7743
查看次数

如何在 swift 中使用 avplayer 播放来自 ipfs url 的视频

我有一个 ipfs 加密的视频 URL。
我无法在 avplayer 中播放视频,但 URL 在 webview 中播放良好。
这是网址: https: //ipfs.moralis.io:2053 /ipfs/QmUjWnQZVVNmTSVak2QDhTxMkn3dPQozxawa1sm3jE5bLr

let currentURL = URL(string: "https://ipfs.moralis.io:2053/ipfs/QmUjWnQZVVNmTSVak2QDhTxMkn3dPQozxawa1sm3jE5bLr")!
let playerItem = AVPlayerItem(url: currentURL)
playerItem.addObserver(self, forKeyPath: "status", options: NSKeyValueObservingOptions(), context: nil)
player = AVPlayer(playerItem: playerItem)let playerLayer = AVPlayerLayer(player: player)
playerLayer.frame = self.avplayerUIView.bounds
self.avplayerUIView.layer.addSublayer(playerLayer)
player.play()
Run Code Online (Sandbox Code Playgroud)

另外,我已将 AVUrlAssets 与视频扩展和视频编解码器一起使用,但视频仍然无法播放

let mimeType = "video/mp4; codecs=\"avc1.42E01E, mp4a.40.2\""
let asset: AVURLAsset = AVURLAsset(url: videoURL!, options: ["AVURLAssetOutOfBandMIMETypeKey" : mimeType])
Run Code Online (Sandbox Code Playgroud)

ios avplayer swift ipfs moralis

5
推荐指数
1
解决办法
889
查看次数