新的区块链和智能合同。一直在做研究,我意识到我不能更新我的交易智能合同。是否可以将数据库数据存储为分类帐的一个条目,或者在只有我更新的事务智能契约中才能访问以获取数据的另一个智能契约中?
例如
用户希望向组织捐款。他的钱包需要吸引所有可能的组织,让他从我希望分散的数据库中选择。
我可以把组织和钱包地址存放在哪里,以及更新或删除它们?另外,我还想添加一个组织的子部分及其地址。
例如
用户钱包拉进来:
我会读唯一一个添加组织并删除它们。有什么办法在区块链内部实现分散吗?
克里斯
发布于 2017-08-29 17:54:22
智能契约可以将数组和映射作为数据结构,将状态永久存储在块链上,智能契约的函数可以修改它们。
对于您的例子,您可以使用这样的东西:
pragma solidity ^0.4.16;
contract MyOrgDatabase {
struct Organization {
address _where;
string _name;
}
Organization[] public availableOrgs;
address public owner = msg.sender;
function addOrg(address _where, string _name) {
require(msg.sender == owner);
availableOrgs.push(Organization(_where, _name));
}
}该合同具有一个公共availableOrgs属性,任何人都可以从区块链中读取该属性。但是,只有创建契约的地址( owner)才能将组织添加到列表中(您可能还希望添加从列表中删除组织的功能,或者更改功能齐全的合同的合同所有权,但这应该会给您提供一个想法)。
https://ethereum.stackexchange.com/questions/25422
复制相似问题