분류 전체보기 56

Polygon Bridge와 POL로 Swap

Bridge (ETH에서 Polygon PoS 이동)서로 다른 블록체인 간의 자산 전송을 돕는 중간 다리 역할을 한다. https://portal.polygon.technology/bridge portal.polygon.technology 내 목표는 지갑의 ETH를 Polygon PoS mainnet으로 자산 전송하기 (ETH → Polygon PoS)Polygon portal의 bridge를 이용해보려고 한다. 내 지갑 주소 ...CcC에서 0.005 ETH 이동 트랜잭션이 수행된 것을 Etherscan에서 확인할 수 있다. 그리고 내부적인 Internal Transaction으로 Matic Bridge -> Ether Brdige 0.005 ETH가 이동한다. 브릿지 과정에서 내가 보낸 ETH는..

블록체인&Web3 2025.04.14

업그레이드 가능한 contract (Proxy)

있는 기술을 배우지 않는 것은 죄악이다 왜냐면 재배포하느라 너무 고생했다 - vvalvvizal-스마트계약 업그레이드Proxy 패턴스마트 계약이 주소를 변경하지 않고도 업데이트될 수 있도록 하는 디자인 패턴Ritesh Nikhoriya Understanding Proxy Patterns in Solidity: A Developer’s Guide delegatecall 다른 컨트랙트 어카운트의 code를 사용하되, storage는 기존 컨트랙트 어카운트를 사용하는 호출방식컨트랙트 A의 delegatecall()은 external 컨트랙트 B가 A의 storage를 수정하는 것을 허용한다.즉 A가 B의 코드를 실행하면서도 A의 storage를 변경할 수 있다. fallback() 만일을 위해 대비된 함수로,..

Solidity 2025.04.03

TS의 런타임과 interface type

TypeScript의 런타임에 대한 이해  No, TypeScript Types Don't Exist At RuntimeLearn why TypeScript's types don't exist at runtime. Discover how TypeScript compiles down to JavaScript and how it differs from other strongly-typed languages.www.totaltypescript.comTypeScript의 타입은 runtime에 존재하지 않으며 컴파일 단계에서 사용되며 이후 JavaScript로 컴파일 되도록 설계 되었다. 코드가 JavaScript로 컴파일되면 type이 사라지는 셈이다.   런타임시 타입스크립트 인터페이스가 존재하지 않는 이유..

JS.TS 2025.03.11

ERC-5192 실습 : SBT (Soul Bound Token)

ERC-5192 이란?https://eips.ethereum.org/EIPS/eip-5192#copyrighthttps://it-timehacker.tistory.com/455 ERC-5192: Minimal Soulbound NFTsMinimal interface for soulbinding EIP-721 NFTseips.ethereum.org ERC-5192는 ERC-721을 기반으로 만들어졌으며 ERC-721의 기능을 상속한다.여기에 ERC-5192는 전송이 불가능하다는 특성이 존재한다.  생성시에 잠금 여부를 한번 정하고 SBT면 잠김 상태로 모든 컨트렉트가 그 이후에는 작동을 하고 잠금 상태가 아니라면 일반적인 NFT처럼 작동을 하는 모델 Locked 여부Locked와 Unlocked 이벤트  ..

Solidity 2025.02.25

DEX 운영 방식 (AMM, 유동성 풀, CPMM)

DEX (탈중앙화 거래소) ↔ CEX(중앙화 거래소)탈중앙화 시스템에선 관리 시스템이 없기 때문에 유동성 풀을 이용하여 은행 금고 역할을 한다. 개인과 개인끼리 P2P 거래를 진행해야 하기 때문에 자동화된 시장 조성자 (AMM)가 필요하며, 스마트 계약이 자동화 시스템을 담당하는 역할을 한다.AMM (자동화 마켓 메이커 Automated Market Makers) 유동성 풀 (Liquidity Pool)자동화된 시장 메이커(AMM)에서 거래를 성사시키기 위해 필요한 자산의 집합체유동성 풀에는 자산 X와 자산 Y가 일정 비율로 예치되어 구성된다.   유동성 공급자 (Liquidity Provider)상장(리스트업)의 개념이 없으니 유동성 공급자를 모집하여 유동성을 공급받아야 한다. 자산 X와 자산 Y, 한..

블록체인&Web3 2025.01.27

AIchemy로 Sepolia 사용하기

Sepolia이더리움 생태계 전용 테스트넷으로, 이더리움 가상 머신 (EVM)을 기반으로 한다.이더리움이 PoW ⇒ PoS로 변화하면서 기존의 롭스텐(Ropsten) 테스트넷들이 아닌 새로운 테스트넷들이 등장했다.테스트 이더 받기테스트넷 포셋 : 웹3 앱과 블록체인 개발자에게 무료 테스트넷 화폐를 제공하는 서비스https://ethereum.stackexchange.com/questions/163271/how-to-get-sepolia-test-ether-from-testnet-faucet-without-eth-balance-in-metamas/163272#163272 How to get SEPOLIA TEST ETHER from TESTNET FAUCET without ETH balance in MET..

블록체인&Web3 2025.01.07

MetaMask에서 계정 삭제하는 방법

MetaMask 확장 프로그램에서 account를 삭제하고자 하였으나 삭제 버튼을 찾아볼 수 없었다.  MetaMask에서 '계정 생성' 버튼을 통해 추가한 계정은 삭제할 수 없지만, 외부 계정과 비공개 키 또는 JSON(하드웨어 지갑)으로 가져온 외부 계정은 삭제가 가능하다. MetaMask 계정 삭제는 불가능   https://support.metamask.io/managing-my-wallet/resetting-deleting-and-restoring/how-can-i-delete-my-metamask-wallet/ How can I delete my MetaMask wallet? | MetaMask Help Center 🦊♥️If you're looking to delete your accoun..

블록체인&Web3 2025.01.02

Solidity의 event와 로그 저장

이벤트event스마트계약에서 특정한 상태 변화나 동작이 발생했을 때 이를 알리기 위해 사용되는 기능이다. 클라이언트는 이 이벤트를 통해 스마트 계약에서 발생하는 특정 변화를 감지하고 반응할 수 있다.이벤트는 상속 가능한 계약 멤버event는 다른 계약에서 상속받아 사용 가능트랜잭션 로그 저장이벤트 발생시, 이벤트와 함께 전달된 인자들이 트랜잭션 로그에 저장됨. event 키워드로 선언하며, argument를 받을 수 있는데 선언할 때 variable의 이름을 명시할 필요는 없다. indexed 라고 명시된 argument는 특별히 topics라고 불리는 indexed table(hash table)에 저장되어 나중에 event를 쉽게 찾을 수 있다.event Updated (address indexed ..

Solidity 2024.12.18

Java로 Pair 구현, stream으로 정렬하기

pair 클래스 구현하기 class Pair{ private int x; private int y; Pair(int x, int y){ this.x = x; this.y = y; } public int getX(){ return this.x; } public int getY(){ return this.y; } } stream과 람다함수로 정렬 (고급)Pair(x,y)를 담고 있는 List를 y의 오름차순으로 정렬하기list = list.stream().sorted((p1,p2)->Integer.compare(p1.getY(),p2.getY()).collect(Collectors.toList());정렬 기준을 p1.y와 p2.y를 compare하고 p1.y>p2.y일때 양수 반환과 동시에 객체들..

Java 2024.12.18