chainlink是否有可靠的方法来验证存储在IPFS上的哈希后面的文件的大小/格式



我们的想法是采用分布式方式,使用类似Chainlink:的区块链Oracle从solidity智能合约中检索存在、字节大小和文件格式

IPFS上存储的图像示例:https://ipfs.io/ipfs/QmYjh5NsDc6LwU3394NbB42WpQbGVsueVSBmod5WACvpte

import "@chainlink/contracts/src/v***/IPFSConsumer.sol";
contract VerifyFile is IPFSConsumer {
    // hashIPFS: QmYjh5NsDc6LwU3394NbB42WpQbGVsueVSBmod5WACvpte
    function verify(bytes32 hashIPFS) public returns (bool, uint256, string) {
         bytes32 requestId = IPFSmetadata(hashIPFS);
         // ... fulfill request with requestId
    }
}

import "@chainlink/contracts/src/v***/IPFSInterface.sol";
contract VerifyFile {
    IPFSInterface internal IPFSmetadata
    
    // hashIPFS: QmYjh5NsDc6LwU3394NbB42WpQbGVsueVSBmod5WACvpte
    function verify(bytes32 hashIPFS) public returns (bool, uint256, string) {
         (bool exists, uint256 size, string format) = IPFSmetadata.fromHash(hashIPFS);
         return ...
    }
}

TL;博士:有了Chainlink,如果你能写一个能做到的程序,你就能做到


更长的答案:这是IPFS链路外部适配器的概念验证。

你想做的是将你的合同连接到一个节点,该节点有一个作业:

  1. 从您的合同中调用IPFS API
  2. 从哈希中返回文件的大小

是的,这是可能的。不,有人以前没有这样做过。你会是第一个。以下是有关构建和使用外部适配器的更多信息。

最新更新