cá nhân
API để quản lý tài khoản và khóa riêng tư trong nút.
Không gian tên cá nhân
quản lý khóa riêng tư trong kho lưu trữ khóa.
personal_importRawKey
Nhập khóa riêng tư chưa mã hóa đã cho (chuỗi hex không có '0x' đứng đầu) hoặc [khóa ví Klaytn](../../../klaytn/design/tài khoảns.md#klaytn-wallet-key-format) vào kho lưu trữ khóa, mã hóa bằng cụm mật khẩu.
Trả về địa chỉ của tài khoản đã nhập.
Bảng điều khiển
personal.importRawKey(keydata, passphrase)
RPC
{"method": "personal_importRawKey", "params": [keydata, passphrase]}
Tham số
keydata
chuỗi
Khóa riêng tư không được mã hóa (chuỗi hex không có '0x' đứng đầu) hoặc một [khóa ví Klaytn](../../../klaytn/design/tài khoảns.md#klaytn-wallet-key-format).
cụm mật khẩu
chuỗi
Cụm mật khẩu để mã hóa.
Giá trị trả về
address
chuỗi
Địa chỉ của tài khoản đã nhập.
Ví dụ
Bảng điều khiển
HTTP RPC
personal_listAccounts
Trả về tất cả các địa chỉ tài khoản Klaytn của tất cả các khóa trong kho lưu trữ khóa.
Bảng điều khiển
personal.listAccounts
RPC
{"method": "personal_listAccounts", "params": []}
Tham số
Không có
Giá trị trả về
chuỗi
Danh sách tất cả các địa chỉ tài khoản Klaytn
Không có
Ví dụ
Bảng điều khiển
HTTP RPC
personal_listWallets
Trả về danh sách ví mà nút này quản lý.
Bảng điều khiển
personal.listWallets
RPC
{"method": "personal_listWallets", "params": []}
Tham số
Không có
Giá trị trả về
URL
chuỗi
Url Ví
Trạng thái
chuỗi
Trạng thái khoá
Thất bại
chuỗi
Tình trạng lỗi
Tài khoản
chuỗi
Danh sách địa chỉ tài khoản.
Ví dụ
Bảng điều khiển
HTTP RPC
personal_openWallet
Bắt đầu quy trình mở ví cứng, thiết lập kết nối USB và cố gắng xác thực bằng cụm mật khẩu được cung cấp.
LƯU Ý: Phương thức này có thể trả về một thử thách bổ sung yêu cầu lần mở thứ hai (ví dụ: thử thách ma trận mã PIN Trezor).
Bảng điều khiển
personal.openWallet(url, passhrase)
RPC
{"method": "personal_openWallet", "params": [url, passphrase]}
Tham số
URL
chuỗi
url Ví
Cụm mật khẩu
chuỗi
cụm mật khẩu cho ví
Giá trị trả về
Lỗi
lỗi
Tình trạng lỗi
Ví dụ
Bảng điều khiển
HTTP RPC
personal_deriveAccount
Yêu cầu ví HD để tạo tài khoản mới, có thể ghim tài khoản đó để sử dụng lại sau này.
Bảng điều khiển
personal.deriveAccount(url, path, pin)
RPC
{"method": "personal_deriveAccount", "params": [url, path, pin]}
Tham số
URL
chuỗi
Url Ví
đường dẫn
chuỗi
đường dẫn dẫn xuất
pin
boolean
pin tùy chọn
Giá trị trả về
Tài khoản
chuỗi
Địa chỉ của tài khoản mới.
Lỗi
lỗi
Tình trạng lỗi
Ví dụ
Bảng điều khiển
HTTP RPC
personal_newAccount
Tạo một khóa riêng tư mới và lưu trữ nó trong thư mục lưu trữ khóa. Tệp khóa được mã hóa bằng cụm mật khẩu đã cho. Trả về địa chỉ của tài khoản mới.
Tại bảng điều khiển Klaytn, newAccount
sẽ nhắc nhập cụm mật khẩu khi không được cung cấp làm đối số.
Bảng điều khiển
personal.newAccount(passphrase)
RPC
{"method": "personal_newAccount", "params": [passphrase]}
Tham số
cụm mật khẩu
chuỗi
(tùy chọn) cụm mật khẩu được sử dụng để mã hóa.
Giá trị trả về
chuỗi
Địa chỉ của tài khoản mới.
Ví dụ
Bảng điều khiển
Cụm mật khẩu cũng có thể được cung cấp dưới dạng chuỗi.
HTTP RPC
personal_lockAccount
Xóa khóa riêng tư có địa chỉ đã cho khỏi bộ nhớ. Tài khoản không còn có thể được sử dụng để gửi giao dịch.
Bảng điều khiển
personal.lockAccount(address)
RPC
{"method": "personal_lockAccount", "params": [address]}
Tham số
address
chuỗi
Địa chỉ tài khoản để khóa.
Giá trị trả về
bool
true
nếu tài khoản đã được khóa thành công, ngược lại sẽ là false
.
Ví dụ
Bảng điều khiển
HTTP RPC
personal_unlockAccount
Giải mã khóa với địa chỉ đã cho từ kho lưu trữ khóa.
Cả cụm mật khẩu và thời gian mở khóa đều là tùy chọn khi sử dụng bảng điều khiển JavaScript. Nếu cụm mật khẩu không được cung cấp làm đối số, bảng điều khiển sẽ nhắc cụm mật khẩu theo kiểu tương tác.
Khóa không được mã hóa sẽ được giữ trong bộ nhớ cho đến khi hết thời gian mở khóa. Nếu thời gian mở khóa mặc định là 300 giây. Thời gian cụ thể trong 0 giây sẽ mở khóa cho đến khi nút cục bộ Klaytn thoát ra.
Tài khoản này có thể được sử dụng klay_sign
và klay_sendTransaction
khi được mở khóa.
Bảng điều khiển
personal.unlockAccount(address, passphrase, duration)
RPC
{"method": "personal_unlockAccount", "params": [address, passphrase, duration]}
Tham số
address
chuỗi
Địa chỉ tài khoản để mở khóa.
cụm mật khẩu
chuỗi
cụm mật khẩu được sử dụng để mã hóa.
khoảng thời gian
int
(tùy chọn) thời gian mở khóa (mặc định là 300 giây).
Giá trị trả về
bool
true
nếu đã được mở khóa, ngược lại sẽ là false
Ví dụ
Bảng điều khiển
Cung cấp cụm mật khẩu và thời gian mở khóa làm đối số:
Nếu bạn muốn nhập cụm mật khẩu và vẫn ghi đè thời gian mở khóa mặc định, hãy đặt null
làm cụm mật khẩu.
HTTP RPC
personal_replaceRawKey
Thay thế tệp khóa được mã hóa trong kho lưu trữ khóa bằng khóa riêng tư được mã hóa đã cho (chuỗi hex không có '0x' đứng đầu) hoặc một [khóa ví Klaytn](../../../klaytn/design/tài khoảns.md#klaytn-wallet-key-format), mã hóa bằng cụm mật khẩu mới. Nó cũng nhận cụm mật khẩu cũ để giải mã khóa riêng tư cũ trước khi bị thay thế. Nếu không thể giải mã hoặc không thể tìm thấy tài khoản phù hợp, nó sẽ báo lỗi.
Trả về địa chỉ của tài khoản được thay thế nếu thành công.
Bảng điều khiển
personal.replaceRawKey(keydata, oldPassphrase, newPassphrase)
RPC
{"method": "personal_replaceRawKey", "params": [keydata, oldPassphrase, newPassphrase]}
Tham số
keydata
chuỗi
Khóa riêng tư không được mã hóa (chuỗi hex không có '0x' đứng đầu) hoặc một [khóa ví Klaytn](../../../klaytn/design/tài khoảns.md#klaytn-wallet-key-format).
oldPassphrase
chuỗi
Cụm mật khẩu để giải mã khóa riêng tư cũ.
newPassphrase
chuỗi
Cụm mật khẩu để mã hóa khóa riêng tư mới.
Giá trị trả về
address
chuỗi
Địa chỉ của tài khoản được thay thế.
Ví dụ
Bảng điều khiển
HTTP RPC
personal_sendAccountUpdate
Xác thực cụm mật khẩu đã cho và gửi một giao dịch [TxTypeAccountUpdate](../../../klaytn/design/transactions/basic.md#txtypetài khoảnupdate). Đối tượng giao dịch phải có các trường nơi bắt đầu
và khóa
. Các trường khác như gas
, Giá ga
và số dùng một lần
được đặt nội bộ nếu không được chỉ định. Nếu cụm mật khẩu có thể giải mã khóa riêng tư của tx.from
và giao dịch được xác minh, giao dịch sẽ được ký và gửi lên mạng. Tài khoản không được mở khóa trên toàn cầu trong nút và không thể được sử dụng trong các lệnh gọi RPC khác.
Bảng điều khiển
personal.sendAccountUpdate(tx, passphrase)
RPC
{"method": "personal_sendAccountUpdate", "params": [tx, passphrase]}
Tham số
tx
chuỗi
Đối tượng giao dịch. Yêu cầu chỉ định nơi bắt đầu
và khóa
.
cụm mật khẩu
chuỗi
Cụm mật khẩu để giải mã khóa riêng tư của tx.from
.
Giá trị trả về
chuỗi 32 byte
một hàm băm giao dịch nếu thành công. Nếu không, sẽ đưa ra một thông báo lỗi.
Ví dụ
Bảng điều khiển
HTTP RPC
LƯU Ý: Hàm klay.toPeb()
không thể thực thi trong HTTP RPC.
personal_sendTransaction
Xác thực cụm mật khẩu đã cho và gửi một giao dịch TxTypeLegacy. Đối tượng giao dịch phải có nơi bắt đầu
và nơi đến
ngoại trừ trường hợp triển khai hợp đồng. Nên bỏ qua nơi đến
nếu giao dịch triển khai là hợp đồng thông minh. Nếu không chỉ định giá trị
, giá trị sẽ được đặt thành 0 trong nội bộ. Các trường khác như gas
, gasPrice
và số dùng một lần
được đặt thành các giá trị phù hợp trong nội bộ nếu không được chỉ định. Nếu cụm mật khẩu có thể giải mã khóa riêng tư của tx.from
và giao dịch được xác minh, giao dịch sẽ được ký và gửi lên mạng. Tài khoản không được mở khóa trên toàn cầu trong nút và không thể được sử dụng trong các lệnh gọi RPC khác.
Bảng điều khiển
personal.sendTransaction(tx, passphrase)
RPC
{"method": "personal_sendTransaction", "params": [tx, passphrase]}
Tham số
tx
chuỗi
Đối tượng giao dịch. nơi bắt đầu
là trường bắt buộc. nơi đến
, giá trị
, gas
, gasPrice
và số dùng một lần
là các trường tùy chọn.
cụm mật khẩu
chuỗi
Cụm mật khẩu để giải mã khóa riêng tư của tx.from
.
Giá trị trả về
chuỗi 32 byte
một hàm băm giao dịch nếu thành công. Nếu không, sẽ đưa ra một thông báo lỗi.
Ví dụ
Bảng điều khiển
HTTP RPC
LƯU Ý: Hàm klay.toPeb()
không thể thực thi trong HTTP RPC.
personal_sendValueTransfer
Xác thực cụm mật khẩu đã cho và gửi một giao dịch TxTypeValueTransfer. Đối tượng giao dịch phải có các trường nơi bắt đầu
, nơi đến
và giá trị
. Các trường khác như gas
, gasPrice
và số dùng một lần
được đặt nội bộ nếu không được chỉ định. Nếu cụm mật khẩu có thể giải mã khóa riêng tư của tx.from
và giao dịch được xác minh, giao dịch sẽ được ký và gửi lên mạng. Tài khoản không được mở khóa trên toàn cầu trong nút và không thể được sử dụng trong các lệnh gọi RPC khác.
Bảng điều khiển
personal.sendValueTransfer(tx, passphrase)
RPC
{"method": "personal_sendValueTransfer", "params": [tx, passphrase]}
Tham số
tx
chuỗi
Đối tượng giao dịch. Yêu cầu chỉ định nơi bắt đầu
, nơi đến
và giá trị
.
cụm mật khẩu
chuỗi
Cụm mật khẩu để giải mã khóa riêng tư của tx.from
.
Giá trị trả về
chuỗi 32 byte
một hàm băm giao dịch nếu thành công. Nếu không, sẽ đưa ra một thông báo lỗi.
Ví dụ
Bảng điều khiển
HTTP RPC
LƯU Ý: Hàm klay.toPeb()
không thể thực thi trong HTTP RPC.
personal_sign
Phương thúc ký
tính toán chữ ký dành riêng cho Klaytn với: sign(keccak256("\x19Klaytn Signed Message:\n" + len(message) + message)))
Việc thêm tiền tố vào thông báo giúp chữ ký đã tính toán có thể được nhận dạng là chữ ký dành riêng cho Klaytn. Điều này ngăn chặn việc lạm dụng khi một DApp độc hại có thể ký dữ liệu tùy ý (ví dụ: giao dịch) và sử dụng chữ ký để mạo danh nạn nhân.
Xem personal_ecRecover
để xác minh chữ ký.
Bảng điều khiển
personal.sign(message, tài khoản, password)
RPC
{"method": "personal_sign", "params": [message, tài khoản, password]}
Tham số
thông báo
chuỗi
Thông báo cần ký.
tài khoản
chuỗi
Địa chỉ tài khoản.
mật khẩu
chuỗi
Cụm mật khẩu được sử dụng để ký.
Giá trị trả về
chuỗi
Chữ ký.
Ví dụ
Bảng điều khiển
HTTP RPC
personal_signTransaction
Thiết lập cấu hình mặc định và ký giao dịch đã cho.
LƯU Ý: Việc gửi mật khẩu tài khoản của bạn qua kết nối HTTP RPC không an toàn là rất nguy hiểm. Sử dụng klay_signTransaction.
Tham số
Các tham số bắt buộc phụ thuộc vào loại giao dịch. Kiểm tra các tham số phù hợp trong Làm việc với các loại giao dịch Klaytn.
Giá trị trả về
raw
Giao dịch thô đã ký
tx
Đối tượng giao dịch
mật khẩu
Mật khẩu người gửi
personal_ecRecover
ecRecover
trả về địa chỉ được liên kết với khóa riêng tư được sử dụng để tính toán chữ ký trong personal_sign
.
Bảng điều khiển
personal.ecRecover(message, signature)
RPC
{"method": "personal_ecRecover", "params": [message, signature]}
Tham số
thông báo
chuỗi
Thông báo.
chữ ký
chuỗi
Chữ ký.
Giá trị trả về
chuỗi
Địa chỉ tài khoản.
Ví dụ
Bảng điều khiển
HTTP RPC
Last updated