在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:RTradeLtd/storj-ipfs-ds-plugin开源软件地址:https://github.com/RTradeLtd/storj-ipfs-ds-plugin开源编程语言:Go 97.5%开源软件介绍:Storj-IPFS-DS-Plugin (Alpha)DO NOT USE FOR IMPORTANT DATA This repository contains code to facilitate running an IPFS node using the Storj network as the datastorage backend. It does this leveraging a good chunk of code that was borrowed from go-ds-s3. The immediate benefit to a system like this is a mass amount of data protection (redundancy, decentralization, and durability) not present with traditional IPFS nodes. Traditional IPFS nodes require many copies of the data to spread it amongst multiple hosts and to achieve redundancy measures. However, when combined with Storj a single IPFS node is atuomatically distributing data across a vast number of machines accomplishing:
1: Data is stored within the Storj network encrypted, however this does not imply that the data is encrypted to the IPFS network. Simply sharing the content hash to someone is enough for them to be able to pull the data and decrypt it. Contents
InstallNote 1: the build process assumes that the IPFS repository will be placed in Note 2: This must be worked on in an appropriate Golang environment designed to work with To build from, and install from source on a machine which already has an initialized IPFS instance, you can run the following command. git clone https://github.com/RTradeLtd/storj-ipfs-ds-plugin.git
cd storj-ipfs-ds-plugin
make install If you aren't running this on a machine that already has an initialized IPFS node, running the following commands will handle the initialization process git clone https://github.com/RTradeLtd/storj-ipfs-ds-plugin.git
cd storj-ipfs-ds-plugin
make first-install Running either of the above When running STORJ_ACCESS_KEY=...
STORJ_SECRET_KEY=... DevelopingThis uses the After making any changes to After making any changes to DependenciesAll dependencies needed are shipped with this repository. It uses go-ipfs 0.4.18, with all IPFS dependencies managed by None IPFS dependencies are managed by This has only been tested with go1.11+ WarningsBeing alpha level software there are a ton of gotchas please read the following in detail Superficial Data LossThis is still very much experimental software and lots of issues are present. The most notable issue is that when storing data into S3 via Storj, anytime you restart a node it appears as if "data is lost". Data is not actually lost, and it is still stored in the S3 interface, but running a command such as There are a few potential causes for this:
InconsistenciesThere are numerous data inconsistencies (albeit superficial). For example note the following output from solidity@dark:~/go/src/github.com/RTradeLtd/storj-ipfs-ds-plugin/build$ ./ipfs repo stat
NumObjects: 0
RepoSize: 28881
StorageMax: 10000000000
RepoPath: /home/solidity/.ipfs
Version: fs-repo@7 But now note the output from solidity@dark:~/go/src/github.com/RTradeLtd/storj-ipfs-ds-plugin/build$ ./ipfs pin ls | wc -l
162 PerformancePerformance when running in a local development environment (ie, ConfigurationIPFSIf you need to manually configure "Datastore": {
"StorageMax": "10GB",
"StorageGCWatermark": 90,
"GCPeriod": "1h",
"Spec": {
"mounts": [
{
"child": {
"accessKey": "45qhD6QdHjrNJ65vua16ZoRwEtTV",
"secretKey": "4MFwsyGXCuuND15Wt37P7MH8HvVV",
"bucket": "go-ipfs-storj-5",
"region": "us-east-1",
"endpoint": "http://127.0.0.1:9000",
"rootDirectory": "",
"type": "storj",
"logPath": ""
},
"mountpoint": "/blocks",
"name": "storj",
"type": "log"
},
{
"child": {
"compression": "none",
"path": "datastore",
"type": "levelds"
},
"mountpoint": "/",
"prefix": "leveldb.datastore",
"type": "measure"
}
],
"type": "mount"
},
"HashOnRead": false,
"BloomFilterSize": 0
}, You will then need to update {"mounts":[{"bucket":"go-ipfs-storj-5","endpoint":"http://127.0.0.1:9000","mountpoint":"/blocks","region":"us-east-1","rootDirectory":""},{"mountpoint":"/","path":"datastore","type":"levelds"}],"type":"mount"} StorjWhen using a remote satellite,, you'll probably want to update your rs (reed-solomon) settings of the Storj minio gateway to something like # the largest amount of pieces to encode to. n.
rs.max-threshold: 50
# the minimum pieces required to recover a segment. k.
rs.min-threshold: 20
# the minimum safe pieces before a repair is triggered. m.
rs.repair-threshold: 25
# the desired total pieces for a segment. o.
rs.success-threshold: 40
`` |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论