API Keystore
Gestion de KeyStore
Chaque nœud a un keystore intégré. Les clients créent des utilisateurs sur le keystore, qui agissent comme des identités à utiliser lors de l'interaction avec les blockchains. Un fichier de clés existe au niveau du nœud, donc si vous créez un utilisateur sur un nœud, il n'existe que sur ce nœud. Cependant, les utilisateurs peuvent être importés et exportés à l'aide de cette API.
Vous ne devez créer un utilisateur de keystore que sur un nœud que vous exploitez, car l'opérateur de nœud a accès à votre mot de passe en texte brut.
Format
Cette API utilise le format RPC json 2.0. Pour plus d'informations sur les appels JSON RPC, cliquez ici.
Endpoints
/ext/keystoreMéthodes
keystore.createUser
Créez un nouvel utilisateur avec le nom d'utilisateur et le mot de passe spécifiés.
Signature
keystore.createUser(
{
username:string,
password:string
}
) -> {success:bool}usernameetpasswordpeut contenir au plus 1024 caractères.Votre requête sera rejetée si le
passwordest jugée trop "weak".passworddoit comporter au moins 8 caractères et contenir des lettres majuscules et minuscules ainsi que des chiffres et des symboles.
Exemple d'un Appel
curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"keystore.createUser",
"params" :{
"username":"bob",
"password":"creme fraiche"
}
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/keystoreExemple de Réponse
{
"jsonrpc":"2.0",
"id" :1,
"result" :{
"success":true
}
}keystore.deleteUser
Supprimer un utilisateur.
keystore.deleteUser({username: string, password:string}) -> {success: bool}Exemple d'un Appel
curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"keystore.deleteUser",
"params" : {
"username" : "bob",
"password" : "3l33th4x0r!!1!"
}
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/keystoreExemple de Réponse
{
"jsonrpc":"2.0",
"id" :1,
"result" :{"success" : true}
}keystore.exportUser
Exportez un utilisateur. L'utilisateur peut être importé vers un autre nœud avec keystore.importUser. Le mot de passe de l'utilisateur reste chiffré.
keystore.exportUser(
{
username:string,
password:string
}
) -> {user:string}Exemple d'un Appel
curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"keystore.exportUser",
"params" :{
"username" :"bob",
"password" :"creme fraiche"
}
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/keystoreExemple de Réponse
{
"jsonrpc":"2.0",
"id" :1,
"result" :{
"user":"4CsUh5sfVwz2jNrJXBVpoPtDsb4tZksWykqmxC5CXoDEERyhoRryq62jYTETYh53y13v7NzeReisi"
}
}keystore.importUser
Importer l'utilisateur password doit correspondre au mot de passe de l'utilisateur. username n'a pas à correspondre au nom d'utilisateur que user a lors de son exportation.
keystore.importUser(
{
username:string,
password:string,
user:string
}
) -> {success:bool}Exemple d'un Appel
curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"keystore.importUser",
"params" :{
"username":"accountNameCanBeDifferent",
"password":"creme fraiche",
"user" :"4CsUh5sfVwz2jNrJXBVpoPtDsb4tZksWykqmxC5CXoDEERyhoRryq62jYTETYh53y13v7NzeReisi"
}
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/keystoreExample de Réponse
{
"jsonrpc":"2.0",
"id" :1,
"result" :{
"success":true
}
}keystore.listUsers
Répertoriez les utilisateurs de ce keystore.
Signature
keystore.ListUsers() -> {users:[]string}Example d'un Appel
curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"keystore.listUsers"
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/keystoreExample de Réponse
{
"jsonrpc":"2.0",
"id" :1,
"result" :{
"users":[
"bob"
]
}
}Mis à jour
Ce contenu vous a-t-il été utile ?