티스토리 뷰
먼저
ZKsync Bridging
https://portal.zksync.io/bridge/
ZKsync Bridge | Transfer funds between ZKsync and Ethereum
With the ZKsync Bridge you can easily deposit tokens to ZKsync. Enjoy faster, cheaper and more efficient transactions with the future proof zkEVM scaling Ethereum's security and values.
portal.zksync.io

브리징!

나는 모바일로 해 둬서 모바일로 컨펌을 누르고~

기다리는동안 chainlist로 갔다.
ChainList
chainlist.org
그리고 include Testnet 박스에 체크한 뒤 zkSync sepolia를 검색하면 딱 나온다.

내가 찾는 ChainID가 300임을 알 수 있다.
이제 zkSync Sepolia Tesnet 카드 안의 Connet Wallet을 눌러봐야지.
잘 안눌리는군. 이전에 브리징 기다리던거 잘 됐나 보러 가야지.

잘 됐다.
그런데 Chainlist에서 connet wallet 버튼을 아무리 눌러도 아무 반응이 없는거다.
그래서 찾아보니 손수 메타마스크 앱에 추가하는 방법이 있었다.
Network Name: zkSync Sepolia Testnet
RPC: https://sepolia.era.zksync.dev/
Chain ID: 300
Symbol: ETH
Explorer: https://sepolia.explorer.zksync.io/
ZKsync Era Block Explorer
ZKsync Era Block Explorer provides all the information to deep dive into transactions, blocks, contracts, and much more. Deep dive into ZKsync Era and explore the network.
sepolia.explorer.zksync.io
이렇게하니 잘 되어서, 메타마스크 앱에서 브리징한 내용을 잘 확인할 수 있었다.
이제 리믹스로 돌아와서, ZkSync 플러그인을 검색해서 Activate 해 준다.

이 플러그인 매니저 아이콘은 플러그 같이 생겨서 좌하단에 위치해 있다.

액티베이트 버튼을 누르고 나니 이렇게 콘솔에 표시가 된다.
그리고 사이드라인에 ZkSync 아이콘이 생겼다.

이제 여기서 디플로이를 해봐야지
우선 컴파일을 한다.
컴파일은 잘 됐다.
근데 디플로이가 안된다. 아까 0.01 이더만 보내서 그런것 같다. 그래서 0.03 이더를 추가로 보냈다. 이렇게 하면 되려나.

빨간 에러가 잔뜩 발생했다. 가스비 측정이 안된단다. 아마 내가 돈이 없어서 ㅠㅠ 흑흑

지금은 브리징 금액 추가하고 기다리는 중.,..

추가로 이렇게 보냈는데 메타마스크 지갑에는 아직 돈이 안들어왔다. 흠.. 시간이 걸리나,,
ETH Transaction Hash: 0xa96ef51f02... | zkSync Era Sepolia
Transfer 0.03 ETH to 0x4920826A...f495c736A | Success | Aug-16-2025 03:06:42 PM (UTC)
sepolia-era.zksync.network
잘 보내졌는디.. 안보임... ㅜㅡㅜ
어 됐다!!

이제 디플로이가 되려나...
떼잉.. 돈 없어서 ... 가 아니었다.
ZkSync에서는 매핑의 키로 string을 지원하지 않는다고 한다. 그래서 string을 bytes32로 바꿔줬다. 그리고 addPerson 함수에서도 그냥 string으로 받는 변수를 bytes32 형식의 nameHash로 바꿔서 넣어주는 한 줄을 추가했다.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24; // Solidity version
contract SimpleStorage {
// favorite number will be initialized to 0 if no value is given
uint256 myFavoriteNumber;
//uint256[] listOfFavoriteNumbers;
struct Person {
uint256 favoriteNumber;
string name;
}
// dynamic array
Person[] public listOfPeople; // []
// chelsea -> 232
mapping(bytes32 => uint256) public nameToFavoriteNumber;
function store(uint256 _favoriteNumber) public {
myFavoriteNumber = _favoriteNumber;
}
function retreive() public view returns(uint256) {
return myFavoriteNumber;
}
// calldata, memory, storage
function addPerson(string memory _name, uint256 _favoriteNumber) public {
listOfPeople.push(Person(_favoriteNumber, _name));
bytes32 nameHash = keccak256(abi.encodePacked(_name));
nameToFavoriteNumber[nameHash] = _favoriteNumber;
}
}

