@startuml title "Crypto Wallet Process(1),(2)" boundary User_Page as up participant Frontend_Server as fe participant Backend_Server as be database Prod_database as db database Remote_database as udb participant Ethereum_Geth as geth autonumber note over up (1) GetBalance (/dangnn-wallet-balance) end note up->fe: Wallet Account Page fe->be: loggin user id be->db: find wallet record db->be: wallet accout addr note over be: Call Geth fuction be->geth: request account balance geth->be: accout balance be->fe: current accout balance fe->up: show account balance note over up: note over up: autonumber note over up (2) Create Wallet /dangnn-wallet-create end note up->fe: create wallet fe->be: loggin user id note over be: Call Geth Create Wallet be->geth: create wallet geth->be: private_key & account addr note over be (1) get encryption key (2) with DB connection string Hash end note be->udb: request AES-256 encryption key\n with SHA-256 Hash conn string udb->be: AES-256 encryption key note over be : encrypt Private_key\nwith AES encrypt key be->db: save encrypted private key & account addr db->be: save OK be->fe: request OK fe->up: show creation OK @enduml