小编fre*_*rth的帖子

通过python计算uniswap对地址

我正在尝试基于此Solidity 示例,使用 python、web3 和 eth-abi 库计算(离线,即没有 http 请求)Uniswap 对的地址。

address factory = 0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f;
address token0 = 0xCAFE000000000000000000000000000000000000; // change me!
address token1 = 0xF00D000000000000000000000000000000000000; // change me!

address pair = address(uint(keccak256(abi.encodePacked(
  hex'ff',
  factory,
  keccak256(abi.encodePacked(token0, token1)),
  hex'96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f'
))));
Run Code Online (Sandbox Code Playgroud)

有一些想法:

hexadem_ ='0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f'
hexadem_1 = 0xff
abiEncoded_1 = encode_abi_packed(['address', 'address'], (  token_0, token_1 ))
salt_ = web3.Web3.solidityKeccak(['bytes'], ['0x' +abiEncoded_1.hex()])
abiEncoded_2 = encode_abi_packed(['bytes', 'address', 'bytes32'], (bytes(hexadem_1), factory, salt_))
resPair = web3.Web3.solidityKeccak(['bytes','bytes'], ['0x' +abiEncoded_2.hex(), hexadem_])
Run Code Online (Sandbox Code Playgroud)

有人可以建议我,出了什么问题,应该考虑哪种方式?

python hex solidity web3py uniswap

2
推荐指数
1
解决办法
4138
查看次数

标签 统计

hex ×1

python ×1

solidity ×1

uniswap ×1

web3py ×1