堅固な契約が他の契約のマッピングにアクセスする方法
より多くのブロックチェーンテクノロジーとアプリケーション分類:
エラーコード
訪問した契約
contract BagUserAdmin {
mapping(bytes32 => RecordBean) bagRecordOf;
}
アクセス契約
contract UserGiveLikes{
BagUserAdmin internal bagUserAdmin;
constructor(address BagUserAdminAddress){
bagUserAdmin = BagUserAdmin(BagUserAdminAddress);
}
// 直接去访问该合约对象的mapping
bagRecordBean = bagUserAdmin.bagRecordOf[TypeConvertUtil.stringToBytes32(_forBagid)];
}
正しく引用:
contract BagUserAdmin is TableDefTools{
mapping(bytes32 => RecordBean) bagRecordOf;
function getBagValues(string _bagid) public view returns(string []){
return bagRecordOf[TypeConvertUtil.stringToBytes32(_bagid)].values;
}
}
contract UserGiveLikes{
BagUserAdmin internal bagUserAdmin;
constructor(address BagUserAdminAddress){
bagUserAdmin = BagUserAdmin(BagUserAdminAddress);
}
// 通过getter方法去访问该合约对象的mapping
bagRecordValues = bagUserAdmin.getBagValues(_forBagid);
}