메인 콘텐츠로 건너뛰기
이 문서는 Injective 노드의 keyring과 다양한 백엔드를 구성하고 사용하는 방법을 설명합니다. keyring을 설정하기 전에 injectived가 설치되어 있어야 합니다. 자세한 내용은 injectived 설치 페이지를 참조하세요.
keyring은 노드와 상호작용하는 데 사용되는 개인/공개 키 쌍을 보관합니다. 예를 들어, Injective 노드를 실행하기 전에 블록에 올바르게 서명할 수 있도록 검증자 키를 설정해야 합니다. 개인 키는 파일 또는 운영 체제의 자체 키 저장소와 같은 “백엔드”라는 다양한 위치에 저장할 수 있습니다.

사용 가능한 keyring 백엔드

os 백엔드

os 백엔드는 키 저장을 안전하게 처리하기 위해 운영 체제별 기본값을 사용합니다. 일반적으로 운영 체제의 자격 증명 하위 시스템은 사용자의 암호 정책에 따라 암호 프롬프트, 개인 키 저장 및 사용자 세션을 처리합니다. 가장 인기 있는 운영 체제와 해당 암호 관리자 목록은 다음과 같습니다: GNOME을 기본 데스크톱 환경으로 사용하는 GNU/Linux 배포판은 일반적으로 Seahorse가 함께 제공됩니다. KDE 기반 배포판 사용자에게는 일반적으로 KDE Wallet Manager가 제공됩니다. 전자는 실제로 libsecret의 편리한 프론트엔드이고, 후자는 kwallet 클라이언트입니다. os는 운영 체제의 기본 자격 증명 관리자가 사용자의 가장 일반적인 요구를 충족하고 보안을 손상시키지 않으면서 편안한 경험을 제공하도록 설계되었기 때문에 기본 옵션입니다. 헤드리스 환경에서 권장되는 백엔드는 filepass입니다.

file 백엔드

file은 앱의 구성 디렉터리 내에 암호화된 keyring을 저장합니다. 이 keyring은 액세스할 때마다 암호를 요청하며, 단일 명령에서 여러 번 발생할 수 있어 반복적인 암호 프롬프트가 나타날 수 있습니다. bash 스크립트를 사용하여 file 옵션으로 명령을 실행하는 경우 여러 프롬프트에 대해 다음 형식을 사용할 수 있습니다:
# KEYPASSWD가 환경에 설정되어 있다고 가정
yes $KEYPASSWD | injectived keys add me
yes $KEYPASSWD | injectived keys show me
# keyring-backend 플래그로 injectived 시작
injectived --keyring-backend=file start
빈 keyring에 처음 키를 추가할 때 암호를 두 번 입력하라는 메시지가 표시됩니다.

pass 백엔드

pass 백엔드는 pass 유틸리티를 사용하여 키의 민감한 데이터와 메타데이터의 디스크 암호화를 관리합니다. 키는 앱별 디렉터리 내의 gpg 암호화된 파일에 저장됩니다. pass는 가장 인기 있는 UNIX 운영 체제와 GNU/Linux 배포판에서 사용할 수 있습니다. 다운로드 및 설치 방법에 대한 정보는 매뉴얼 페이지를 참조하세요.
pass는 암호화를 위해 GnuPG를 사용합니다. gpg는 실행 시 GnuPG 자격 증명 캐싱을 처리하는 gpg-agent 데몬을 자동으로 호출합니다. 자격 증명 TTL 및 암호 만료와 같은 캐시 매개변수 구성 방법에 대한 자세한 내용은 gpg-agent 매뉴얼 페이지를 참조하세요.
암호 저장소는 처음 사용하기 전에 설정해야 합니다:
pass init <GPG_KEY_ID>
<GPG_KEY_ID>를 GPG 키 ID로 바꾸세요. 개인 GPG 키 또는 암호 저장소를 암호화하는 데 특별히 사용하려는 대체 키를 사용할 수 있습니다.

kwallet 백엔드

kwallet 백엔드는 KDE를 기본 데스크톱 환경으로 제공하는 GNU/Linux 배포판에 기본적으로 설치되는 KDE Wallet Manager를 사용합니다. 자세한 내용은 KWallet 핸드북을 참조하세요.

test 백엔드

test 백엔드는 file 백엔드의 암호 없는 변형입니다. 키는 디스크에 암호화되지 않은 상태로 저장됩니다. 테스트 목적으로만 제공됩니다. test 백엔드는 프로덕션 환경에서 사용하지 않는 것이 좋습니다.

memory 백엔드

memory 백엔드는 키를 메모리에 저장합니다. 프로그램이 종료되면 키는 즉시 삭제됩니다. 테스트 목적으로만 제공됩니다. memory 백엔드는 프로덕션 환경에서 사용하지 않는 것이 좋습니다.

keyring에 키 추가

injectived keys를 사용하여 keys 명령에 대한 도움말을 볼 수 있고, injectived keys [command] --help를 사용하여 특정 하위 명령에 대한 자세한 정보를 얻을 수 있습니다.
injectived completion 명령으로 자동 완성을 활성화할 수도 있습니다. 예를 들어, bash 세션 시작 시 . <(injectived completion)을 실행하면 모든 injectived 하위 명령이 자동 완성됩니다.
keyring에 새 키를 만들려면 <key_name> 인수와 함께 add 하위 명령을 실행합니다. 이 튜토리얼에서는 test 백엔드만 사용하고 새 키를 my_validator라고 부릅니다. 이 키는 다음 섹션에서 사용됩니다.
$ injectived keys add my_validator --keyring-backend test

# 생성된 주소를 나중에 사용하기 위해 변수에 저장합니다.
MY_VALIDATOR_ADDRESS=$(injectived keys show my_validator -a --keyring-backend test)
이 명령은 새로운 24단어 니모닉 구문을 생성하고 관련 백엔드에 저장한 다음 키 쌍에 대한 정보를 출력합니다. 이 키 쌍을 가치 있는 토큰을 보관하는 데 사용할 경우 니모닉 구문을 안전한 곳에 기록해 두세요! 기본적으로 keyring은 eth_secp256k1 키 쌍을 생성합니다. keyring은 --algo ed25519 플래그를 전달하여 생성할 수 있는 ed25519 키도 지원합니다. keyring은 물론 두 가지 유형의 키를 동시에 보관할 수 있습니다.