Research Article
SESCF: A Secure and Efficient Supply Chain Framework via Blockchain-Based Smart Contracts
(1) | open channel: inputs (open, C , , ) | (2) | Smart contract sends (C , , txhash) to | (3) | inputs to C , | (4) | .account := | (5) | assert txhash.price | (6) | inputs to C , | (7) | .account := | (8) | assert txhash.LD | (9) | t := tx.hash. | (10) | and sign C , | (11) | payment: after and sign the channel | (12) | pays txhash.PD to | (13) | .account := .account—txhash.PD | (14) | .account := .account + txhash.PD | (15) | if did not deliver the goods before t then | (16) | pay txhash.LD to | (17) | .account := .account + txhash.LD | (18) | .account := .account—txhash.LD | (19) | else | (20) | txhash.balance := .price—txhash.PD | (21) | pay txhash.balance to | (22) | .account := .account − txhash.balance | (23) | .account := .account + txhash.balance | (24) | end if | (25) | or call to close channel | (26) | close channel: on input (close, C , , txhash) from and | (27) | .wallet := .wallet + .account | (28) | .wallet := .wallet + .account | (29) | and sign off |
|