【问题标题】:How to upload a file, attach and download in corda?如何在corda中上传文件,附加和下载?
【发布时间】:2018-06-20 11:56:53
【问题描述】:

我尝试通过以下链接上传和发送文件 https://github.com/corda/corda/tree/release-M14

当我尝试在 Cordaapp 示例中使用它时,它显示了许多错误。有没有简单的例子来上传文件并附加?有没有其他简单的例子可以参考?

【问题讨论】:

    标签: attachment blockchain corda ibm-blockchain blockchain.info-api


    【解决方案1】:

    查看黑名单示例here

    您可以通过 HTTP 将附件上传到节点:

    <form action="/upload/attachment" method="post" enctype="multipart/form-data">
        <div class="form-group">
            <input type="file" name="jar" class="form-control">
        </div>
        <br>
        <button type="submit" class="btn btn-default">Upload JAR</button>
    </form>
    

    或者您可以使用 RPC 客户端上传附件:

    val nodeAddress = parse(arg)
    val rpcConnection = CordaRPCClient(nodeAddress).start("user1", "test")
    val proxy = rpcConnection.proxy
    
    val attachmentHash = uploadAttachment(proxy, JAR_PATH)
    

    然后将附件添加到TransactionBuilder,如下所示:

    val txBuilder = TransactionBuilder(notary)
        .addAttachment(attachmentHash)
    

    获取附件哈希的位置取决于您。例如,您可以将其作为参数传递给流程。

    【讨论】:

    • 非常感谢。如何将附件传递给其他节点并从其他节点下载?
    • 如果一个附件在节点A发送给节点B的事务中被哈希引用,而节点B从未见过该哈希对应的附件,他们会自动向节点A请求并缓存它本地。
    • 当您说cache it locally 时,您的意思是它由节点 B 保存在内存中,直到它完成处理事务,还是永久保存在节点 B 的数据库中?
    • 附件作为 blob 永久保存在节点的数据库中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多