BitGo的新版智能合约,create2技术 GitHub在这里 下面有测试代码,看合约加测试就会了。 这个解决了很多问题,共享经济的等等应用场景。
终于做出来了,代码在这里:
const forwardAddress = ‘0xc9967AD91f3db4c6Ba4A50aC7D74aCa229e4A2C0’; const forwardFactory = ‘0x24F24Fbd10848Eb8F57FaAAF289c06Ad305FF9a3’; const parentAddress = ‘0xAfC28904Fc9fFbA207181e60a183716af4e5bce2’; const util = require(‘ethereumjs-util’); const abi = require(‘ethereumjs-abi’);
const getNextContractAddressCreate2 = (address, salt, initCode) => { const addressBuffer = Buffer.from(util.stripHexPrefix(address), ‘hex’); const initCodeBuffer = Buffer.from(util.stripHexPrefix(initCode), ‘hex’); return util.toChecksumAddress( util.bufferToHex(util.generateAddress2(addressBuffer, salt, initCodeBuffer)) ); };
const getInitCode = (targetAddress) => { const target = util .stripHexPrefix(targetAddress.toLowerCase()) .padStart(40, ‘0’); return
0x3d602d80600a3d3981f3363d3d373d3d3d363d73${target}5af43d82803e903d91602b57fd5bf3
; };const createForwarder = async ( factory, implementationAddress, parent, salt ) => { const inputSalt = util.setLengthLeft( Buffer.from(util.stripHexPrefix(salt), ‘hex’), 32 ); const calculationSalt = abi.soliditySHA3( [‘address’, ‘bytes32’], [parent, inputSalt] ); const initCode = getInitCode( util.stripHexPrefix(implementationAddress) ); const forwarderAddress = getNextContractAddressCreate2( forwardFactory, calculationSalt, initCode ); console.log(parent, inputSalt, inputSalt.toString(‘hex’)); // await factory.createForwarder(parent, inputSalt, { from: sender }); return forwarderAddress; };
const testFirst = async () => { const salt = ‘0x1234’; const _forwarderAddress = await createForwarder( forwardFactory, forwardAddress, parentAddress, salt ); console.log(_forwarderAddress); };
testFirst();
测试结果:下面两个图产生的本地forward地址和未来在链上生成的是一样的: 0xb7A8d9F4524e59eBfdA5BC2a7DE14E4dEA945800
收藏了,以后懂了技术再去看
@heyxbb 收藏太多东西了,小心爆仓啊
@mikepittbo 哈哈哈哈哈 不会吧
@sailormoon 适时消化
@mikepittbo 过年了说点吉利话!!
我也要收藏这个帖子
楼主牛
插眼收藏
感谢楼主分享, 收藏收藏,以后有时间再慢慢看
感谢财经哥的分享,以后在慢慢细细的品品
感謝財哥分享,雖然看不太懂,哈,但還是覺得很厲害的感覺,會好好努力繼續學習的
收藏了,虽然看不太懂,但是版主太厉害了~~敬佩~我还是多看看版主的视频 多学习学习先
感谢老大分享,虽然完全看不懂,反正老大牛逼就完事儿了
这个代码还是不怎么看得懂,得加油学习了
现在的收益确实不错的,现在买到正规矿池的算力或者布局矿机都是比囤币强的, 问题:如果想要慢慢学技术又没推荐的流程
直接贴代码啊,楼主大佬也太硬核了。大家压力大了
@letcoin 确实太硬核了,我一个学文科的,看见代码就一阵眩晕啊,哈哈哈。