Bitroot 개발자 가이드
Bitroot는 100% EVM 호환 체인입니다. 즉, 이미 사용 중인 이더리움 도구 — 지갑, SDK, 컨트랙트 프레임워크 — 를 거의 그대로 쓸 수 있으며, 네트워크 파라미터만 Bitroot에 맞게 지정하면 됩니다. 이 가이드에서는 네트워크 연결, 컨트랙트 배포와 디버깅, 그리고 3중 엔진 아키텍처 중 개발자 대상 구성 요소를 다룹니다.
1. 개요
이 가이드 전반에서 다시 찾게 될 몇 가지 진입점입니다.
- 블록 탐색기(BRTSCAN): https://devnet.bitroot.co/overview — 블록, 트랜잭션, 컨트랙트 상태를 조회할 수 있습니다. 또한 현재 RPC URL과 Chain ID를 확인할 수 있는 권위 있는 출처이기도 합니다. 이 값들은 네트워크가 발전하면서 바뀔 수 있으므로, 이 페이지의 이전 버전을 포함해 다른 곳에 복사된 값은 언제든 오래된 것일 수 있다고 가정하세요.
- 테스트넷 파우셋: https://devnet.bitroot.co/faucet — 컨트랙트 배포와 디버깅에 쓸 테스트넷 BRT를 무료로 받을 수 있습니다.
- 브리지: https://bridge.bitroot.co/ — 자산을 넣고 뺄 수 있습니다.
- 프로토콜 저장소: https://github.com/brt-chain/bitroot — 노드 설정, 프로토콜 구현 세부 사항, AI Agent 호출 인터페이스의 정확한 ABI가 이곳에 있습니다.
2. Bitroot 네트워크 연결
Bitroot는 표준 JSON-RPC를 사용하므로, 커스텀 EVM 네트워크를 지원하는 지갑(MetaMask, Rabby, OKX Wallet 등)이라면 네트워크를 직접 추가할 수 있습니다. MetaMask를 예로 들면 다음과 같습니다.
- MetaMask를 열고 네트워크 선택기 → "Add network" → "Add a network manually"를 클릭합니다.
- BRTSCAN(https://devnet.bitroot.co/overview)을 엽니다. 페이지 상단이나 네트워크 정보 패널에 현재 네트워크 이름, RPC URL, Chain ID, 통화 기호, 블록 탐색기 URL이 표시되는데, 이 값을 MetaMask 입력 폼에 그대로 복사해 넣습니다.
- 저장한 뒤 Bitroot 네트워크로 전환합니다. 계정 잔액이 표시되어야 합니다(파우셋에서 테스트넷 토큰을 받기 전까지는 0 BRT가 정상입니다).
이 페이지에 RPC URL이나 Chain ID를 의도적으로 하드코딩하지 않았습니다. 테스트넷 파라미터는 업그레이드 사이에 바뀔 수 있고, 오래된 하드코딩 값은 여러분을 잘못된 네트워크에 연결할 가능성이 더 크기 때문입니다. 항상 BRTSCAN이 현재 표시하는 값을 사용하세요.
3. 테스트넷 토큰 받기
파우셋(https://devnet.bitroot.co/faucet)을 방문해 지갑 주소를 제출하면 컨트랙트 배포와 가스비 지불에 쓸 테스트넷 BRT를 받을 수 있습니다. 평균 가스비가 약 $0.00007 수준이므로, 소량의 파우셋 수령만으로도 개발 중 상당한 횟수의 배포와 호출을 감당할 수 있습니다.
4. 스마트 컨트랙트 개발: 이미 아는 도구 그대로 사용하기
Bitroot는 100% EVM 호환되므로 다음 도구들은 어댑터 계층 없이 바로 쓸 수 있습니다. 네트워크 설정만 Bitroot로 지정하면 됩니다.
Hardhat(hardhat.config.js):
module.exports = {
solidity: "0.8.24",
networks: {
bitrootTestnet: {
url: process.env.BITROOT_RPC_URL, // get the current RPC URL from BRTSCAN
chainId: Number(process.env.BITROOT_CHAIN_ID), // get the current Chain ID from BRTSCAN
accounts: [process.env.DEPLOYER_PRIVATE_KEY],
},
},
};
Foundry(foundry.toml와 환경 변수):
[rpc_endpoints]
bitroot_testnet = "${BITROOT_RPC_URL}"
배포는 다른 EVM 체인에서와 동일하게 동작합니다.
forge create src/MyContract.sol:MyContract \
--rpc-url $BITROOT_RPC_URL \
--private-key $DEPLOYER_PRIVATE_KEY
Remix: "Deploy & Run" 패널에서 "Injected Provider - MetaMask"를 선택합니다. MetaMask가 Bitroot에 연결되어 있기만 하면 컴파일, 배포, 호출이 이더리움 메인넷을 상대로 할 때와 정확히 동일하게 동작합니다.
5. ethers.js / viem으로 네트워크와 상호작용하기
import { ethers } from "ethers";
const provider = new ethers.JsonRpcProvider(process.env.BITROOT_RPC_URL);
const wallet = new ethers.Wallet(process.env.DEPLOYER_PRIVATE_KEY!, provider);
const balance = await provider.getBalance(wallet.address);
console.log(`Balance: ${ethers.formatEther(balance)} BRT`);
병렬화된 지능형 실행 엔진이 서로 충돌하지 않는 트랜잭션을 동시에 실행하므로, 독립적인 트랜잭션 묶음(에어드롭, 대량 발행 등)을 확인 하나하나를 기다리며 수동으로 직렬화할 필요 없이 안심하고 한꺼번에 보낼 수 있습니다. 네트워크가 어떤 트랜잭션을 병렬로 실행할 수 있는지 스스로 판단합니다.
6. 블록 탐색기와 컨트랙트 검증
컨트랙트를 배포한 뒤에는 BRTSCAN에서 소스를 검증해 두세요. 그러면 작성자 본인과 다른 사용자가 컨트랙트 동작을 확인하고, 디버깅 중에 탐색기에서 바로 읽기 전용 메서드를 호출할 수 있습니다. 검증 절차와 필요한 입력값은 BRTSCAN 페이지에 안내된 내용을 따르세요.
7. AI 네이티브 EVM 사용하기
Bitroot가 일반 EVM 체인과 가장 크게 다른 점은 내장된 AI Agent 호출 인터페이스입니다. 스마트 컨트랙트가 별도의 오라클이나 오프체인 릴레이 없이 AI 모델 추론을 직접 호출할 수 있습니다. 이 인터페이스는 여전히 빠르게 발전하고 있으므로, 정확한 컨트랙트 인터페이스, 프리컴파일 주소, ABI는 프로토콜 저장소(https://github.com/brt-chain/bitroot)에 있습니다 — 오래될 수 있는 시그니처를 여기에 중복해 적지 않습니다. 개념적으로는 Solidity에서 곧바로 call할 수 있는 "AI 추론 프리컴파일"이라고 생각하면 됩니다. 입력과 출력은 영지식 증명 기반 감사 레이어에 기록되므로, 추론 결과는 원본 모델 가중치를 노출하지 않고도 온체인 또는 오프체인 제3자가 검증할 수 있습니다.
8. 보안과 모범 사례
- 키 관리: 평문
.env파일은 테스트넷 디버깅에는 괜찮지만, 프로덕션 배포에는 하드웨어 지갑이나 MPC 기반 커스터디를 사용해야 하며, 프라이빗 키를 저장소에 하드코딩해서는 안 됩니다. - 컨트랙트 감사: 영지식 증명 감사 레이어가 여러분 컨트랙트 로직에 대한 감사를 대신해 주지는 않습니다. 이 레이어는 연산과 그 결과가 신뢰할 수 있는지 검증할 뿐, 비즈니스 로직에 버그가 있는지는 알려주지 않습니다.
- 가스 추정: 가스비는 이더리움 메인넷보다 훨씬 저렴하지만, 프로덕션의 배치 작업은 여전히 가스 추정을 거치는 것이 좋습니다. 트랜잭션당 가스 한도를 너무 낮게 잡아 일부만 실패하는 상황을 피할 수 있습니다.
- 네트워크 파라미터 확인: 런타임에 Chain ID를 검증하세요(
provider.getNetwork()와 비교). 설정 파일의 오타 때문에 배포가 조용히 잘못된 체인으로 향하는 일을 막을 수 있습니다.
9. FAQ
기존 이더리움 컨트랙트를 그대로 Bitroot에 배포할 수 있나요? 대부분의 경우 가능합니다. 컨트랙트가 이더리움 특정 프리컴파일 주소를 가정하지 않는다면, 표준 Solidity 컨트랙트는 코드 수정 없이 컴파일·배포됩니다.
테스트넷과 메인넷은 같은 네트워크 파라미터를 쓰나요? 아니요. 항상 BRTSCAN에서 어느 환경을 대상으로 하는지 확인하세요. RPC URL과 Chain ID는 테스트넷과 향후 메인넷이 서로 다릅니다.
AI 네이티브 EVM 모듈 호출에는 추가 수수료가 있나요? 정확한 수수료 모델은 프로토콜 저장소와 공식 공지에서 정의하며, 이 페이지에서는 어느 쪽으로도 단정하지 않습니다.
10. 참고 자료
| 리소스 | 링크 |
|---|---|
| 블록 탐색기(BRTSCAN) | https://devnet.bitroot.co/overview |
| 테스트넷 파우셋 | https://devnet.bitroot.co/faucet |
| 브리지 | https://bridge.bitroot.co/ |
| 프로토콜 저장소 | https://github.com/brt-chain/bitroot |
| 기술 백서 | 이 사이트의 Research → Whitepaper |
이 가이드에서 다루지 않은 문제를 겪으셨다면, 미디어 문의 페이지나 커뮤니티 채널을 통해 알려주세요.