在Raspberry Pi上,我运行了一个Python脚本,以确保正在测量室温(通过DHT22),然后每半小时将温度记录到CVS文件中。
每天在脚本运行时都会创建一个新的CVS文件。因此,文件的名称为temp_dd-mm-yy.cvs
。这些文件都保存在我的loggings
文件夹中。
我现在想自动将cvs文件固定到IPFS网络,因为我不想每天在终端中写入ipfs add <file.cvs>
。
换句话说,是否有一种方法可以运行一段代码,以确保logging
文件夹中的所有文件每24小时都添加到IPFS网络中?
我已经尝试过IPFS API,但是我没有从中获得任何有用的信息。
答案 0 :(得分:0)
直接通过python,有两种方法可以做到这一点。您可以使用subprocess调用命令来调用ipfs二进制文件,也可以使用urllib之类的东西直接使用REST api。
要使用REST API,您必须将数据添加为POST请求,并将数据作为表单数据传递。
以下是添加两个“文件”的等效curl请求:
$ curl -X POST -F 'file1=somedata' -F 'file2=somemoredata' http://localhost:5001/api/v0/add
{"Name":"QmaJLd3cTDQFULC4j61nye2EryYTbFAUPKVAzrkkq9wQ98",
"Hash":"QmaJLd3cTDQFULC4j61nye2EryYTbFAUPKVAzrkkq9wQ98","Size":"16"}
{"Name":"Qman7GbdDxgT3SzkzeMinvUkaiVduzKHJGE5P2WGPqV2uq",
"Hash":"Qman7GbdDxgT3SzkzeMinvUkaiVduzKHJGE5P2WGPqV2uq","Size":"20"}
有了shell,您可以做一个像这样的cron工作
ipfs add -R /logging
每天。这将是相当有效的,直到您的日志目录真正变得很大为止,即使它一次又一次地添加文件。
当然,您需要将哈希放在某个地方或使用IPNS,以便人们可以实际看到此数据。
答案 1 :(得分:0)
一个简单的解决方案是使用 ipfs-sync 在 IPFS 上保持目录同步。它会为您保留一个目录,如果您需要一致的数据地址,还会为您更新 IPNS 密钥。
如果您愿意,也可以将其调整为仅每 24 小时更新一次 IPNS。
免责声明:我是 ipfs-sync 的创建者和维护者。