かなり大きなフォルダが与えられ、既にネットワークにプッシュされ、ローカルに削除されています。フォルダ全体を再ダウンロードせずに、そのフォルダにファイルを追加する方法は?IPFS:既存のフォルダにファイルを追加するにはどうすればよいですか?
答えて
ipfs get
で再びそれをダウンロードした後
IPNSを使用することによってそれを行うことができるだけで
:
(1)最初に追加します(つまり、再追加)あなたをipfsに再帰的にフォルダ:ipfs add -r /path/to/folder
。最後のstdout行の2番目の列には、追加したばかりの親フォルダのipfsハッシュがあります。 (元のファイルは同じなので、ハッシュも同じになります)。
(2)次に、そのハッシュを公開します。ipfs name publish /ipfs/<CURRENT_PARENTFOLDER_HASH>
。これにより、ピアIDが返され、リンクを/ipns/<PEER_ID>
として共有できます。フォルダの内容(したがって親フォルダのハッシュ)が変更されるたびにこの手順(ipfs name publish
)を繰り返します。 ipnsオブジェクトは、常に最新のバージョンのフォルダを指します。
(3)多くの共有を計画している場合は、共有するフォルダごとに新しい鍵ペアを作成することができます。ipfs key gen --type=rsa --size=2048 new-share-key
...その鍵を(既定の鍵の代わりに)使用して、そのフォルダを公開します:ipfs name publish --key=new-share-key /ipfs/<CURRENT_PARENTFOLDER_HASH>
はここにもマニュアルを参照してください:https://ipfs.io/docs/commands/#ipfs-name-publish
いいえ、できません。 IPFSの背後にあるコンセプトは不変です。フォルダは単なるファイルのツリーなので、フォルダを追加した後でファイルを「追加」することはできません。
これは、ファイルAPIを使用して簡単にする必要があります。すでにIPFSに新しいファイルを追加し、そのハッシュを取得していると仮定すると、試してみてください。
ipfs files cp /ipfs/QmExistingLargeFolderHash /folder-to-modify
ipfs file cp /ipfs/QmNewFileHash /folder-to-modify/new-file
(フォルダやファイルは不変であるため)もちろんこれは、既存のフォルダにファイルを追加しませんが、それだけでコピーが作成されます/新しいファイルが追加されたフォルダの新しいバージョン。
ipfs files ls -l/# to get the new hash of the folder
ファイルのAPIが参照されているファイルをピンまたは必要な場合を除き任意のサブフォルダを取得するので、これは、大量のトラフィックを発生させることなく、ネットワーク内の任意のノード上で行うことができません。したがって、それは新しいハッシュを持つことになります。
[編集] しばらく後に、私はあなたが行うことができますいくつかのより多くの事があることを学ぶ:
代わりの
ipfs file cp /ipfs/QmNewFileHash /folder-to-modify/new-file
あなたがいない場合は、
ipfs files write -te
を使用することができますが、 ipfsにファイルを追加しました。- HTTP APIの書き込み機能を有効にして、
PUT
要求を使用して、新しいバージョンのフォルダのハッシュを取得できます。 this blogpostを参照してください。 - fuse経由でipnsをマウントし、
…/ipns/local
に書き込むことができます。 - おそらく最高です:
ipfs object patch add-link /ipfs/QmExistingLargeFolderHash new-file /ipfs/QmNewFileHash
を使用して1ステップで実行できます
- 1. 既存のCSVファイルに追加の列を追加するにはどうすればよいですか?
- 2. vs 2008のソリューションレベルに既存のフォルダを追加するにはどうすればよいですか?
- 3. 既存のフォルダをEclipseのプロジェクトに追加するにはどうすればよいですか?
- 4. 既存のCSVファイルに新しいリストを追加するにはどうすればよいですか?
- 5. 既存のxmlファイルに新しいプロパティを追加するにはどうすればよいですか?
- 6. 既存のテンソルに追加のチャンネルを追加するにはどうすればよいですか?
- 7. NuGetパッケージの既存ファイルに数行のコードを追加するにはどうすればよいですか?
- 8. Railsの既存のxlsmファイルに行/列を追加するにはどうすればよいですか?
- 9. 既存のPythonファイルをPyCharmプロジェクトにインポート/追加するにはどうすればよいですか?
- 10. CURLを使用して既存のファイルを追加するにはどうすればよいですか?
- 11. Pythonで既存のCSVファイルに列を追加するにはどうすればいいですか?
- 12. 既存の依存関係プロパティコールバックにロジックを追加するにはどうすればよいですか?
- 13. 既存のexeファイルにアイコンを追加するにはどうすればいいですか?
- 14. kubernetesの既存のIngressに新しいホストを追加するにはどうすればよいですか?
- 15. javascriptの既存のオブジェクトに新しいオブジェクトプロパティを追加するにはどうすればよいですか?
- 16. フルカレンダーの既存のインスタンスにさらにイベントを追加するにはどうすればよいですか?
- 17. 既存のHyperledgerファブリックネットワークに新しいピアを追加するにはどうすればよいですか?
- 18. Visual Studio 2017からGitHubに既存のソリューションを追加するにはどうすればよいですか?
- 19. Sourceを既存のグラフに動的に追加するにはどうすればよいですか?
- 20. プログラムで既存のgridviewに列を追加するにはどうすればよいですか?
- 21. 既存のプロジェクトをroslynでC#ソリューションに追加するにはどうすればよいですか?
- 22. ActiveAdminで既存の文字列フィルタにORを追加するにはどうすればよいですか?
- 23. 既存のテーブルの特定の列にデータを追加するにはどうすればよいですか?
- 24. インタラクティブセッション内の既存のクラス(iPython)にモデルメソッドを追加するにはどうすればよいですか?
- 25. 既存のコメントをRubyのRDocに追加するにはどうすればよいですか?
- 26. AWS dynamo dbの既存のテーブルにプライマリソートキーを追加するにはどうすればよいですか?
- 27. D3の既存のアイテムリストにリストアイテムを追加するにはどうすればよいですか?
- 28. Djangoの既存のモデルにデータを追加するにはどうすればよいですか?
- 29. pandasの既存のデータフレームに行を追加するにはどうすればよいですか? - python
- 30. Rails 5の既存のクラスにメソッドを追加するにはどうすればよいですか?