일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- multicall
- chainlink 설명
- 컨트렉트 배포 자동화
- git rebase
- rust 기초
- Vue
- vue기초
- 체인의정석
- 스마트컨트렉트프록시
- 티스토리챌린지
- 스마트컨트렉트 함수이름 중복 호출
- 러스트 기초
- Vue.js
- ethers v6
- ambiguous function description
- ethers type
- 스마트컨트렉트테스트
- ethers websocket
- 스마트 컨트렉트 함수이름 중복
- 머신러닝기초
- 프록시배포구조
- SBT표준
- 오블완
- ethers typescript
- 러스트 기초 학습
- 러스트기초
- ethers
- 스마트컨트렉트 예약어 함수이름 중복
- 컨트렉트 동일한 함수이름 호출
- nest.js설명
- Today
- Total
목록블록체인/NFT & BRIDGE (23)
체인의정석
참고 : 폴리곤 pos portal 소스코드 중 RootChainManager.sol 폴리곤의 pos portal에서는 delegate Call을 썼다. 주석을 보면 프록시 배포를 사용했기 때문에 사용했다고 하는 Call이 사용되고 있다. 하지만 프록시 배포를 사용하는 상황이 아니라면 이더리움을 직접 전송할 때는 transfer를 사용하는 것이 가장 좋다. 먼저 위는 일반 erc20 토큰을 예치할 때의 과정 아래는 이더리움과 같은 암호화폐를 예치할 때의 과정인데 결국 _deplositFor를 부르는 것은 동일하다. 여기서 넣는 ETHER ADDRSS의 경우 컨트렉트 상단에 명시되어 있는데 address public constant ETHER_ADDRESS = 0xEeeeeEeeeEeEeeEeEeEeeEE..
테스트 코드 작성 이후 실제 메인네트워크에서 잘 작동하나 확인을 하기 위해서 따로 스크립트를 만들어야 했다. 일단 내가 사용하는 환경은 체인별로 설정 값이 다르니 hardhat에서 단위 테스트와 시나리오 테스트를 맞추었다 하더라도 실제로 트랜잭션을 보내보고 검토하는 과정이 필요하다. 근데 EIP712를 테스트하는 과정에서 원래는 메타마스크에서 서명 정보를 받은 후 DB에 저장하는 부분이 있는데 DB를 넣고 테스트 할 수 없으니, struct를 만드는 부분은 helper로 타입을 지정하여 따로 구현을 하였다. 이런식으로 지정해 두면 makeOrder(구조체 내용)을 넣고 스크립트를 돌릴 수 있다. structHelper.ts export enum Type { A1, A2, } export type Stru..
오늘은 그간 삽질했던 EIP712에 대한 구현 내용을 러프하게 한번 정리하고 넘어가려고 한다. 해당 내용은 추후 출간할 책 및 미디엄 글을 통해 더 디테일 하게 설명할 예정이다. https://eips.ethereum.org/EIPS/eip-712 EIP-712: Ethereum typed structured data hashing and signing eips.ethereum.org 오픈씨로 대표되는 NFT 거래소와 같이 오더북을 만들고 나서 그걸 스마트컨트렉트에서 검증하고 교환해주는 방식을 요즘 Web2.5라고도 부르는거 같다 뭔가 오프체인이 섞여있어서 이런 용어를 만든거 같긴한데 아무튼 이런곳에 많이 쓰이는데 왜이렇게 소수점 찍는걸 좋아할까? ㅋㅋㅋ 아무튼 이러한 오더북을 만들때 쓰이는 서명은 아래..
먼저 solidity에서 enum을 정의하는 부분은 다음과 같이 진행한다. 소스는 오픈씨의 새로나온 Seaport의 스타일을 참고하여 다루었다. 먼저 컨트렉트 부분이다. enum을 정의하는 경로는 따로 만들어서 관리하였다. solidity에서 컨트렉트를 배포할 때는 어차피 통합되어 배포되기 때문에 요즘 스타일은 이런식을 많이 쓰는 것 같다. Sturct 및 enum에 부분을 다음과 같이 따로 구현하였다. /** Side 0: order is made from seller 1: order is made from buyer */ enum Side { SELL, BUY } 여기에 있는 테스트 코드는 다음과 같이 작성하였다. it("check test Enum", async function () { consol..
https://nft.mirror.xyz/VdF3BYwuzXgLrJglw5xF6CHcQfAVbqeJVtueCr4BUzs Horton Hears A Who! Neutralizing a critical vulnerability in Wyvern Protocol nft.mirror.xyz https://github.com/ethers-io/ethers.js/issues/687 Add EIP-712 Ancillary Package for v5. · Issue #687 · ethers-io/ethers.js This is a feature a few people have requested. While I'm not a fan of EIP-712 it is a feature that some people are u..
이전 글 Buy now에 대한 패턴 분석 https://it-timehacker.tistory.com/254 오픈씨 스마트 컨트렉트 구매 패턴 분석 먼저 오픈씨는 #Rinkeby네트워크 에서 테스트가 가능하다. 우선 오픈씨를 테스트 하기위하여 간단한 NFT를 배포해 볼 수 있다. NFT를 배포하는 부분은 일단 생략하기로 하겠다. https://it-timehacker.tistor it-timehacker.tistory.com 이어서 2번째 구매 유형인 오퍼로 구매하는 부분에 대해 살펴보도록 한다. make offer를 클릭 동의 후 기간 및 가격 설정 후 오퍼 이더리움으로 하면 오퍼가 안됨. 따라서 WETH로 전환 필요 make offer에서는 WETH에 대한 approve 거래 진행 approve 이후..
먼저 오픈씨는 #Rinkeby네트워크 에서 테스트가 가능하다. 우선 오픈씨를 테스트 하기위하여 간단한 NFT를 배포해 볼 수 있다. NFT를 배포하는 부분은 일단 생략하기로 하겠다. https://it-timehacker.tistory.com/210 hardhat 사용법 정리 02- ERC721 배포해보기 이어서 하드햇과 오픈제플린 라이브러리를 연결하는 부분부터 진행을 하도록 한다. https://docs.openzeppelin.com/upgrades-plugins/1.x/hardhat-upgrades Using with Hardhat - OpenZeppelin Docs You can also.. it-timehacker.tistory.com 지난번에 올린 배포하는 법을 참고해서 하면 된다. 아니면 리믹..
트레블룰을 만족하는 크로스체인 NFT 브릿지 요약 트레블룰은 자금 세탁 방지를 위하여서 기존 금융권에 적용되고 있는 제도로서 현재 기존 금융자산들은 해외 송금을 진행할 때 국제은행간통신협회(SWIFT)가 요구하는 형식에 맞추어 송금자와 수신자의 정보를 기록중이다. 2019년 6월 국제자산세탁방지기구(FATF)가 코인 규제 권고안을 추가하면서 현재는 국내 거래소들도 암호화폐에 트래블룰이 적용되길 준비하는 단계이다. 특히 최근 디파이나 NFT에 대한 관심과 유입 자금의 증가로 트레블룰의 도입을 해야하는 가상자산 사업자(VASP)의 범위에 NFT를 다루는 사업자들도 포함될 수 있다는 의견(하단참고)도 나오고 있다. 트레블룰에 대한 사항은 기술중립적으로 신뢰성을 마련하는 방법에 대한 제약 또한 없어 이에 대한 ..