일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ERC165
- 네트워크
- 이더리움
- web3.js
- web3
- tcp
- solidity
- truffle
- 솔리디티
- geth
- server
- Python
- NFT
- git
- 스마트 컨트랙트
- ethers
- blockchain
- ERC20
- Docker
- 트랜잭션
- JavaScript
- 제어의역전
- Programming
- github
- MySQL
- Ethereum
- erc721
- 블록체인
- erc
- web
- Today
- Total
목록블록체인 (18)
멍개의 연구소

안녕하세요 멍개입니다.이번글에서는 foundry을 이용하여 스마트 컨트랙트를 개발하는 방법을 다룹니다. foundry는 truffle, hardhat 처럼 스마트 컨트랙트 개발을 도와주는 도구입니다. foundry는 4개의 명령 도구를 제공합니다. forge: test, compile, build, deploycast: rpc 통신anvil: local testnetchisel: REPL● 셋업foundry는 공식문서를 통해 설치 가이드를 확인할 수 있습니다. foundry는 rust 기반이기 때문에 rust가 설치되어 있어야 합니다.https://book.getfoundry.sh/getting-started/installation Foundry BookA book on all things Fou..

안녕하세요 멍개입니다.이번 시간엔 multi-sig와 key rotation을 이용한 사기 수법을 소개합니다.본 포스트의 목적은 사기 수법을 공개함으로써 피해자가 없기를 바라는 마음으로 작성합니다.evm, aptos, solana 등 대부분의 블록체인에서는 어카운트 구조를 사용합니다. 개인키는 해당 어카운트의 모든 권한을 가지게 됩니다. · 다중서명(Multi-Sig) or 권한(Permission)한 어카운트를 하나의 개인키가 아닌 다수의 개인키를 등록시켜서 다수의 개인키 서명을 받아야 트랜잭션을 성공시키는 방법이 multi sig 입니다.multi sig를 사용하는 이유는 어카운트의 제어권을 여러 개인키로 분산함으로써 도난 / 무단 액세스 등의 위험으로부터 보호하기 위함입니다.이렇게 되면 기존..
안녕하세요 멍개입니다. 이번글에서는 이더리움에서 트랜잭션 실행할 때 발생할 수 있는 gas 에러를 살펴보겠습니다. ▶ out of gas ▶ exceeds block gas limit ▶ gasLimit is too low ▶ base fee exceeds gas limit · 네트워크 실행 $ ganache-cli · out of gas 트랜잭션을 실행하여 상태를 변경할 때 실행된 코드에 따라 가스를 소모합니다. 이때 트랜잭션엔 어느정도 코드 실행을 할지 결정하는 gas를 설정할 수 있는데 설정된 값보다 더 많은 코드를 실행하려고 할 때 발생하는 에러입니다. // SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.10; contract Mung..

안녕하세요 멍개입니다. geth를 이용하여 네트워크 구축 시 genesis 파일을 만들게 됩니다. { "config": { "chainId": 1234, "homesteadBlock": 0, "eip150Block": "0x0000000000000000000000000000000000000000000000000000000000000000", "eip155Block": 0, "eip158Block": 0, "byzantiumBlock": 0, "constantinopleBlock": 0, "petersburgBlock": 0, "istanbulBlock": 0, "berlinBlock": 0, "londonBlock": 0, "ethash": {} }, "alloc": { "56aE1237F0D3E2F..