본문 바로가기

블록체인 backEnd/web3j5

maxFeePerGas, maxPriorityFeePerGas 추정기 메인넷을 지원하는 gas tracker api들은 여러 종류가 있더라. 이 api를 써서 사용하면 될거 같은데. 테스트넷을 지원하는 api는 찾기가 힘들다 그래서 만들어보려한다. 트랜잭션이 처리되는 원리를 생각해보면 유저가 트랜잭션을 전송하고 채굴자가 채굴을 해가야하는데 채굴 우선순위는 최종 가스프라이스가 높은 순이다. 그렇다는 말은 팬딩 트랜잭션을 봐야한단 말이다. 팬딩 트랜잭션들을 조회하여 그들의 maxFeePerGas, maxPriorityFeePerGas 값을 가져와야겠다. 팬딩 트랜잭션을 조회하는 방법은 두가지 정도가 존재한다 1번: JSON-RPC 요청을 직접 사용하여 팬딩 트랜잭션 정보를 얻는 방법 2번: 외부 API를 사용하여 팬딩 트랜잭션 정보를 얻는법 네트워크 전반 사용률 확인 최근 블.. 2023. 3. 18.
transaction 모듈화 rawTransaction을 하나 하나 만들어서 쓰려니까 너무 비효율적이라 느껴 모듈화를 해보았다. rawTransaction, EIP-1559를 사용한 방법이고 txHash를 반환한다. 현재 쓰고있는 로직은 하나의 트랜잭션이 성공하면 다음 트랜잭션으로 넘어가는 형식이기 때문에 이렇게 작성하였다. package com.example.demo.controller.test.moduel; import org.web3j.crypto.Credentials; import org.web3j.crypto.RawTransaction; import org.web3j.crypto.TransactionEncoder; import org.web3j.protocol.Web3j; import org.web3j.protocol.co.. 2023. 3. 15.
가스에 대하여 가스 Gas는 Ethereum 네트워크에서 특정 작업을 실행하는 데 필요한 계산 노력의 양을 측정하는 단위 단위 1 gwei => 0.000000001Eth => 1,000,000,000 wei 런던 업그레이드 이전 TotalFee = GasLimit * GasPrice 런던 업그레이드 이후 EIP-1559 TotalFee 계산법 : units of gas used(GasLimit) * (baseFee + priorityFee) baseFee : protocol에서 설정한 값 priorityFee: 사용자가 채굴자에 대한 tip을 설정한 값 baseFee • EIP-1559는 네트워크 조건에 따라 결정되는 기본 요금 매개 변수를 도입 • 모든 트랜잭션이 블록에 포함되기 위해 지불해야 하는 최소 가스 가격.. 2023. 3. 15.
java web3j 컴파일 및 wrappers 컨트렉트 작성이 끝난 상태에서 우리는 프로젝트에서 컴파일 및 배포를 해주려고 한다. 하여 그에 대한 구성을 기록한다. solc 우선 컴파일을 해주기 위해 solc를 설치해준다 brew tap ethereum/ethereum brew install solidity abi, bin 파일이 저장될 경로를 정해준 뒤 out 폴더를 하나 만들어준다 sol 파일이 저장되어 있는 경로를 처음 지정해주고 --optimize -o 뒷부분에 out폴더의 경로를 써놓아주자. solc ./src/main/yourSolidityContractPath/yourContract.sol --bin --abi --optimize -o ./src/main/abi,bin파일이 저장될 경로/out 이렇게 하면 sol 파일을 컴파일하여 abi.. 2023. 1. 25.
mac os web3j 설치하기 1. brew install jq 2. curl -L get.web3j.io | sh && source ~/.web3j/source.sh 이 쉬운걸 못찾아서 한참을 난리를 부려서 혹시나 같은 어려움에 처하신 분이 있을까 하여... 2023. 1. 25.