我正在研究一个用例。我的要求是我需要创建一个订单。订单有一些客户参数。可以多次修改订单。一开始,我想在Ethereum中实现它。因此,我想从UI中获取客户详细信息,并将其存储在智能契约上。但是,问题是一旦部署了契约,我就不能更改它,因为它是不可变的。这个缺点使我无法使用Ethereum。考虑到Corda,我是否可以将客户数据存储为单个记录,并对其进行修改,以便将修改存储在我们可以查询的分类账上。例如,我希望存储客户ID、客户名称、客户购买订单号、订单类型和订单状态。
我如何在Corda数据模型中做到这一点?这些数据是否可以根据智能契约上的编码规则进行修改?数据可以查询吗?
发布于 2017-09-04 09:18:37
是。
在Corda中,您可以使用State来存储信息,在您的示例中,您可以创建一个CustomerDataState类。然后,您将在分类帐上创建该类的实例,以代表您的各种客户。
然后,可以使用事务更新此数据。但并不是所有的交易都被允许。哪些事务是有效的是基于关联的CustomerDataContract中的规则。CustomerDataContract将是无状态的,它的存在只是为了说明CustomerDataState如何随着时间的推移而发展。
然后,可以使用SQL样式的语法从节点的保险库或事务存储中轻松地查询这些数据。
https://stackoverflow.com/questions/46031795
复制相似问题