Получение "Невозможно десериализовать состояние контракта" при вызове функции инициализации Rust - PullRequest
0 голосов
/ 20 марта 2020

Я смог запустить near dev-deploy, используя near-shell для контракта Rust, а затем вызвать функцию "new" с near call my-account new '{"param1": "foo"}'

Однако это не работает при развертывании того же контракта в моей предпочтительной учетной записи, созданной с помощью NEAR Wallet .

Ошибка:

Smart contract panicked: panicked at 'Cannot deserialize the contract state.: Custom { kind: InvalidInput, error: "Unexpected length of input" }',

1 Ответ

0 голосов
/ 20 марта 2020

Оказывается, в мире блокчейнов есть общая проблема при обновлении контракта с той же учетной записью / адресом. Решением здесь было удалить и переделать аккаунт. Я использовал near-shell, чтобы удалить его, затем Кошелек, чтобы воссоздать его.

В командной строке:

near delete my-account another-account-getting-the-tokens

Затем снова создал учетную запись, посетив: https://wallet.nearprotocol.com/create/

Это очистило состояние, и я смог повторно развернуть контракт и запустить функцию init "new"

...