-
Notifications
You must be signed in to change notification settings - Fork 79
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Not able to adopt the new notary actor API #2955
Comments
And adjust the way how newly-created SN notary request is defined. Notary actor doesn't fill dummy witness for multisignature account (and that's the way how the system is supposed to function, see the documentation 7-th instruction at https://github.com/nspcc-dev/neo-go/blob/master/docs/notary.md#2-request-submission). Thus, to check the request was just received from the storage node we must ensure the inner ring witness has empty invocation script. That was the reason of nspcc-dev/neo-go#2955.
The reason is that Notary actor do not add "dummy" witness for multisignature account if no witness can be provided. And the old neofs-node code does (it was the old way of submitting notary requests). See the 7-th step of the documentation, the right way to construct incomplete multisignature witness with no known signatures is to leave it empty (as the Notary actor does). So the problem is on neofs side. |
And adjust the way how newly-created SN notary request is defined. Notary actor doesn't fill dummy witness for multisignature account (and that's the way how the system is supposed to function, see the documentation 7-th instruction at https://github.com/nspcc-dev/neo-go/blob/master/docs/notary.md#2-request-submission). Thus, to check the request was just received from the storage node we must ensure the inner ring witness has empty invocation script. That was the reason of nspcc-dev/neo-go#2955. Signed-off-by: Anna Shaleva <anna@nspcc.ru>
And adjust the way how newly-created SN notary request is defined. Notary actor doesn't fill dummy witness for multisignature account (and that's the way how the system is supposed to function, see the documentation 7-th instruction at https://github.com/nspcc-dev/neo-go/blob/master/docs/notary.md#2-request-submission). Thus, to check the request was just received from the storage node we must ensure the inner ring witness has empty invocation script. That was the reason of nspcc-dev/neo-go#2955. Signed-off-by: Anna Shaleva <anna@nspcc.ru>
And adjust the way how newly-created SN notary request is defined. Notary actor doesn't fill dummy witness for multisignature account (and that's the way how the system is supposed to function, see the documentation 7-th instruction at https://github.com/nspcc-dev/neo-go/blob/master/docs/notary.md#2-request-submission). Thus, to check the request was just received from the storage node we must ensure the inner ring witness has empty invocation script. That was the reason of nspcc-dev/neo-go#2955. Signed-off-by: Anna Shaleva <anna@nspcc.ru>
And adjust the way how newly-created SN notary request is defined. Notary actor doesn't fill dummy witness for multisignature account (and that's the way how the system is supposed to function, see the documentation 7-th instruction at https://github.com/nspcc-dev/neo-go/blob/master/docs/notary.md#2-request-submission). Thus, to check the request was just received from the storage node we must ensure the inner ring witness has empty invocation script. That was the reason of nspcc-dev/neo-go#2955. Signed-off-by: Anna Shaleva <anna@nspcc.ru>
And adjust the way how newly-created SN notary request is defined. Notary actor doesn't fill dummy witness for multisignature account (and that's the way how the system is supposed to function, see the documentation 7-th instruction at https://github.com/nspcc-dev/neo-go/blob/master/docs/notary.md#2-request-submission). Thus, to check the request was just received from the storage node we must ensure the inner ring witness has empty invocation script. That was the reason of nspcc-dev/neo-go#2955. Signed-off-by: Anna Shaleva <anna@nspcc.ru>
And adjust the way how newly-created SN notary request is defined. Notary actor doesn't fill dummy witness for multisignature account (and that's the way how the system is supposed to function, see the documentation 7-th instruction at https://github.com/nspcc-dev/neo-go/blob/master/docs/notary.md#2-request-submission). Thus, to check the request was just received from the storage node we must ensure the inner ring witness has empty invocation script. That was the reason of nspcc-dev/neo-go#2955. Signed-off-by: Anna Shaleva <anna@nspcc.ru>
And adjust the way how newly-created SN notary request is defined. Notary actor doesn't fill dummy witness for multisignature account (and that's the way how the system is supposed to function, see the documentation 7-th instruction at https://github.com/nspcc-dev/neo-go/blob/master/docs/notary.md#2-request-submission). Thus, to check the request was just received from the storage node we must ensure the inner ring witness has empty invocation script. That was the reason of nspcc-dev/neo-go#2955. Signed-off-by: Anna Shaleva <anna@nspcc.ru>
And adjust the way how newly-created SN notary request is defined. Notary actor doesn't fill dummy witness for multisignature account (and that's the way how the system is supposed to function, see the documentation 7-th instruction at https://github.com/nspcc-dev/neo-go/blob/master/docs/notary.md#2-request-submission). Thus, to check the request was just received from the storage node we must ensure the inner ring witness has empty invocation script. That was the reason of nspcc-dev/neo-go#2955. Signed-off-by: Anna Shaleva <anna@nspcc.ru>
And adjust the way how newly-created SN notary request is defined. Notary actor doesn't fill dummy witness for multisignature account (and that's the way how the system is supposed to function, see the documentation 7-th instruction at https://github.com/nspcc-dev/neo-go/blob/master/docs/notary.md#2-request-submission). Thus, to check the request was just received from the storage node we must ensure the inner ring witness has empty invocation script. That was the reason of nspcc-dev/neo-go#2955. Signed-off-by: Anna Shaleva <anna@nspcc.ru>
Context
Trying to update notary API in the
neofs-node
and can't receive new notary requests viaWSClient
subscription mechanism. I do not change any subscription code, do not change any contracts code, do not update neo-go version, just a deprecated API -> new API adoption. Signers of a notary requests are 1. Proxy contract, 2. Alphabet multi-signature, 3. request invoker (SN in practice).No errors are returned after
Notarize
call, and no errors found inneo-go
logs. Also tried to remove any filters in the subscription (to receive every new notary request) and still no desired requests.SN logs after
Notarize
:neo-go
logs at the same time:4 requests from 4 nodes, no errors.
At the same time, sending notary requests works just fine: epochs do tick.
NOTE: I DO consider that I could have adopted the new API wrong. If it is my fault, I would like to ask to expand comments/docs/etc cause I have not solved my problem and do not know how to localize the error without any additional help now.
Steps to reproduce:
make bin/neofs-node image-dirty-storage bin/neofs-ir image-dirty-ir
i expect it to be0.35.0-96-g5bbfb13b
tagged (depending on your local tags state);/etc/hosts
, etc));make up/basic
;addPeer
notary requests have been caught by the Alphabet nodes);The text was updated successfully, but these errors were encountered: