-
Notifications
You must be signed in to change notification settings - Fork 14
liuweizhuang
Eason Ryan edited this page Dec 20, 2018
·
10 revisions
测试1(在Update之前,同一个节点不能执行两次Send操作):
ABCD四个节点互连:
Mint:A(Mint),B(Mint),C(Mint),D(Mint)
Send:然后A给B 发送Send交易,B miner.start(),proof验证成功。A给C发送Send交易,proof验证失败,并打印:cannot Send SendTx after send。B给C 发送Send交易,C miner.start(),proof验证成功。C给D 发送Send交易,D miner.start(),proof验证成功。
Update:ABC进行Update操作,并用另外一个节点挖矿,proof验证成功。
Deposit:BCD进行Deposit操作,并用另外一个节点挖矿,proof验证成功。
Redeem:ABC进行Redeem操作,并用另外一个节点挖矿,proof验证成功。
测试2(同一个节点不能执行两次Update操作):
ABCD四个节点互连:
Mint:A(Mint),B(Mint),C(Mint),D(Mint)
Send:然后A给B 发送Send交易,B miner.start(),proof验证成功。B给C 发送Send交易,C miner.start(),proof验证成功。C给D 发送Send交易,D miner.start(),proof验证成功。
Update:ABC进行Update操作,并用另外一个节点挖矿,顺序为A,proof验证成功,A再进行Update,打印:updateTx must after sendTx, but last tx is not a sendTx。B进行Update操作,proof验证成功,C进行Update操作,proof验证成功。
Deposit:BCD执行Deposit操作,proof验证成功。
Redeem:ABC执行Redeem操作,proof验证成功。
测试3(常规正确步骤测试,成功!):
ABCD四个节点,A作为矿工不参与交易,只作为挖矿者。BCD三个节点与A建立连接,并产生交易。
Mint:BCD执行Mint操作,proof验证成功。
Send:B给C 发送Send交易,proof验证成功。C给D 发送Send交易,proof验证成功。D给B 发送Send交易,proof验证成功。
Update:BCD执行Update交易,proof验证成功。
Deposit:CDB执行Deposit交易,proof验证成功。
Redeem:BCD执行Redeem操作,proof验证成功。
测试4(Update时传入错误的txHash参数):
AB两个节点,互连。
Mint:AB执行Mint操作,proof验证成功。
Send:A给B发送Send交易,proof验证成功。产生txHash(A),B给A发送Send交易,proof验证成功,产生txHash(B)。
Update:B执行Update操作,传入txHash(A),打印:Error: can't generate proof。
测试5(Send操作完只能执行Update操作):
ABCD四个节点,BCD都和A连接。A只作为挖矿节点,BCD执行各种交易。
Mint:BCD执行Mint操作,proof验证成功。
Send:B给C执行Send操作,C给D执行Send操作,D给B执行Send操作,proof都验证成功。
Deposit:此时C执行Deposit操作,正常不成功,因为C还没有Update,结果不成功。
Update:C执行Update操作,proof验证成功。D执行Update操作,proof验证成功。
测试6(Deposit执行前必须执行Update):
ABCD四个节点,BCD都和A连接。A只作为挖矿节点,BCD执行各种交易。
Mint:BCD执行Mint操作,proof验证成功。
Send:B给C执行Send操作,D给C执行Send操作,C给B执行Send操作,proof都验证成功。
Update:C执行Update操作。
Deposit:此时C执行两次Deposit操作,proof验证成功。
Update:B执行Update操作,proof验证成功。
Deposit:B执行Deposit操作,proof验证成功。
Redeem:BC执行Redeem操作,proof验证成功。D执行Redeem操作,验证proof失败,打印:cannot send Redeem after sendTx。因为D没有执行Update。
Update:D执行Update操作,proof验证成功。
Redeem:D执行Update操作,proof验证成功。
测试7(不同ip下账户间的执行交易):
在一台电脑创建一个节点A,另一台电脑创建BC,C只用来挖矿,AB用来交易,ABC建立连接。
Mint:AB执行Mint操作,proof验证成功。
Send:A给B执行Send操作,B给A执行Send操作,proof验证成功。
Update:AB执行Update操作,proof验证成功。
Deposit:AB执行Deposit操作,proof验证成功。
Redeem:AB执行Redeem操作,proof验证成功。
测试8(五台电脑不同ip终端建立连接,执行正常操作过程):
五台电脑,六个节点,其中一台两个节点,一个节点生成的账户专门用来挖矿,另一个一个和另外四个执行交易。交易账户分别为:ABCDE
挖矿节点账户始终处于挖矿状态,B先给ACDE发送普通账户余额,确保初始账户都有明文余额。
Mint:ABCDE执行Mint操作,proof都验证成功。
Send:A给B send,B给C send,C给D send,D给E Send,E给A send,proof都验证成功,并记录下send txHash。
Update:ABCDE执行Update操作,proof验证成功。
Deposit:ABCDE执行Deposit操作,proof验证成功。
Redeem:ABCDE执行Redeem操作,proof验证成功。