IoTeX 메인넷 v1.2 — IoTeX에서 Ethereum 도구를 위한 Web3.js 및 노드/데이터베이스 업그레이드
During the first quarter of 2021, we saw an overflow of announcements from IoTeX, including new research, partnerships, and ecosystem initiatives. But that just scratches the surface... read more
2021년 1분기 동안 IoTeX는 새로운 연구, 파트너십 및 생태계 이니셔티브 등 많은 발표를 했습니다. 하지만 그것은 IoTeX 핵심 팀이 해온 일의 표면을 긁어낸 것에 불과합니다. 비하인드 스토리에서는 네트워크의 "심장"인 iotex-core, 전체 IoTeX 네트워크에 생명을 불어넣는 블록체인 프로토콜을 강화하기 위한 공격적인 개발이 계속되고 있습니다.
이 블로그에서는 4월 30일에 공식 출시된 기대되는 Mainnet v1.2 코드 릴리스에 패키지된 놀라운 기능과 도구를 공유합니다. IoTeX 대표자들은 5월 24일까지 노드를 업그레이드할 수 있으며, 그 이후에는 Mainnet v1.2가 공식적으로 활성화됩니다!
IoTeX에서 Ethereum 도구를 위한 Web3.js 래퍼
IoTeX는 Solidity 스마트 계약을 지원하는 EVM 호환 블록체인으로, Ethereum Dapp을 IoTeX로 쉽게 포팅할 수 있습니다. Ethereum 개발자가 IoTeX 플랫폼에 제품을 구축/확장하기 쉽게 하기 위해, IoTeX 사용자가 IoTeX에서 Ethereum 도구의 풍부한 생태계를 활용할 수 있도록 하는 Babel, Ethereum 노드 API 래퍼를 도입합니다. 이는 MetaMask, Remix, Truffle, Graph와 같은 도구/서비스가 Babel 엔드포인트를 가리킴으로써 IoTeX에서 작동할 수 있음을 의미합니다!
Web3.js는 HTTP, IPC 또는 WebSocket을 사용하여 로컬 또는 원격 Ethereum 노드와 상호 작용할 수 있도록 해주는 라이브러리 모음입니다. IoTeX 네트워크에서 Ethereum 도구를 사용하여 DApps를 개발하는 방법에 대한 자세한 문서도 곧 발표될 예정이니 기대해 주세요.
블록체인 데이터베이스 관리 업그레이드
iotex-core 전체 노드 데이터베이스는 이제 60GB에 가까워지고 있으며, 장치 + Dapp 활동의 급격한 증가로 인해 성장할 것으로 예상됩니다. IoTeX는 모든 사람이 하드웨어 및 저장소에 과도한 비용을 지불하지 않고도 모든 운영을 할 수 있도록 블록체인 코드를 가능한 효율적으로 만드는 데 전념합니다. Mainnet v1.2는 다양한 블록체인 데이터베이스 관리 업그레이드로 참여의 개방적 약속을 확장할 것입니다.
다중 데이터베이스 파일
이번 분기부터 IoTeX 핵심 팀은 블록체인 데이터베이스를 간소화하기 위해 많은 시간과 노력을 투자하였습니다. Mainnet v1.2와 함께, iotex-core는 이제 데이터베이스를 다중 데이터베이스 파일로 분할하며, 각 파일에는 1,000,000 블록이 포함됩니다. 장기적으로 이 분할은 단일 대형 데이터베이스 파일에서 발생할 수 있는 병목 현상을 방지하고, 최신 데이터베이스 파일에서 선택적으로 다운로드할 수 있는 가능성을 열어 네트워크와의 더 빠르고 점진적인 동기화를 가능하게 합니다.
데이터베이스 파일 크기 감소
다중 데이터베이스 파일과 함께 저장소 아키텍처 업그레이드를 통해 데이터베이스 파일 자체도 더 나은 압축 성능을 가진 개선된 블록 저장 방식을 사용하여 개편하였습니다. 이는 예상 약 30%의 저장 공간 절약 효과를 가져올 것입니다. 더 빠른 동기화 + 간소화된 저장소 = 놀라운 노드 운영 경험!
블록체인 조회 시 속도 향상
우리는 또한 데이터베이스에서 개선된 거래 인덱싱 체계에 대해 작업하고 있습니다. 그 결과, 특정 API 쿼리(예: 특정 블록 범위 내에서 주소의 모든 거래를 가져오는 쿼리)가 훨씬 빠른 응답을 받을 수 있게 되었습니다.

