Команды управления аккаунтом и его атрибутами

Доступны в ядре.

core.auth.pk.new - Регистрация аккаунта

  • id : String - EON-ID аккаунта.

  • key : String - публичный ключ в Base64.

  • alg : String - алгоритм подписи. Поддерживается ed25519.

Команда не требует подписи.

Возможные ошибки:

  • "Unsupported algorithm" - неподдерживаемый алгоритм публичного ключа.

  • "Incorrect account public key" - Account ID не соответсвует переданному ключу.

  • "Public key already exists" - аккаунт уже зарегистрирован.

Пример:

{
    ...
    "type": "core.auth.pk.new",
    "data": {
        "alg": "ed25519",
        "id": "EON-LA8RA-QADLL-EBPRW",
        "key": "MD4G+x0KKTuKPEL2PBZHZ/q8J5D3fF33U7wBKuZcj7o="
    }
}

Управление мультиподписью

Команды управления мультиподписью.

core.auth.multisign.enable - Включение мультиподписи

  • sender : String - EON-ID аккаунта.

  • quorum : Map<String, long> - параметры кворума.

  • hash : String - хеш секрета отзыва в Base64.

  • alg : String - алгоритм хеш-суммы. Поддерживается SHA-512.

Команду подписывает аккаунт, заданный в sender и все участники кворума - т.е. все аккаунты, указанные в quorum.

Возможные ошибки:

  • "Hash algorithm is not supported" - задан неподдерживаемый HASH-алгоритм.

  • "Circular links" - возникли циклические ссылки в мультиподписях участников кворума.

  • "Quorum value is outside range" - неправильно задано значение веса (должно быть от 1 до 100).

  • "Insufficient total quorum" - недостаточно суммарного веса участников кворума (сумма всех кворумов должна быть не меньше 100).

Пример:

{
    ...
    "type": "core.auth.multisign.enable",
    "data": {
        "sender": "EON-LA8RA-QADLL-EBPRW",
        "quorum": {
          "EON-A7CJA-F3PUZ-DKVSK": 30,
          "EON-LA8RA-QADLL-EBPRW": 70
        },
        "hash": "MD4G+x0KKTuKPEL2PBZHZ/q8J5D3fF33U7wBKuZcj7o=",
        "alg": "SHA-512"
    }
}

core.auth.multisign.revoke - Отзыв мультиподписи

  • id : String - EON-ID аккаунта.

  • secret : String - секрет.

Команда не требует подписи.

Возможные ошибки:

  • "Multi-signature is not enabled" - мультиподпись не активирована.

  • "Prohibited" - не заданы параметра отзыва.

  • "Secret wrong" - неправильный секрет.

  • "Unsupported hash algorithm" - неподдерживаемый HASH-алгоритм.

Пример:

{
    ...
    "type": "core.auth.multisign.revoke",
    "data": {
        "id": "EON-LA8RA-QADLL-EBPRW",
        "secret": "SUPER-SECRET-PHRASE"
    }
}

core.auth.multisign.disable - Выключение мультиподписи

  • sender : String - EON-ID аккаунта.

Команду подписывает аккаунт, заданный в sender.

Возможные ошибки:

  • "Multi-signature is not enabled" - мультиподпись не активирована.

Пример:

{
    ...
    "type": "core.auth.multisign.disable",
    "data": {
        "sender": "EON-LA8RA-QADLL-EBPRW"
    }
}

Управление аттрибутами

core.data.set - Установка атрибута

  • sender : String - EON-ID аккаунта.

  • value : Map<Sting, String|long> - атрибуты.

    • Допустимые символы ключа: -_.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.

    • Допустимые символы строковых значений: - _.~abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!*'();:@&=+$,/?%#[]

Команду подписывает аккаунт, заданный в sender.

Возможные ошибки:

  • "Incorrect property" - неправильно заданы свойства.

Пример:

{
    ...
    "type": "core.data.set",
    "data": {
        "sender": "EON-LA8RA-QADLL-EBPRW",
        "value": {
          "me.age": 30,
          "service.token": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NSIsIm5hbWUiOiJKb2huIEdvbGQiLCJhZG1pbiI6dHJ1ZX0K.LIHjWCBORSWMEibq-tnT8ue_deUqZx1K0XxCOXZRrBI"
        }
    }
}

core.data.del - Удаление атрибута

  • sender : String - EON-ID аккаунта.

  • value : String - имена атрибутов (через пробел).

Команду подписывает аккаунт, заданный в sender.

Возможные ошибки:

  • "Unknown property" - удаляется неизвестное свойство.

Пример:

{
    ...
    "type": "core.data.del",
    "data": {
        "sender": "EON-LA8RA-QADLL-EBPRW",
        "value": "me.age service.token"
    }
}

state.attribute.set - Установка атрибута аккаунту

  • sender : String - EON-ID аккаунта.

  • value : Map<Sting, String|long> - атрибуты.

    • Допустимые символы ключа: -_.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.

    • Допустимые символы строковых значений: - _.~abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!*'();:@&=+$,/?%#[].

  • target : String - EON-ID целевого аккаунта.

Команду подписывает аккаунт, заданный в sender.

Возможные ошибки:

  • "Incorrect property" - неправильно заданы свойства.

Пример:

{
    ...
    "type": "state.attribute.set",
    "data": {
        "sender": "EON-LA8RA-QADLL-EBPRW",
        "value": {
          "me.age": 30,
          "service.token": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NSIsIm5hbWUiOiJKb2huIEdvbGQiLCJhZG1pbiI6dHJ1ZX0K.LIHjWCBORSWMEibq-tnT8ue_deUqZx1K0XxCOXZRrBI"
        },
        "target": "EON-A7CJA-F3PUZ-DKVSK"
    }
}

state.attribute.del - Удаление атрибута аккаунта

  • sender : String - EON-ID аккаунта.

  • value : String - имена атрибутов (через пробел).

  • target : String - EON-ID целевого аккаунта.

Команду подписывает аккаунт, заданный в sender.

Возможные ошибки:

  • "Unknown property" - удаляется неизвестное свойство.

Пример:

{
    ...
    "type": "state.attribute.del",
    "data": {
        "sender": "EON-LA8RA-QADLL-EBPRW",
        "value": "me.age service.token",
        "target": "EON-A7CJA-F3PUZ-DKVSK"
    }
}

Last updated