레이어 1과 레이어 2의 상호 운용성
8434 단어 layer2solidityblockchainweb3
https://youtu.be/_RFs2TfsKI
Antes de iniciar
Segurate de instalar Metamask y agregar fondos de Rinkeby Testnet que puedes conseguir desde el Faucet . También necesitarás agregar Rinkeby Arbitrum Testnet a tu metamask mover fondos desde Rinkeby a Rinkeby Arbitrum Testnet mediante el Bridge .
콘트라토 엔 L2
Primero lanzamos el siguiente contrato en Arbitrum Rinkeby Testnet.
// SPDX-License-Identifier: Apache-2.0
pragma solidity 0.8.13;
contract HelloWorld {
string public hello = "Hola Mundo!";
function setHello(string memory _hello) public {
hello = _hello;
}
}
Contrato operator en L1
Luego lanzamos el siguiente contrato y ejecutamos la función
setHelloInL2
pasando como value
20000000000000000
wei o 0.01
ether y los siguientes parametros sugeridos:ADDRESS DE CONTRATO EN L2
¡Hemos ejecutado esto desde L1!
80000000000
90000000
90000000
// SPDX-License-Identifier: Apache-2.0
pragma solidity 0.8.13;
interface IInbox {
function createRetryableTicket(
address destAddr,
uint256 l2CallValue,
uint256 maxSubmissionCost,
address excessFeeRefundAddress,
address callValueRefundAddress,
uint256 maxGas,
uint256 gasPriceBid,
bytes calldata data
) external payable returns (uint256);
}
interface IHelloWorld {
function setHello(string memory _hello) external;
}
contract L2Operator {
IInbox public inbox = IInbox(0x578BAde599406A8fE3d24Fd7f7211c0911F5B29e);
function setHelloInL2(
address l2ContractAddress,
string memory _hello,
uint256 maxSubmissionCost,
uint256 maxGas,
uint256 gasPriceBid
) public payable returns (uint256) {
bytes memory data =
abi.encodeWithSelector(IHelloWorld.setHello.selector, _hello);
uint256 ticketID = inbox.createRetryableTicket{value: msg.value}(
l2ContractAddress,
0,
maxSubmissionCost,
msg.sender,
msg.sender,
maxGas,
gasPriceBid,
data
);
return ticketID;
}
}
공식 문서:
¡ Gracias por ver este 튜토리얼!
Sígueme en dev.to y en para todo lo relacionado al desarrollo en Blockchain en Español.
Reference
이 문제에 관하여(레이어 1과 레이어 2의 상호 운용성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/turupawn/interoperabilidad-layer-1-y-layer-2-3pf4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)