노드 관리 및 로그 업그레이드
소프트웨어에서 문제가 발생했을 때, 로그는 당신을 구할 수 있습니다. 하지만 블록체인 노드의 로그를 탐색하는 것은 (특히 매 5초마다 즉시 최종화되는 블록을 가진 빠른 네트워크인 IoTeX의 경우) 복잡하고 시간이 많이 소요될 수 있습니다. 필요한 데이터를 추출하는 것은 로그의 크기로 인해 불가능할 수도 있습니다. Mainnet v1.2는 이를 해결합니다.
노드 로그 형식은 ELK를 지원합니다
우리는 로그 형식 개선을 통해 노드 운영자의 삶을 그 어느 때보다 더 쉽게 만들 것입니다. 특히, ELK 스택에 호환되도록 만들 것입니다! 이를 통해 노드에 설치된 “Beats” 에이전트를 사용하여 노드의 로그를 가져오고, 인기 있는 Elasticsearch + Kibana 서버로 보내 이 로그를 분석하고, 노드 모니터링, 문제 해결, 보안 분석 등을 위한 시각화를 생성할 수 있습니다. 무엇보다도, ELK는 완전한 오픈 소스이며 ELK를 배포/관리하는 데 있어 큰 유연성을 제공합니다.

더 이상 “좀비” 노드가 없습니다
여러분 중 일부, 특히 대표자들은 네트워크 연결이 끊긴 후, 심지어 잠시 동안에도 노드가 블록체인과 동기화되지 못하는 현상을 발견했을 것입니다. 견고한 모니터링 시스템 없이 운영되는 노드는 “좀비” 상태에 남아 블록을 생산하지 못하는 위험이 있습니다. 이는 대표자에게 특히 위험하며, 노드가 블록을 생산을 중단할 수 있습니다.
이러한 잠재적 문제를 피하기 위해, 우리는 iotex-core의 코드를 개선하여 노드가 이러한 사건을 감지하고 인터넷 연결이 회복된 직후 p2p 네트워크에 즉시 재연결할 수 있도록 하였습니다. 이를 통해 노드는 블록체인과 즉시 다시 동기화할 수 있게 되어 네트워크 중단의 위험을 크게 줄일 수 있습니다.
다음은 무엇인가요?
우리는 Mainnet v1.2를 세상에 내놓고 IoTeX 네트워크를 다음 단계로 발전시키게 되어 매우 기쁩니다. 2020년 8월의 Mainnet v1.1 이후로, IoTeX 팀은 다가오는 Mainnet v1.2 릴리스를 위해 몇 달 동안 열심히 작업해왔습니다. Mainnet v1.2 외에도, Github 활동를 팔로우하는 사람들이 ioPay, iotexscan, Pebble Tracker, SDKs, staking 레포지토리에서 지속적이고 의미 있는 업그레이드를 보아왔습니다 — IoTeX는 정말 모든 분야에서 활발히 움직이고 있습니다!
Mainnet v1.2 코드는 4월 30일 금요일에 대표자들이 노드에 설치할 수 있도록 발표됩니다. 하드포크 코드 릴리스로써, 대표자들은 5월 24일까지 노드를 업그레이드해야 합니다 — IoTeX 개발자 트위터를 팔로우하여 더 많은 업데이트를 받으세요!
다음 코드 릴리스에서, IoTeX 메인넷은 EVM의 새로운 버전 v0.6.x를 지원하여, 개발자에게 명시적이고 안전한 코드 작성을 위한 필수 “키워드”, 코드의 의미론 및 구문 개선, 예외 처리를 위한 try/catch 구조, address-to-address 변환을 위한 payable(x) 명령어의 도입, 동적 저장소 배열을 위한 push() 및 많은 새로운 기능을 가능하게 합니다.

IoTeX에 대하여
2017년에 오픈 소스 플랫폼으로 설립된 IoTeX는 신뢰할 수 있는 사물의 인터넷을 구축하고 있습니다. 이는 모든 “사물” — 인간, 기계, 비즈니스 및 DApps — 이 신뢰와 프라이버시로 상호 작용할 수 있는 개방된 생태계입니다. 30명 이상의 최고 연구 과학자 및 엔지니어로 구성된 글로벌 팀의 지원을 받으며, IoTeX는 블록체인, 보안 하드웨어 및 기밀 컴퓨팅을 결합하여 차세대 IoT 장치, 네트워크 및 경제를 가능하게 합니다. IoTeX는 “물리적 세계를 블록 단위로 연결하여” 미래의 탈중앙화 경제를 강화할 것입니다.