如何从链上抓取 mirror 数据

2022-09-22 10:18:42 +08:00
 railsboy

实现方式是通过 Arweave ,用 graph 的语法通过 owner 来获取 transaction 的 node id 的信息,进而用 viewblock 接口通过 node id 来获取每篇博客的数据,包括文章标题,内容,时间戳,文章中附带的图片地址等

最终获取的数据 view block 的数据是这样的: https://efq3hllql3fenbpsg6ovjxe2e5nrl3on64zx4rqcbfvh6qq2kgna.arweave.net/ERUS2Kx-BRqSmx0uN45PlTbFnx8WHEO6nRpzD23Hz8U

还有这样的 https://efq3hllql3fenbpsg6ovjxe2e5nrl3on64zx4rqcbfvh6qq2kgna.arweave.net/qIuyNLX_X1tgtHdztjP7IkA7BaVFumb7-Ei2r5vUGPk

现在遇到的问题是获取的 node id(用户可能修改或者删除,都会增加新的 node),那么我如何区分呢,因为我要把现在最新的数据保存起来

1256 次点击
所在节点    程序员
4 条回复
skenan
2022-09-22 12:49:11 +08:00
Graphgl 里有个 original_content_digest ,用户修改的文章也会用这个 field ,然后相同覆盖即可
railsboy
2022-09-22 13:35:44 +08:00
@skenan
```
query GetMirrorTransactions {
transactions(tags:[
{
name:"App-Name",
values:["MirrorXYZ"],
},
{
name:"Contributor",
values:["0xceA7F8364B4dB44c815514331e2d731eEA15b075"]
}
], sort:HEIGHT_DESC, first: 10){
edges {
node {
id
}
}
}
}
```

想问下如果加上 original_content_digest ,怎么写呀😂
railsboy
2022-09-22 17:02:20 +08:00
```
query GetMirrorTransactions {
transactions(tags:[
{
name:"App-Name",
values:["MirrorXYZ"],
},
{
name: "Original-Content-Digest",
values: "EQ7BFu1grZ-3kdJBypB0B-ISnR9He8lhbK0w3XR_Q4U"
}
{
name:"Contributor",
values:["0x1e56978214A303d9140D8a90af1e1B980fe63107"]
}
], sort:HEIGHT_DESC, first: 10){
edges {
node {
id
}
}
}
}
```
最终是修改成这样
railsboy
2022-09-22 17:03:07 +08:00
这里的 owner 我是清楚的,Original-Content-Digest value 我目前不知道,是不是我需要先获取 Original-Content-Digest ?这个如何获取呀

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/882060

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX