From 449d862fbbbde494e94ba0bbc4689b91ca986175 Mon Sep 17 00:00:00 2001 From: victor Date: Fri, 15 Aug 2003 10:40:13 +0000 Subject: new developed service git-svn-id: http://opensvn.csie.org/pttbbs/branches/bank@1102 63ad8ddf-47c3-0310-b6dd-a9e9d9715204 --- spec | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 spec (limited to 'spec') diff --git a/spec b/spec new file mode 100644 index 00000000..a9b0d190 --- /dev/null +++ b/spec @@ -0,0 +1,38 @@ + +Use Case: + list: + 列出所有接受轉帳的站台。 + query site: + 列出 site 這個站的資訊,包括匯率等。 + quit: + 切斷連線離開。 + + + + + +-------+ +-------+ + +-------+ | +----------+ +----------+ +-------+ | + | client|-+ ---| bankd(1) | <--------> | bankd(2) |---| client|-+ + +-------+ +----------+ +----------+ +-------+ + + client: + +Note: + client 能夠改 source,所以請務必注意 server 一定要小心防止 client + 的惡搞 + +Protocol (between banks): + 1.假設 bankd(1) 為 Ptt 這端的 daemon,bankd(2) 為 Ptt2 這端的。 + 2.當 Ptt 上有人想匯錢給 Ptt2 上的人,Ptt user(mbbsd) 這邊會開啟與 + 指定機器上 bank 的連線。[1] + 3.Client 先扣除自己的錢[2],再跟 server 說他要轉帳的對象跟金額。 + 4.Server 進行確認動作 + 1) 確定對方紀錄的匯率與自己相同。不同則回應錯誤。 + 2) 確定此人是否存在。是,則將錢匯入,回應成功訊息;否,則回應錯 + 誤。 + 5.根據 server 的回應做出動作。成功則不做任何事,失敗就將自己的錢 + 加回來。 + + + [1] 不加密的原因是 ... 懶 :p 有需要的話直接拿 ssh tunnel 來用吧 :p + [2] 避免有人送錢之後惡意斷線,造成錢有增無減。 -- cgit v1.2.3