https://sepolia.explorer.zksync.io/address/0x2B9d764442e8b5f2c7f3A4E0ECFb5D8517c61E31
ZKsync Era Block Explorer
ZKsync Era Block Explorer provides all the information to deep dive into transactions, blocks, contracts, and much more. Deep dive into ZKsync Era and explore the network.
sepolia.explorer.zksync.io
오오...
해냈당... 히히
하고 기뻐했으나 제대로 된 게 아니었다. 간단한 좋아하는 숫자 올려보려고 해도 에러가 났다. 흑흑


안되는군... 자 문제를 해결해 보겠습니다..
Remix에서 작업중인데, 코드에 이런게 보인다. infinite gas...

그래서 그런가...
다음날 아침.....
다시 디플로이 해 보았다.
이제 된다...

쿄쿄쿄....

https://sepolia.explorer.zksync.io/address/0x30c536939F41a2178A6636aBb33ea7b1ff5B46e5
ZKsync Era Block Explorer
ZKsync Era Block Explorer provides all the information to deep dive into transactions, blocks, contracts, and much more. Deep dive into ZKsync Era and explore the network.
sepolia.explorer.zksync.io
그럼 여기서 한 번 이게 뭘 한 건지 정리해보자면,
지난 포스팅
https://kittypawdev.tistory.com/60
[Solidity] Solidity Fundamentals 시작해서 테스트넷 배포 처음 해 봄
이거 재밌다. https://updraft.cyfrin.io/ Blockchain and Smart Contract Development Courses - Cyfrin UpdraftCyfrin Updraft offers the best Blockchain and Smart Contract Developer Courses. Learn Solidity, Foundry, Auditing, Security. Start your Web3 care
kittypawdev.tistory.com
여기서 한거는 Layer1 테스트넷에 배포해본거고,
오늘은 Layer2 테스트넷에 배포해본거다.
세폴리아는 이더리움의 공식 테스트넷이고, ZkSync Sepolia는 이더리움의 확장성 솔루션인 ZkSync의 테스트넷이다.
Sepolia (L1 테스트넷)
세폴리아는 이더리움 메인넷 (Layer1)의 기능을 그대로 모방한 테스트 네트워크다. 그래서 아마 이더스캔에서 확인할 수 있었던건가.
목적은 개발자들이 스마트 컨트랙트나 dApp을 이더리움 메인넷에 배포하기 전에 실제와 유사한 환경에서 테스트할 수 있게 만들어졌다.
세폴리아는 메인넷과 마찬가지로 트랜잭션을 처리하고 블록을 생성한다.
ZkSync Sepolia (L2 테스트넷)
ZkSync Sepolia는 이더리움의 레이어2 테스트 네트워크로 ZkSync Era 라는 기술을 기반으로 한다. ZkSync는 트랜잭션 수수료를 낮추고 처리 속도를 높이기 위한 확장성 솔루션이다. 여기서 쉽게 개발자들이 dApp을 테스트할 수 있다.
ZkSync는 Zero-Knowledge Proofs 라는 기술을 사용해서 수많은 오프체인 트랜잭션을 하나로 묶어서 이더리움 L1에 검증 가능한 단일 증명으로 제출한다고 한다. ZkSync Sepolia는 이더리움 Sepolia 네트워크에 데이터를 정산하므로 서로 연결돼 있다.
따라서 ZkSync Sepolia에서 트랜잭션을 실행하면, ZkSync의 L2 기술을 사용하게 되고, 이는 최종적으로 Sepolia의 L1에 기록된다고 한다.
그래서 ZkSync Sepolia 브릿징 해서 돈 들어오는게 저번 Sepolia보다 훨씬 빨랐던건가...?
여튼 꿑... !
- Total
- Today
- Yesterday
- 티스토리챌린지
- contains
- 솔리디티
- setState
- 터틀포인트
- 선라이즈 패들보트
- DART
- 세상만사새옹지마
- 찾아봄
- 스파르타코딩클럽
- 김영한
- gili
- web2
- 길리여행
- Flutter
- 길리
- 크립토좀비
- web2web3비교
- web3
- vscode
- til
- zksync
- 패들보트
- 세폴리아
- prettier
- 오블완
- 공부좀열심히해라
- 테스트넷
- 플러터
- 이더리움
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |