summaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
authorvictor <victor@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2003-08-15 18:40:13 +0800
committervictor <victor@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2003-08-15 18:40:13 +0800
commit449d862fbbbde494e94ba0bbc4689b91ca986175 (patch)
treef9d72d4c55643071dd8e633afa1ac7166a0552d0 /spec
parent7b976a8121e3a2365abde9a90375a9bba1600e2d (diff)
downloadpttbbs-bank.tar
pttbbs-bank.tar.gz
pttbbs-bank.tar.bz2
pttbbs-bank.tar.lz
pttbbs-bank.tar.xz
pttbbs-bank.tar.zst
pttbbs-bank.zip
new developed servicebank
git-svn-id: http://opensvn.csie.org/pttbbs/branches/bank@1102 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'spec')
-rw-r--r--spec38
1 files changed, 38 insertions, 0 deletions
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] 避免有人送錢之後惡意斷線,造成錢有增無減。