保存地址
Saving Addresses
我有项目地址,我想创建更多具有功能的项目。所以我想把这些地址保存在某个地方。
那么,这些项目地址应该不止一个key。
我也想用项目地址访问这些键。
比如我有项目1地址。项目 1 以 apple 的地址和 Orange 的地址作为键
当我问“project 1地址有apple的地址吗?”它应该 return 正确
重要的部分是我想创建一个具有功能的项目,然后按照我说的那样到达他们。
我该怎么做?
您可以将地址存储在映射中,其中键是字符串“apple”、“banana”等
如果设置了键则没有验证(因为映射存储数据的方式)。但是您可以验证指定键的值是否为非零(零是默认值)。
pragma solidity ^0.8.4;
contract Project {
mapping (string => address) addresses;
constructor() {
addresses['apple'] = address(0x123);
addresses['orange'] = address(0x456);
}
function hasAddressOf(string memory _identifier) external view returns (bool) {
return addresses[_identifier] != address(0);
}
}
此合约可以部署到“项目 1 地址”。然后,您的客户端应用会调用其 hasAddressOf()
函数来查看“项目 1 是否存储了橙色地址”。
或者更简单的 Solidity 代码,您可以在其中创建 addresses
属性 public.
客户端应用可以获得addresses['apple']
which returns 0x123
or addresses['mango']
which returns 0x0
.[=18的值=]
pragma solidity ^0.8.4;
contract Project {
mapping (string => address) public addresses;
constructor() {
addresses['apple'] = address(0x123);
addresses['orange'] = address(0x456);
}
}
我有项目地址,我想创建更多具有功能的项目。所以我想把这些地址保存在某个地方。 那么,这些项目地址应该不止一个key。 我也想用项目地址访问这些键。
比如我有项目1地址。项目 1 以 apple 的地址和 Orange 的地址作为键 当我问“project 1地址有apple的地址吗?”它应该 return 正确 重要的部分是我想创建一个具有功能的项目,然后按照我说的那样到达他们。 我该怎么做?
您可以将地址存储在映射中,其中键是字符串“apple”、“banana”等
如果设置了键则没有验证(因为映射存储数据的方式)。但是您可以验证指定键的值是否为非零(零是默认值)。
pragma solidity ^0.8.4;
contract Project {
mapping (string => address) addresses;
constructor() {
addresses['apple'] = address(0x123);
addresses['orange'] = address(0x456);
}
function hasAddressOf(string memory _identifier) external view returns (bool) {
return addresses[_identifier] != address(0);
}
}
此合约可以部署到“项目 1 地址”。然后,您的客户端应用会调用其 hasAddressOf()
函数来查看“项目 1 是否存储了橙色地址”。
或者更简单的 Solidity 代码,您可以在其中创建 addresses
属性 public.
客户端应用可以获得addresses['apple']
which returns 0x123
or addresses['mango']
which returns 0x0
.[=18的值=]
pragma solidity ^0.8.4;
contract Project {
mapping (string => address) public addresses;
constructor() {
addresses['apple'] = address(0x123);
addresses['orange'] = address(0x456);
}
}