Ethereum 退出骗局稳固游戏
我在查出口骗局的游戏代码。但有些台词我一点也不懂。 第189行:Ethereum 退出骗局稳固游戏,ethereum,solidity,Ethereum,Solidity,我在查出口骗局的游戏代码。但有些台词我一点也不懂。 第189行:…接口(…)上为什么有地址 F3DexternalSettingsInterface constant private extSettings = F3DexternalSettingsInterface(0x32967D6c142c2F38AB39235994e2DDF11c37d590); 在第196行和第1814行: 为什么接口的功能没有实现?有没有其他的源代码我在这里丢失了 uint256 private rndExtr
…接口(…)上为什么有地址代码>
F3DexternalSettingsInterface constant private extSettings = F3DexternalSettingsInterface(0x32967D6c142c2F38AB39235994e2DDF11c37d590);
在第196行和第1814行:
为什么接口的功能没有实现?有没有其他的源代码我在这里丢失了
uint256 private rndExtra_ = extSettings.getLongExtra(); // Line 196
...
interface F3DexternalSettingsInterface {
function getFastGap() external returns(uint256);
function getLongGap() external returns(uint256);
function getFastExtra() external returns(uint256);
function getLongExtra() external returns(uint256); //<--Line 1814
}
uint256私有rndExtra_u2;=extSettings.getLongExtra();//第196行
...
接口F3DexternalSettingsInterface{
函数getFastGap()外部返回(uint256);
函数getLongGap()外部返回(uint256);
函数getFastExtra()外部返回(uint256);
函数getLongExtra()外部返回(uint256);//是,代码位于第189行的地址。
这意味着这个地址是负责实现这些函数的地址,这就是为什么它们没有在主合同中实现。现在代码没有得到验证,所以我不知道它是如何实现的,但看看字节码,我们可以看到函数签名与函数名匹配。因此,ge的前四个字节用keccak256散列后的tFastGap()是0x18d0376c,它匹配从字节44开始的操作码。通过散列其他三个操作码,您也可以看到其他三个操作码。回答您的主要问题:在…接口(…)上有地址的原因;是指他们可以将责任划分为不同的合同,并让主合同调用其他合同
您的第二个问题是为什么他们的一些分包合同没有源代码。我相信团队故意没有将源代码放入etherscan。
Fomo3d游戏的大多数其他合同都有源代码,如其主合同:
但是,合同JIincForwarder中引用的F3DexternalSettingsInterface at和接口JiincInterfaceForForForForForForForForForForwarder:不是开源的。那么,我如何找到它是如何实现的?它是否存储在其他地方?@Hamilton只要它在那里实现,字节码就是所有solidity和其他以太坊语言Vyper编译成字节码,这就是指令和实现。