V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
railsboy
V2EX  ›  程序员

如何从链上抓取 mirror 数据

  •  
  •   railsboy · 2022-09-22 10:18:42 +08:00 · 1445 次点击
    这是一个创建于 785 天前的主题,其中的信息可能已经有所发展或是发生改变。

    实现方式是通过 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),那么我如何区分呢,因为我要把现在最新的数据保存起来

    4 条回复    2022-09-22 17:03:07 +08:00
    skenan
        1
    skenan  
       2022-09-22 12:49:11 +08:00
    Graphgl 里有个 original_content_digest ,用户修改的文章也会用这个 field ,然后相同覆盖即可
    railsboy
        2
    railsboy  
    OP
       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
        3
    railsboy  
    OP
       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
        4
    railsboy  
    OP
       2022-09-22 17:03:07 +08:00
    这里的 owner 我是清楚的,Original-Content-Digest value 我目前不知道,是不是我需要先获取 Original-Content-Digest ?这个如何获取呀
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5765 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 03:19 · PVG 11:19 · LAX 19:19 · JFK 22:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.