im是新的,具有块链和坚固性,我试图用相同的键在一个地址上检查2映射结果,假设我有以下代码
contract EventConfirmAccess{
struct eventStruct{
string event_log_time;
string event_name;
string event_id;
uint data_nik;
}
mapping(uint => eventStruct) public dictConfirmAccess;
uint[] public arrayOfData;
function loggingAccess(
uint _nik, string memory _event_log_time,
string memory _event_name, string memory _event_id,
uint _data_nik
) public{
dictConfirmAccess[_nik] = eventStruct(
{
event_log_time : _event_log_time,
event_name : _event_name,
event_id : _event_id,
data_nik : _data_nik
}
);
arrayOfData.push(_nik);
}
function checkData(uint _nik) view public returns(
string memory ,string memory,
string memory ,uint
){
return (
dictConfirmAccess[_nik].event_log_time,
dictConfirmAccess[_nik].event_name,
dictConfirmAccess[_nik].event_id,
dictConfirmAccess[_nik].data_nik
);
}
}假设我在区块链中插入第一条数据:
在此之后,我插入第二个数据:
当我使用checkData函数检查数组时,得到的结果如下:
Result {
'0': '2020-10-11 08:20:00',
'1': 'CONFIRM_2',
'2': 'C_2',
'3': BN {
negative: 0,
words: [ 51784655, 4, <1 empty item> ],
length: 2,
red: null
}
}问题是第一个数组的结果在哪里?如何从区块链中找回它?这是否从区块链中删除(据我所知,区块链数据被永久记录)?
谢谢你的帮助和回答:)
https://stackoverflow.com/questions/69582017
复制相似问题