목록2023/03 (6)
devops
아비트럼이 현재 옵티미즘 롤업 기반 L2 사이에서 높은 TPS를 자랑한다. 많은 Layer 1 프로젝트들이 Layer 2 연구에 옵티미즘을 많이 사용하는 만큼, 가장 빠른 아비트럼으로 테스트를 진행해봤다. 조만간 Orbit이 출시하면 더 친절한 자료들이 나오겠지만, 시급한 서비스 테스트를 위해 현재 Arbitrum Nitro를 L1인 위믹스3.0 테스트넷에 연결시켰다. https://developer.arbitrum.io/node-running/local-dev-node Running a local dev node | Arbitrum Documentation Center 1. Install developer.arbitrum.io 위 링크에 들어가면 Local 환경에서 docker-compose로 손쉽게 ..
아비트럼에서 다양한 컴포넌트에 대한 설명부터, 클라이언트가 서명한 트랜잭션이 생성되어 레이어 1에서 컨펌되는 과정을 단계별로 정리해본다. 지난 포스팅에서 블록체인의 간단한 구조를 정리했는데, 트랜잭션의 라이프사이클만 확인해도 전체적인 프로세스를 이해하는 데 많은 도움이 된다. 1. Sequencer의 트랜잭션 수신 트랜잭션 라이프사이클의 시작은 Sequencer가 클라이언트로부터 트랜잭션을 수신하면서 시작된다. Sequencer는 두 가지의 방법으로 트랜잭션을 수신한다. Directly/Offchain 아비트럼의 Dapp에서 발생하는 트랜잭션은 클라이언트가 지갑을 L2 노드에 연결하여 서명된 트랜잭션을 직접 전달함 Delayed Inbox 클라이언트는 아비트럼의 Delayed Inbox에 L1 트랜잭션에..
최근 아비트럼이 자체 거버넌스 토큰인 $ARB 를 발행하면서, 많은 관심을 받고 있다. GMX, Camelot 같은 트렌디한 Defi들이 출시되면서 체인의 TVL도 급격히 높이고 있는 추세다. 다양한 옵티미즘 롤업 기반 체인들이 있지만 그중에서 가장 높은 TPS를 구현한 아비트럼이기에, 이더리움의 보안을 빌려 높은 확장성을 유지하는 아비트럼에 매력적인 서비스들이 많이 운영되고 있는 것같다. 아무튼 간단한 구조를 정리해보면 다음과 같다. 아비트럼 네트워크는 Sequencer와 Validator 이 두 노드에 의해서 실행되어 Ethereum 메인넷과 상호 작용한다. Sequencer는 유저의 L2 트랜잭션을 가져와 L1에 제출하고, Validator는 L1의 트랜잭션 데이터를 읽고 트랜잭션을 처리하여 L2 ..
kubeconfig 파일을 생성하여 EKS 클러스터 API 서버와 통신할 수 있도록 구성한다. cluster를 컨트롤할 bastion 서버에는 aws cli, kubectl가 미리 설치되어 있어야한다. (혹시 기존에 config 파일이 존재했다면, 삭제하고 재설정하는 것을 권장) kubectl 설치 (아래 aws 공식문서 참고) https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/ # 기존 버전 설치되어 있는 지 확인 $ kubectl version | grep Client | cut -d : -f 5 # kubernetes amd 64 1.23버전 다운 (linux) $ curl -o kubectl https://s3.us-west-2.amazo..
쿼럼은 기본적으로 gas 비용이 없는 프라이빗 체인으로 운영된다. 만약 가스비가 트랜잭션 처리에 요구되도록 설정한다면 가스비를 보상으로 수령할 주체도 필요하다. 여기서 보상은 두가지로 구분되는데, 1) 트랜잭션 비용 2) 블록 생성 이다. 이는 genesis.json에서 transition block을 추가하여 설정해야한다. (참고로, coinbase에 account를 추가하거나, eth.coinbase에서 출력되는 account 또한 사실상 의미없다) 1) 트랜잭션 비용 보상 (Transaction cost rewards) 트랜잭션 전송에 사용되는 가스비로, 트랜잭션을 전송하는 주체가 부담하는 비용이다. 이 비용은 beneficiaryMode 로 설정된다. 2) 블록 생성 보상 각 블록을 생성할 때 벨..
체인의 키를 안전하게 관리하기 위해서 많이들 사용하는 Hashicorp의 Vault 배포 과정을 간단히 정리해보려고 한다. 사실 볼트 서버를 올리는 것은 간단하지만, Policy나 Secret Engine을 효율적으로 사용하고, Plugin을 적용하는 과정이 쉽지 않다. (관련해서는 다음 포스팅에 하나씩 정리해보려고 함) Vault는 튜토리얼에서 dev 버전으로 간단히 올릴 수 있지만, 데이터를 memory에 저장하고 Unseal 상태가 디폴트기 때문에 실제 프로덕션 단계에서는 적합하지 않다. 아래는 실제 환경의 Vault를 배포하는 것을 정리한다. 1. Configuration Vault 서버의 구성파일을 먼저 작성한다. 아래와 같이 스토리지와 API 요청받을 리스너를 입력해준다. ## config.j..