스텔라 키 생성 방법
키 페어란 무엇입니까?
스텔라 키는 네트워크에서 사용자를 인증하고 식별하는 데 사용됩니다. Stellar 계정은 공개 키(계정 ID라고도 함)로 고유하게 식별됩니다. Stellar 계정 ID는 문자G
로 시작하는 문자열이며 이 키는 다른 사람과 공유해도 안전합니다. 계정은 S
로 시작하는 문자열인 비밀 키 시드를 사용하여 제어되며 다른 사람이나 애플리케이션과 공유해서는 안 됩니다. 비밀 키 시드는 개인 키를 파생시키는 데 사용됩니다. 개인 키와 공개 키를 함께 키 쌍이라고 합니다. 개인 키는 원장의 Stellar 계정 상태를 수정하는 작업에 서명하는 데 사용됩니다.
SDK 중 하나를 사용하여 키 쌍 생성
이제 키 쌍이 무엇이고 용도가 무엇인지 알았으므로 4개의 서로 다른 SDK를 사용하여 키 쌍을 생성하는 방법을 확인할 수 있습니다.
자바스크립트
stellar-base
패키지는 Stellar Development Foundation 및 is available on npm에서 공식적으로 관리합니다.
import { Keypair } from "stellar-base";
// Generate random key pair
Keypair.random();
// Generate key pair from secret
Keypair.fromSecret("SA6KO...PRET");
// Generate key pair from account id
Keypair.fromPublicKey("GBMZ...ZPJK");
녹
stellar-base
상자는 키 쌍을 포함하여 낮은 수준의 스텔라 유형을 제공합니다. crates.io 에서 직접 가져올 수 있습니다. Rust SDK는 개인 키와 공개 키를 모두 포함하는 KeyPair
유형과 공개 키만 포함하는 PublicKey
유형을 제공합니다. 이 API 설계를 사용하면 실수로 공개 키로만 구성된 키 쌍으로 트랜잭션에 서명하는 것이 불가능합니다.
use stellar_base::crypto::{KeyPair, PublicKey};
// Generate random key pair
KeyPair::random()?;
// Generate key pair from secret
KeyPair.from_secret_seed("SA6KO...PRET")?;
// Generate public key from account id
PublicKey::from_account_id("GBMZ...ZPJK")?;
씨
dotnet-stellar-sdk
는 Stellar 생태계와 상호 작용하는 C# 라이브러리입니다. .NET Standard 2.0 이상을 대상으로 하는 모든 언어에서 사용할 수 있습니다.
using stellar_dotnet_sdk;
// Generate random key pair
KeyPair.Random();
// Generate key pair from secret
KeyPair.FromSecretSeed("SA6KO...PRET");
// Generate key pair from account id
KeyPair.FromAccountId("GBMZ...ZPJK");
파이썬
Pythonstellar-sdk
은 PyPi에서 사용할 수 있으며 pip
와 함께 설치할 수 있습니다.
from stellar_sdk import Keypair
# Generate random key pair
Keypair.random();
# Generate key pair from secret
Keypair.from_secret("SA6KO...PRET");
# Generate key pair from account id
Keypair.from_public_key("GBMZ...ZPJK");
무대 뒤에서 무슨 일이 일어나고 있습니까?
Stellar는 트랜잭션에 EdDSA 서명 체계를 사용합니다. 개인 키는 개인 키 자체를 생성하는 데 사용되는 32바이트 시드로 수명을 시작합니다. 공개 키는 개인 키에서 파생되거나 32바이트 버퍼에서 직접 생성될 수 있습니다. 개인 키와 공개 키가 어떻게 파생되는지 자세히 설명하지는 않겠습니다. 관심이 있는 경우 this excellent blog post by Brian Warner에서 자세한 내용을 찾을 수 있습니다.
Stellar 계정 ID에서 공개 키로 이동하는 것은 매우 간단합니다. 계정 ID(G
로 시작하는 문자열)를 base32로 디코딩하고 35바이트의 버퍼를 얻는 것으로 시작합니다. 첫 번째 바이트에는 키 유형(비밀 시드, 계정 ID, 사전 승인된 트랜잭션 또는 hash(x)
)에 대한 정보가 포함되고, 다음 32바이트에는 키 자체(또는 비밀 키 시드)가 포함되며, 마지막 2바이트에는 키 체크섬. Stellar는 바이트 1에서 32까지의 체크섬에 CRC-16 XMODEM을 사용합니다.
공개 키에서 Stellar 계정 ID를 계산하는 프로세스는 비슷합니다. 버전 바이트를 공개 키 바이트와 연결하여 33바이트 길이의 페이로드를 얻습니다. 그런 다음 페이로드의 16비트 CRC를 계산합니다. 마지막으로 페이로드와 체크섬을 연결하고 base32를 사용하여 인코딩합니다.
Reference
이 문제에 관하여(스텔라 키 생성 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/fracek/how-to-generate-stellar-keys-586o
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이제 키 쌍이 무엇이고 용도가 무엇인지 알았으므로 4개의 서로 다른 SDK를 사용하여 키 쌍을 생성하는 방법을 확인할 수 있습니다.
자바스크립트
stellar-base
패키지는 Stellar Development Foundation 및 is available on npm에서 공식적으로 관리합니다.import { Keypair } from "stellar-base";
// Generate random key pair
Keypair.random();
// Generate key pair from secret
Keypair.fromSecret("SA6KO...PRET");
// Generate key pair from account id
Keypair.fromPublicKey("GBMZ...ZPJK");
녹
stellar-base
상자는 키 쌍을 포함하여 낮은 수준의 스텔라 유형을 제공합니다. crates.io 에서 직접 가져올 수 있습니다. Rust SDK는 개인 키와 공개 키를 모두 포함하는 KeyPair
유형과 공개 키만 포함하는 PublicKey
유형을 제공합니다. 이 API 설계를 사용하면 실수로 공개 키로만 구성된 키 쌍으로 트랜잭션에 서명하는 것이 불가능합니다.use stellar_base::crypto::{KeyPair, PublicKey};
// Generate random key pair
KeyPair::random()?;
// Generate key pair from secret
KeyPair.from_secret_seed("SA6KO...PRET")?;
// Generate public key from account id
PublicKey::from_account_id("GBMZ...ZPJK")?;
씨
dotnet-stellar-sdk
는 Stellar 생태계와 상호 작용하는 C# 라이브러리입니다. .NET Standard 2.0 이상을 대상으로 하는 모든 언어에서 사용할 수 있습니다.using stellar_dotnet_sdk;
// Generate random key pair
KeyPair.Random();
// Generate key pair from secret
KeyPair.FromSecretSeed("SA6KO...PRET");
// Generate key pair from account id
KeyPair.FromAccountId("GBMZ...ZPJK");
파이썬
Python
stellar-sdk
은 PyPi에서 사용할 수 있으며 pip
와 함께 설치할 수 있습니다.from stellar_sdk import Keypair
# Generate random key pair
Keypair.random();
# Generate key pair from secret
Keypair.from_secret("SA6KO...PRET");
# Generate key pair from account id
Keypair.from_public_key("GBMZ...ZPJK");
무대 뒤에서 무슨 일이 일어나고 있습니까?
Stellar는 트랜잭션에 EdDSA 서명 체계를 사용합니다. 개인 키는 개인 키 자체를 생성하는 데 사용되는 32바이트 시드로 수명을 시작합니다. 공개 키는 개인 키에서 파생되거나 32바이트 버퍼에서 직접 생성될 수 있습니다. 개인 키와 공개 키가 어떻게 파생되는지 자세히 설명하지는 않겠습니다. 관심이 있는 경우 this excellent blog post by Brian Warner에서 자세한 내용을 찾을 수 있습니다.
Stellar 계정 ID에서 공개 키로 이동하는 것은 매우 간단합니다. 계정 ID(G
로 시작하는 문자열)를 base32로 디코딩하고 35바이트의 버퍼를 얻는 것으로 시작합니다. 첫 번째 바이트에는 키 유형(비밀 시드, 계정 ID, 사전 승인된 트랜잭션 또는 hash(x)
)에 대한 정보가 포함되고, 다음 32바이트에는 키 자체(또는 비밀 키 시드)가 포함되며, 마지막 2바이트에는 키 체크섬. Stellar는 바이트 1에서 32까지의 체크섬에 CRC-16 XMODEM을 사용합니다.
공개 키에서 Stellar 계정 ID를 계산하는 프로세스는 비슷합니다. 버전 바이트를 공개 키 바이트와 연결하여 33바이트 길이의 페이로드를 얻습니다. 그런 다음 페이로드의 16비트 CRC를 계산합니다. 마지막으로 페이로드와 체크섬을 연결하고 base32를 사용하여 인코딩합니다.
Reference
이 문제에 관하여(스텔라 키 생성 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/fracek/how-to-generate-stellar-keys-586o
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(스텔라 키 생성 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/fracek/how-to-generate-stellar-keys-586o텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)