Skip to content

지갑 ​

NeuroChain 지갑은 24단어 복구 문구입니다. 그 밖의 모든 것 — 서명 키와 .human 주소 — 은 이 문구로부터 브라우저 안에서 계산되며, 브라우저 밖으로 나가지 않습니다.

지갑을 사용하는 방법 ​

아래 방법은 모두 같은 키와 같은 .human 주소를 사용합니다. 차이는 키가 어디에 있고 누가 서명하는지입니다.

방법키 위치서명 주체용도문서
웹 지갑여러분의 브라우저, 비밀번호로 암호화앱에서 직접일상적인 사용: 전송, 스테이킹, 투표, 이름 등록, 에이전트 관리이 페이지
서명 팝업여러분의 브라우저 (웹 지갑)팝업에서 승인하는 본인다른 사이트의 dApp에 문구를 넘기지 않고 사용Signer SDK
JavaScript SDK여러분의 페이지나 스크립트전달받은 문구를 가진 여러분의 코드자체 지갑을 가진 dApp이나 자동화 구축JavaScript SDK
세션 키 (AI 에이전트)에이전트의 머신 — 별도의 제한된 키여러분이 정한 범위, 지출 한도, 만료 기간 안에서 에이전트MCP를 통해 AI 어시스턴트가 여러분 대신 작업하도록 허용AI 에이전트 (MCP)
유료 이름 (.node, .vault, .agent, …)자체 키 없음이를 소유한 .human 지갑검증자, 공동 트레저리, 에이전트 계정주소

.vault는 여러 멤버가 함께 제어합니다: 지급에는 임계값 이상의 멤버 서명이 필요합니다.

생성 또는 가져오기 ​

일어나는 일
생성브라우저가 256비트 무작위 엔트로피로 24개 단어를 생성합니다(체크섬이 있는 BIP-39 단어 목록). 단어는 한 번만 표시되니 꼭 적어 두세요.
가져오기기존의 24단어 문구를 입력합니다. 다른 어떤 처리보다 먼저 체크섬을 검증합니다.

브라우저는 단어로부터 주소에 설명된 대로 ML-DSA-65 키 쌍과 주소를 파생합니다. 같은 문구는 어느 기기에서든 항상 같은 주소를 만듭니다.

키 보관 위치 ​

항목위치보호
복구 문구브라우저 localStorage, 키 nc_ks_<address>비밀번호로 암호화: PBKDF2-SHA256(100 000회 반복, 무작위 16바이트 솔트) → AES-256-GCM
서명 키열려 있는 탭의 메모리에만잠금 해제 후 문구로부터 다시 파생
비밀번호어디에도 저장되지 않음문구를 암호화하고 복호화하는 데만 사용

한 브라우저에 여러 지갑을 함께 둘 수 있으며, 앱에서 전환할 수 있습니다.

비밀번호가 아니라 문구를 보관하세요

비밀번호는 이 브라우저에 저장된 사본의 잠금만 해제합니다. 문구와 브라우저 데이터를 모두 잃으면 지갑은 사라지며, 누구도 복구할 수 없습니다. 문구가 유출되면 누구나 여러분으로 서명할 수 있으니, 아이덴티티를 통해 새 키로 교체하세요.

NRO 전송 ​

  1. 앱이 다음 nonce와 현재 기본 수수료(base fee)를 읽습니다.
  2. 가스 가격을 1.5 × 기본 수수료(올림)로 설정하여, 블록에 포함되기 전에 기본 수수료가 올라도 트랜잭션이 유효하도록 합니다.
  3. 브라우저가 잔액, nonce, 수수료를 로컬(WASM)에서 확인하고, 전송 전에 오류를 표시합니다.
  4. 여러분의 키로 nc-tx-v2|from|to|value|nonce에 서명하고, 공개 키와 함께 트랜잭션을 전송합니다.
  5. 노드는 서명과 공개 키로부터 여러분의 주소가 파생되는지를 확인한 뒤 트랜잭션을 대기열에 넣습니다.

자기 자신에게 보내는 전송은 수수료만 들며, 앱에도 그렇게 표시됩니다.

트랜잭션 상태 ​

상태의미
pending노드가 수락했고 mempool에서 대기 중입니다. 60초 안에 블록에 포함되지 않으면 버려집니다.
confirmed최종 확정된 블록에 포함되어 적용되었습니다.
failed최종 확정된 블록에 포함되었지만 컨트랙트 호출이 trap되었거나 fuel이 소진되었습니다. 금액과 스토리지 변경은 롤백되고, 수수료와 nonce는 소비됩니다.
held수락되었지만 Sentinel 정책 계층 기본값 꺼짐에 의해 지연되었습니다: 금액은 일정 시간 후 자동으로 해제되거나, 여러분의 확인을 기다립니다.
cancelled여러분이 취소한 보류 트랜잭션입니다. 금액은 반환됩니다.
refunded금액이 여러분에게 반환되었습니다 — 확인 없이 만료된 보류 트랜잭션이거나, 시간 초과된 크로스 샤드 전송입니다.

서명된 작업 ​

스테이킹, 이름 등록, 투표 등은 전송이 아니지만 같은 방식으로 서명됩니다. 지갑은 nc-tx-v2|<you>|<system target>|<value>|<nonce>에 서명하며, 여기서 대상(target)이 작업을 나타냅니다(neuro:system.stake, neuro:system.node, neuro:system.name, neuro:system.governance, …).

이런 작업에서 nonce는 밀리초 타임스탬프이며, 노드는 여러분의 주소에서 마지막으로 본 nonce보다 큰 값만 받아들입니다 — 가로챈 요청을 재전송할 수 없습니다.

Faucet 테스트 네트워크 전용 ​

CHAIN_ENV=testnet으로 시작한 노드에서는 POST /api/v1/faucet이 테스트용 NRO를 지급합니다. CHAIN_ENV=mainnet(기본값)에서는 비활성화되어 있습니다.

설정기본값변수
요청당 금액50 NRO요청 필드 amount
요청당 최대 금액100 NRONEUROCHAIN_FAUCET_MAX_NRO
주소별 대기 시간24시간NEUROCHAIN_FAUCET_COOLDOWN_SECS (0이면 꺼짐)
bash
curl -s -X POST "$NODE_RPC/api/v1/faucet" \
  -H 'Content-Type: application/json' \
  -d '{"address":"neuro:<your address>.human","public_key":"<your ML-DSA-65 public key, hex>"}'

faucet은 주소에 처음 자금을 지급할 때, 전송된 공개 키를 그 주소에 바인딩합니다.

명령줄 지갑 ​

노드 저장소에는 아직 예전 명령줄 지갑인 neurowallet이 있습니다. 이 지갑은 현재 주소 체계(NC_KDF_v3)보다 먼저 만들어졌고 ML-DSA-65로 서명하지 않기 때문에, 그 주소와 트랜잭션은 현재 네트워크에서 받아들여지지 않습니다. 웹 지갑이나 JavaScript SDK를 사용하세요.