마스터 키 쌍 비활성화

이 페이지에서는 계정 주소 와 수학적으로 연결된 마스터 키 쌍을 비활성화하는 방법을 설명합니다. 계정의 마스터 키 쌍이 손상되었을 수 있거나 다중 서명을 계정에서 거래를 제출하는 유일한 방법으로 만들려는 경우 이 작업을 수행해야 합니다.

Warning:

마스터 키 쌍을 비활성화하면 트랜잭션을 인증하는 한 가지 방법이 제거됩니다. 마스터 키 쌍을 비활성화하기 전에 일반 키 또는 다중 서명과 같은 다른 트랜잭션 승인 방법 중 하나를 사용할 수 있는지 확인해야 합니다. (예를 들어 일반 키 쌍을 할당한 경우 해당 일반 키로 트랜잭션을 성공적으로 제출할 수 있는지 확인하십시오.) XRP Ledger의 분산 특성으로 인해 나머지를 사용할 수 없는 경우 아무도 계정에 대한 액세스를 복원할 수 없습니다.

마스터 키 쌍을 비활성화하려면 마스터 키 쌍을 사용해야 합니다. 그러나 트랜잭션을 승인하는 다른 방법을 사용하여 마스터 키 쌍을 다시 활성화 할 수 있습니다.

요구 사항

계정의 마스터 키 쌍을 비활성화 하려면 다음 요구 조건을 충족해야 합니다.

  • XRP Ledger 계정이 있어야 하며 마스터 키 쌍을 사용하여 해당 계정에서 트랜잭션에 서명하고 제출할 수 있어야 합니다. 참조: 보안 서명 설정. 이것이 작동하는 두 가지 일반적인 방법은 다음과 같습니다.

    • 계정의 마스터 시드 값을 알고 있습니다. 시드 값은 일반적으로 "s"로 시작하는 base58 값으로 표시됩니다(예: sn3nxiW7v8KXzPzAqzyHXbSSKNuN9.

    • 또는 시드 값을 안전하게 저장하는 전용 서명 장치를 사용하므로 알 필요가 없습니다.

  • 귀하의 계정에는 마스터 키 쌍 이외의 거래를 승인하는 방법이 하나 이상 있어야 합니다. 즉, 다음 중 하나 또는 모두를 수행해야 합니다.

    • 일반 키 쌍을 할당.

    • 다중 서명 설정.

단계

1. 트랜잭션 JSON 구성

필드를 사용하여 계정에서 AccountSet 트랜잭션을 준비합니다 "SetValue": 4. 이것은 AccountSet 플래그 "Disable Master"( )의 값입니다 asfDisableMaster. 이 거래에 대한 유일한 다른 필수 필드는 필수 공통 필드 입니다. 예를 들어 자동 입력 가능한 필드를 생략하면 다음 거래 지침으로 충분합니다.

Tip:

예측 가능한 시간 내에 트랜잭션 결과를 안정적으로 얻을 수 있도록 LastLedgerSequence 필드도 제공하는 것이 좋습니다.

2. 트랜잭션 서명

마스터 키 쌍을 사용하여 트랜잭션에 서명 해야 합니다.

Warning:

제어하지 않는 서버에 비밀을 제출하지 말고 암호화되지 않은 상태로 네트워크를 통해 전송하지 마십시오. 이 예에서는 로컬 rippled서버를 사용한다고 가정합니다. 다른 보안 서명 구성을 사용하는 경우 이 지침을 수정해야 합니다.

예시 요청

예시 응답

"status": "success"서버가 트랜잭션에 성공적으로 서명했음을 나타내는 을 찾습니다. "status": "error"대신 받는 경우 errorerror_message필드에서 자세한 내용을 확인하세요. 몇 가지 일반적인 가능성은 다음과 같습니다.

  • "error": "badSecret"secret일반적으로 요청에 오타가 있음을 의미합니다.

  • "error": "masterDisabled"이 주소의 마스터 키 쌍이 이미 비활성화되었음을 의미합니다.

tx_blob응답의 값을 기록해 둡니다. 이것은 네트워크에 제출할 수 있는 서명된 트랜잭션 바이너리입니다.

3. 트랜잭션 제출

이전 단계에서 서명된 거래 blob을 XRP Ledger에 제출합니다.

예시 요청

예시 응답

결과와 함께 거래가 실패하면 tecNO_ALTERNATIVE_KEY귀하의 계정에 현재 활성화된 거래를 승인하는 다른 방법이 없는 것입니다. 일반 키 쌍을 할당하거나 다중 서명을 설정한 다음 다시 마스터 키 쌍 비활성화를 시도해야 합니다.

4. 확인 대기

라이브 네트워크(mainnet, testnet 또는 devnet 포함)에서 ledger 자동으로 닫힐 때까지 4-7초를 기다릴 수 있습니다.

rippled stand-alone 모드에서 실행 중인 경우 ledger_accept 메소드를 사용하여 ledger를 수동으로 닫습니다.

5. 계정 플래그 확인

account_info 메소소드를 사용하여 계정의 마스터 키가 비활성화되었는지 확인합니다. 다음 매개변수를 지정해야 합니다.

필드

account

귀하의 계정 주소.

ledger_index

"validated"검증된 최신 원장 버전에서 결과를 가져옵니다.

예시 요청

예시 응답

응답의 account_data객체에서 비트 AND( 가장 일반적인 프로그래밍 언어의 연산자)를 사용하여 필드를 플래그 값( 16진수 또는 10진수) Flags과 비교합니다. lsfDisableMaster0x001000001048576&

예제 코드:

이 작업에는 가능한 결과가 두 가지뿐입니다.

  • 값 과 같은 0이 아닌 결과는 마스터 키가 성공적으로 비활성화되었음을lsfDisableMaster이 나타냅니다.

  • 결과가 0이면 계정의 마스터 키가 비활성화되지 않았음을 나타냅니다.

결과가 예상과 일치하지 않으면 이전 단계에서 보낸 트랜잭션이 성공적으로 실행되었는지 확인하십시오. 계정의 거래 내역( account_tx 메소드 )에서 가장 최근 항목이어야 하며 결과 코드가 있어야 합니다 tesSUCCESS. 다른 결과 코드가 표시되면 트랜잭션이 성공적으로 실행되지 않은 것입니다. 오류의 원인에 따라 이 단계를 처음부터 다시 시작할 수 있습니다.

Last updated