-
Replace Letter of Credit (L/C) with smart contract to manage transaction payments.
-
Smart contract programming language: Solidity.
-
Blockchain platform: Ethereum.
-
Remember to switch the account when simulating with differnent identities.
-
Quorum is a Ethereum-based platform, which allows user to assign specific accounts to view the information or use the functions of contract before the contract is deployed.
-
Sequence of contract certification (1.Importer approval -> 2.Exporter approval -> 3.Bank approval -> 4.LC complete )
-
Automatic Reconciliation System
The payment (PaybeforeShippment+PayAfterShippment) should be equal to contract price so that the contract will be certificated.
-
Open Remix ide in your browser.
-
Create a new .sol file on Remix and paste BlockchainSolution.
-
Edit the contract.
-
Click the Run button and Choose JavaScript VM environment.
-
Copy and Paste the address of Importer(0xca35b7d915458ef540ade6068dfe2f44e8fa733c), Exporter(0x14723a09acff6d2a60dcdf7aa4aff308fddc160c), Bank(0x14723a09acff6d2a60dcdf7aa4aff308fddc160c)
-
Deploy the contract with Importer Account.
-
Use setInform function to Enter the information.
-
Click L/C approval in a standard order (Importer -> Exporter -> Bank).
-
After getting 3 parties approval (sequence = 4) , the contract will be locked then Importer can use Pay funciton to Pay deposit.
-
When Balance = PaybeforeShippment, boolDeposit will be True and Exporter can click shipment function.
-
After goods arrive importer's port, importer should pay the rest payment before receiving goods(PayAfterShippment).
-
After Importer receives and cofirms the condition of goods, click finish function and the payment will be transferred to Exporter's account.
-
When dispute happened, Importer and Exporter can click dispute function to ask for arbitrate.
-
After dispute function is called, Bank acquires the permission to controll the balance on contract, and Bank is able to use arbitrate funtion to transfer money to Importer or Exporter according to the result of arbitrate.
-
Python GUI (in process)
-
Web GUI
-
Add more details to build a full-featured platform.