Ana içeriğe geç

Anahtar Deposu API'si

Her düğüm, yerleşik bir anahtar deposuna sahiptir. İstemciler, blok zincirleriyle etkileşimde bulunurken kimlik olarak kullanılacak kullanıcıları anahtar deposunda oluştururlar. Anahtar deposu düğüm seviyesinde bulunur, bu nedenle bir düğümde bir kullanıcı oluşturursanız, bu kullanıcı yalnızca o düğümde mevcut olacaktır. Ancak, kullanıcılar bu API aracılığıyla içe ve dışa aktarılabilir.

Yalnızca sahip olduğunuz bir düğümde bir anahtar deposu kullanıcısı oluşturmalısınız, çünkü düğüm operatörünün düz metin şifrenize erişimi vardır.

Ana ağda doğrulama ve yetkilendirme için, işlemleri üzerinden yapmalısınız. Bu şekilde, fonlarınızın kontrol anahtarları düğümde saklanmayacak ve bu da bir düğüm çalıştıran bilgisayarın tehlikeye girmesi durumunda riski önemli ölçüde azaltacaktır.

Format

Bu API, json 2.0 API formatını kullanır. JSON RPC çağrıları yapma hakkında daha fazla bilgi için bakabilirsiniz.

Uç Nokta

/ext/keystore

Yöntemler

keystore.createUser

Belirtilen kullanıcı adı ve şifre ile yeni bir kullanıcı oluşturur.

İmza

keystore.createUser(
{
username:string,
password:string
}
) -> {success:bool}
  • username ve password en fazla 1024 karakter olabilir.
  • password çok zayıfsa isteğiniz reddedilecektir. password, en az 8 karakter olmalı ve büyük ve küçük harfler ile birlikte rakamlar ve semboller içermelidir.

Örnek Çağrı

curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"keystore.createUser",
"params" :{
"username":"myUsername",
"password":"myPassword"
}
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/keystore

Örnek Yanıt

{
"jsonrpc": "2.0",
"id": 1,
"result": {
"success": true
}
}

keystore.deleteUser

Bir kullanıcıyı siler.

İmza

keystore.deleteUser({username: string, password:string}) -> {success: bool}

Örnek Çağrı

curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"keystore.deleteUser",
"params" : {
"username":"myUsername",
"password":"myPassword"
}
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/keystore

Örnek Yanıt

{
"jsonrpc": "2.0",
"id": 1,
"result": { "success": true }
}

keystore.exportUser

Bir kullanıcıyı dışa aktarır. Kullanıcı, ile başka bir düğüme içe aktarılabilir. Kullanıcının şifresi şifrelenmiş olarak kalır.

İmza

keystore.exportUser(
{
username:string,
password:string,
encoding:string //opsiyonel
}
) -> {
user:string,
encoding:string
}

encoding, kullanıcı verilerinin string kodlamasının formatını belirtir. "cb58" veya "hex" olabilir. Varsayılan "cb58"dir.

Örnek Çağrı

curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"keystore.exportUser",
"params" :{
"username":"myUsername",
"password":"myPassword"
}
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/keystore

Örnek Yanıt

{
"jsonrpc": "2.0",
"id": 1,
"result": {
"user": "4CsUh5sfVwz2jNrJXBVpoPtDsb4tZksWykqmxC5CXoDEERyhoRryq62jYTETYh53y13v7NzeReisi",
"encoding": "cb58"
}
}

keystore.importUser

Bir kullanıcıyı içe aktarır. password, kullanıcının şifresiyle eşleşmelidir. usernamein, dışa aktarıldığı zaman kullanıcının sahip olduğu kullanıcı adıyla eşleşmesi gerekmez.

İmza

keystore.importUser(
{
username:string,
password:string,
user:string,
encoding:string //opsiyonel
}
) -> {success:bool}

encoding, kullanıcı verilerinin string kodlamasının formatını belirtir. "cb58" veya "hex" olabilir. Varsayılan "cb58"dir.

Örnek Çağrı

curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"keystore.importUser",
"params" :{
"username":"myUsername",
"password":"myPassword",
"user" :"4CsUh5sfVwz2jNrJXBVpoPtDsb4tZksWykqmxC5CXoDEERyhoRryq62jYTETYh53y13v7NzeReisi"
}
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/keystore

Örnek Yanıt

{
"jsonrpc": "2.0",
"id": 1,
"result": {
"success": true
}
}

keystore.listUsers

Bu anahtar deposundaki kullanıcıları listeler.

İmza

keystore.ListUsers() -> {users:[]string}

Örnek Çağrı

curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"keystore.listUsers"
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/keystore

Örnek Yanıt

{
"jsonrpc": "2.0",
"id": 1,
"result": {
"users": ["myUsername"]
}
}