1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- @startuml
- title "Contract Vefication with MetaMask"
- boundary User_Page as userpage
- participant Frontend_Server as fe
- participant Backend_Server as be
- database db
- participant MetaMask as mt
- participant Ethereum_Net as eth
- autonumber
- fe->be: send contract addr
- be->db: find if contract addr exists
- note over db #99FF99
- <b>contract-creator</b>
- <b>ownership</b>
- scaned and saved
- During sync-block
- end note
- db->be: contract creator's addr
- be->fe: creators addr \nif contract addr exists
- note over fe
- (1) creator's addr
- (2) message to sign
- end note
- fe->mt: metamask call
- /'6'/
- mt->eth: request sinature by private key
- note over mt
- (1) metamask login
- (2) get Ether Signature
- end note
- mt->eth: request sinature by private key
- eth->mt : Ether Signature
- mt->fe: Message Signature Hash
- note over fe
- (1) Creator's addr
- (2) signed message
- (3) Message Signature Hash
- end note
- fe->be: Signature validation
- note over be
- Ether Sign Validation
- end note
- be->fe: validation OK.
- @enduml
|