개발자를 위한 문서 / 시작하기
개발자를 위한 Pickle Chain
트랜잭션을 즉시 실행하고, 서명된 사전 확인을 돌려주고, 그 주위에 평범한 Ethereum 형태의 블록을 봉인하는 Ethereum 레이어 2입니다. 가스는 ETH로 내며, 표준 eth_* 표면만으로 MetaMask, Foundry, Hardhat이 모두 동작합니다.
무엇인가
Pickle은 revm을 Cancun에 고정한 맞춤형 Rust 시퀀서를 운영합니다. 트랜잭션을 보내면 즉시 실행되며 - eth_sendRawTransaction은 결과의 약속을 돌려주는 대신 결과가 존재할 때까지 블로킹합니다 - 영수증은 약 10 ms의 미니블록 스케줄링 목표 안에 사용할 수 있습니다. 그 미니블록들을 감싸는 Ethereum 형태의 블록은 약 250 ms의 스케줄링 목표로 봉인되며, 지갑과 익스플로러가 확인으로 취급하는 것이 바로 그 블록입니다.
도구 관점에서 이 체인은 가장 중요한 지점들에서 평범합니다. 이 레퍼런스가 문서화하는 공개 테스트 네트워크의 chain ID 78270, 가스로 쓰는 ETH, 30,000,000의 블록 가스 한도, 표준 JSON-RPC, 그리고 Cancun 형태의 블록 헤더입니다. forge, ethers, viem, MetaMask가 모두 이 체인을 상대로 동작합니다. 중요한 지점에서 평범하지 않기도 한데, 그 부분은 여기 한 문단이 아니라 자기 페이지를 갖고 있습니다.
무엇이 아닌가
신뢰 모델, 빠짐없이
- Ordering: one sequencer orders every transaction. It can reorder and it can censor, and there is no forced-inclusion path from Ethereum.
- Liveness: if the sequencer stops, mini-blocks stop and the chain halts for new execution. Replicas continue to serve derived history. The sequencer key is held in an on-chain registry and can be rotated, effective the next block.
- Correctness: there are no fraud or validity proofs. Any replica can detect a divergence between the published data and the committed block hash, and halts when it does; nothing on-chain arbitrates it.
- Data: everything needed to rebuild the chain is on Ethereum or committed to from Ethereum. A user relies on the operator's honesty, plus the fact that the data needed to check it is public.
- Bridge: the messenger is a trusted key. It cannot forge or replay a message, but it can delay. Batcher and messenger keys are distinct, enforced at startup.
Pickle은 스스로를 단일 운영자 체인으로만 소개하며, 이 문서는 어떤 처리량 수치도 공개하지 않습니다. 위의 두 케이던스 숫자는 스케줄링 목표 - 블록 생산자가 겨냥하는 간격 - 이지 지연 시간 보장도, 처리 능력에 대한 주장도 아닙니다. 봉인기는 늦은 틱을 따라잡는 대신 건너뜁니다.
완전한 EVM 동등성도 아니며, 그 간극은 런타임에 직접 발견하도록 남겨 두는 대신 자기 페이지에 공개되어 있습니다. 요약하면 상태 읽기는 블록 파라미터를 무시하고, 아카이브가 없으며, error.data가 결코 채워지지 않으므로 라이브러리가 커스텀 오류를 디코딩할 수 없습니다.
전체 구조
트랜잭션은 세 단계를 지나가며, 지금 무엇을 관찰하고 있는지 아는 것이 이 체인을 읽을 수 있게 만드는 것의 대부분입니다.
- 실행 - 즉시, RPC 호출과 동기적으로. revert는 여기서 알 수 있습니다.
- 사전 확인 - 시퀀서가 서명한 미니블록이며, 약 10 ms의 스케줄링 목표를 따릅니다. 영수증은 존재하고, 그
blockNumber는 아직null입니다. - 확인 - EVM 블록이며, 약 250 ms의 스케줄링 목표를 따릅니다. 이제
blockNumber와blockHash가 채워집니다.
최종성은 네 번째이자 별개의 사건입니다. 해당 배치가 Ethereum에서 정산된 뒤에 일어납니다. 이 사이트는 그 단어를 다른 어떤 것에도 쓰지 않습니다.
첫 호출
공개 테스트 네트워크는 https://rpc.picklechain.xyz에서 응답합니다. 예제는 전부 $RPC_URL로 적으므로, 같은 명령이 여러분의 노드를 상대로도 그대로 돌아갑니다.
export RPC_URL=https://rpc.picklechain.xyz
curl -s "$RPC_URL" \
-X POST -H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'
# {"jsonrpc":"2.0","id":1,"result":"0x131be"}0x131be는 78270입니다. 호출 자체에는 키도, 계정도, 콘텐츠 타입 이상의 헤더도 필요하지 않습니다. 노드는 아무것도 인증하지 않으며 닿을 수 있는 누구에게나 응답합니다. 테스트 ETH는 Faucet에서 오고, 주소당 24시간에 한 번 청구할 수 있으며, 상태는 예고 없이 초기화될 수 있습니다.
다음으로 갈 곳
- 네트워크 파라미터 - 상수들을 한 표에 모았습니다.
- JSON-RPC 레퍼런스 - 등록된 61개 메서드 전부.
- Ethereum과 다른 점 - 클라이언트를 디버깅하기 전에 읽으십시오.
- 히스토리와 보존 - 인덱서를 쓰기 전에 읽으십시오.
- 실물 자산 - 가격 레이어: 자산 목록을 얻는 방법과 가격을 읽는 방법.
- 애플리케이션 API - 퍼스트파티 HTTP 표면이며, 편의 기능이지 체인이 아닙니다.
- 토큰 목록과 주소 태그 - 토큰이 로고와 인증 마크를, 컨트랙트가 레이블을 얻는 방법: pull request 하나입니다.
- 익스플로러 - 노드가 되지 못하는 아카이브.
- Faucet - 붙여 넣은 주소로 테스트 ETH와 테스트 PKL을 받습니다.
여기 어느 페이지도 컨트랙트 주소를 찍지 않으며, 그것은 의도적입니다
코드가 없는 계정으로 향하는 EVM CALL은 성공합니다. 아무것도 배포되지 않은 주소로 라우팅된 스왑은 revert하지 않습니다. ETH를 가져가고 성공을 보고합니다. 그러니 누군가에게 받은 주소는 무엇을 보내기 전에 eth_getCode로 확인하십시오.
퍼스트파티 애플리케이션은 사용하는 모든 주소를 안에 컴파일해 넣지 않고 런타임에 체인에서 해석하며, 가격 레이어가 그 방법을 적어 두었습니다. 익스플로러는 어떤 주소에 무엇이 배포되어 있는지 보여 줄 뿐, 소스를 검증하지 않고 ABI도 공개하지 않습니다.