personal
노드에서 계정과 개인키를 관리하는 API입니다.
personal
namespace는 키스토어의 개인키를 관리합니다.
personal_importRawKey
암호화되지 않은 개인키(접두사 '0x'를 제거한 16진수 문자열) 또는 Klaytn 지갑 키를 입력 받아 이에 해당하는 키 파일을 새 비밀번호로 암호화합니다.
가져온 계정의 주소를 반환합니다.
Console
personal.importRawKey(keydata, passphrase)
RPC
{"method": "personal_importRawKey", "params": [keydata, passphrase]}
Parameters
passphrase
string
암호화에 사용되는 비밀번호입니다.
Return Value
address
string
가져온 계정의 주소를 반환합니다.
Example
Console
HTTP RPC
personal_listAccounts
키스토어에 있는 모든 키에 대해서 Klaytn 계정 주소를 반환합니다.
Console
personal.listAccounts
RPC
{"method": "personal_listAccounts", "params": []}
Parameters
None
Return Value
string
Klaytn 계정 주소의 목록입니다.
None
Example
Console
HTTP RPC
personal_listWallets
현 노드가 관리하는 지갑의 목록을 반환합니다.
Console
personal.listWallets
RPC
{"method": "personal_listWallets", "params": []}
Parameters
None
Return Value
URL
string
지갑 URL입니다.
Status
string
잠금 상태입니다.
Failure
string
오류 조건입니다.
Accounts
string
계정 주소 목록입니다.
Example
Console
HTTP RPC
personal_openWallet
하드웨어 지갑 개시 절차를 시작하여, USB 연결 수립 및 제공받은 비밀번호를 통한 자격 증명이 진행됩니다.
참고: 이 메서드는 제2차 open을 요구하는 추가 문제를 반환할 수 있습니다. (e.g., the Trezor PIN 매트릭스).
Console
personal.openWallet(url, passhrase)
RPC
{"method": "personal_openWallet", "params": [url, passphrase]}
Parameters
URL
string
Wallet url
Passphrase
string
지갑의 비밀번호입니다.
Return Value
Error
error
Error condition
Example
Console
HTTP RPC
personal_deriveAccount
HD 지갑이 새로운 계정을 도출하도록 요청하며, 추후 사용을 위해 피닝할 수 있습니다.
Console
personal.deriveAccount(url, path, pin)
RPC
{"method": "personal_deriveAccount", "params": [url, path, pin]}
Parameters
URL
string
Wallet url
path
string
도출 경로입니다.
pin
boolean
피닝 여부입니다.
Return Value
Account
string
새로운 계정의 주소입니다.
Error
error
Error condition
Example
Console
HTTP RPC
personal_newAccount
새 개인키를 생성하여 키스토어 디렉토리에 저장합니다. 입력으로 받은 비밀번호로 키 파일을 암호화합니다. 새로 생성된 계정의 주소를 반환합니다.
Klaytn 콘솔에서 비밀번호가 매개변수로 주어지지 않으면 newAccount
가 비밀번호를 입력하도록 요구할 것입니다.
Console
personal.newAccount(passphrase)
RPC
{"method": "personal_newAccount", "params": [passphrase]}
Parameters
passphrase
string
(선택 사항) 암호화에 사용되는 비밀번호입니다.
Return Value
string
The address of the new account.
Example
Console
비밀번호는 하나의 문자열로 입력할 수도 있습니다.
HTTP RPC
personal_lockAccount
입력으로 받은 주소에 해당하는 개인키를 메모리에서 제거합니다. 이후 해당 계정을 사용하여 트랜잭션을 전송할 수 없습니다.
Console
personal.lockAccount(address)
RPC
{"method": "personal_lockAccount", "params": [address]}
Parameters
address
string
잠글 계정의 주소입니다.
Return Value
bool
계정이 성공적으로 잠기면 true
를 반환하고, 그렇지 않으면 false
를 반환합니다.
Example
Console
HTTP RPC
personal_unlockAccount
입력으로 받은 주소에 해당하는 키를 키스토어로부터 복호화합니다.
비밀번호와 duration 매개변수는 자바스트립트 콘솔일 때 사용하는 선택사항입니다. 비밀번호가 매개변수로 주어지지 않으면 콘솔에서 비밀번호를 입력하도록 요구할 것입니다.
잠금 해제 기간이 만료될 때까지 암호화되지 않은 키가 메모리에 남습니다. 잠금 해제 기간은 300초로 기본 설정되어 있습니다. 잠금 해제 기간을 0으로 설정하면 Klaytn 로컬 노드가 종료될 때까지 키를 잠금 해제합니다.
계정의 잠금이 해제된 동안 klay_sign
와 klay_sendTransaction
를 사용할 수 있습니다.
Console
personal.unlockAccount(address, passphrase, duration)
RPC
{"method": "personal_unlockAccount", "params": [address, passphrase, duration]}
Parameters
address
string
잠금 해제할 계정의 주소입니다.
passphrase
string
암호화에 사용되는 비밀번호입니다.
duration
int
(선택 사항) 잠금 해제 기간입니다. (기본 설정은 300초입니다.)
Return Value
bool
잠금 해제되면 true
를 반환하고, 그렇지 않으면 false
를 반환합니다.
Example
Console
다음과 같이 비밀번호와 잠금 해제 기간을 매개변수로 제공할 수 있습니다.
비밀번호는 그대로 놔두고 잠금 해제 기간을 따로 설정하려면 비밀번호를 null
로 전달하세요.
HTTP RPC
personal_replaceRawKey
암호화되지 않은 개인키(접두사 '0x'를 제거한 16진수 문자열) 또는 Klaytn 지갑 키를 받아 키 스토어의 암호화된 키 파일을 대체하며, 새 비밀번호로 암호화합니다. 또한 변경하기 전에 이전 비밀번호를 입력하여 이전 개인키를 복호화합니다. 복호화에 실패하거나 일치하는 계정을 찾을 수 없는 경우 오류가 발생합니다.
성공적으로 변경되면 변경된 계정의 주소를 반환합니다.
Console
personal.replaceRawKey(keydata, oldPassphrase, newPassphrase)
RPC
{"method": "personal_replaceRawKey", "params": [keydata, oldPassphrase, newPassphrase]}
Parameters
oldPassphrase
string
이전 개인키를 복호화하기 위한 비밀번호입니다.
newPassphrase
string
새 개인키를 암호화하기 위한 비밀번호입니다.
Return Value
address
string
변경된 계정의 주소입니다.
Example
Console
HTTP RPC
personal_sendAccountUpdate
입력으로 받은 비밀번호를 검증하고 TxTypeAccountUpdate 트랜잭션을 제출합니다. 이 트랜잭션 객체의 from
와 key
필드는 필수적으로 값을 입력해야 합니다. gas
, gasPrice
, 논스
와 같은 다른 필드는 값이 지정되지 않으면 내부적으로 설정이 됩니다. 비밀번호로 tx.from
의 개인키를 복호화할 수 있고 트랜잭션이 유효하면, 트랜잭션을 서명하여 네트워크에 제출합니다. 이때 계정은 노드에서 전역적으로 잠금 해제되지 않으며 다른 RPC 호출에 사용될 수도 없습니다.
Console
personal.sendAccountUpdate(tx, passphrase)
RPC
{"method": "personal_sendAccountUpdate", "params": [tx, passphrase]}
Parameters
tx
string
트랜잭션 객체입니다. from
과 key
필드는 반드시 값을 입력해야 합니다.
passphrase
string
tx.from
의 개인키를 복호화하기 위한 비밀번호입니다.
Return Value
32바이트 문자열
성공하면 트랜잭션 해시를 반환합니다. 실패하면 오류가 발생합니다.
Example
Console
HTTP RPC
참고: klay.toPeb()
함수는 HTTP RPC를 통해 실행할 수 없습니다.
personal_sendTransaction
입력으로 받은 비밀번호를 검증하고 TxTypeLegacy 트랜잭션을 제출합니다. 컨트랙트 배포를 제외하고는 트랜잭션 오브젝트는 언제나 from
과 to
가 있어야 합니다. 스마트 컨트랙트를 배포하는 트랜잭션에서는 to
가 비워져 있어야 합니다. value
가 주어지지 않으면, 내부적으로 0으로 설정합니다. gas
, gasPrice
, nonce
와 같은 필드는 값이 지정되지 않으면 내부적으로 적절한 값으로 설정합니다. 비밀번호로 tx.from
의 개인키를 복호화할 수 있고, 트랜잭션이 유효하면 트랜잭션을 서명하여 네트워크에 제출합니다. The account is not unlocked globally in the node and cannot be used in other RPC calls.
Console
personal.sendTransaction(tx, passphrase)
RPC
{"method": "personal_sendTransaction", "params": [tx, passphrase]}
Parameters
tx
string
A transaction object. from
은 필수 입력 필드입니다. to
, value
, gas
, gasPrice
, nonce
는 선택적으로 입력하는 필드입니다.
passphrase
string
The passphrase to decrypt the private key of tx.from
.
Return Value
32-byte string
a transaction hash if succeeded. Otherwise, an error is raised.
Example
Console
HTTP RPC
NOTE: The function klay.toPeb()
is not executable in HTTP RPC.
personal_sendValueTransfer
입력으로 받은 비밀번호를 검증하고 TxTypeValueTransfer 트랜잭션을 제출합니다. 이 트랜잭션 객체의 from
, to
, value
필드는 필수적으로 값을 입력해야 합니다. gas
, gasPrice
, 논스
와 같은 다른 필드는 값이 지정되지 않으면 내부적으로 설정이 됩니다. If the passphrase is able to decrypt the private key belonging to tx.from
and the transaction is verified, the transaction is signed and submitted onto the network. The account is not unlocked globally in the node and cannot be used in other RPC calls.
Console
personal.sendValueTransfer(tx, passphrase)
RPC
{"method": "personal_sendValueTransfer", "params": [tx, passphrase]}
Parameters
tx
string
A transaction object. from
, to
, value
필드는 반드시 값을 입력해야 합니다.
passphrase
string
The passphrase to decrypt the private key of tx.from
.
Return Value
32-byte string
a transaction hash if succeeded. Otherwise, an error is raised.
Example
Console
HTTP RPC
NOTE: The function klay.toPeb()
is not executable in HTTP RPC.
personal_sign
sign
메서드는 다음과 같이 Klaytn만의 서명을 계산합니다. sign(keccak256("\x19Klaytn Signed Message:\n" + len(message) + message)))
Adding a prefix to the message makes the calculated signature recognizable as a Klaytn-specific signature. 이는 악성 DApp이 트랜잭션과 같은 임의의 데이터에 서명하여 누군가를 사칭하는 것을 방지합니다.
서명 검증에 대한 자세한 내용은 personal_ecRecover
를 참고하세요.
Console
personal.sign(message, account, password)
RPC
{"method": "personal_sign", "params": [message, account, password]}
Parameters
message
string
서명할 메시지입니다.
account
string
계정 주소.
password
string
The pass phrase used for signing.
Return Value
string
서명 결과입니다.
Example
Console
HTTP RPC
personal_signTransaction
기본값으로 설정하며 주어진 트랜잭션에 서명합니다.
참고: 보안이 되지 않은 HTTP RPC 연결을 통해 계정 비밀번호를 전송하는 것은 매우 위험합니다. klay_signTransaction를 참고하세요.
Parameters
The required parameters depend on the transaction type. Working with Klaytn Transaction Types에서 적절한 파라미터를 확인하십시오.
Return Value
raw
Signed raw transaction
tx
트랜잭션 객체입니다.
password
발송 주소의 비밀번호입니다.
personal_ecRecover
ecRecover
는 personal_sign
에서 서명을 계산하는 데에 사용된 개인키에 해당하는 주소를 반환합니다.
Console
personal.ecRecover(message, signature)
RPC
{"method": "personal_ecRecover", "params": [message, signature]}
Parameters
message
string
서명한 메시지입니다.
signature
string
서명입니다.
Return Value
string
The account address.
Example
Console
HTTP RPC
Last updated