由確認的一節可以知道要避免收這樣的交易
所以來看IRI的實作
相關的code:
在UDPReceiver.java的spawnReceiverThread
有node.preProcessReceivedData這個函數
在Node.java可以找到preProcessReceivedData的實做
中間的一段
addReceivedDataToReceiveQueue會把收到的交易放進receiveQueue
receiveQueue在processReceivedDataFromQueue調用pollFirst
而 Node.java會開另一個thread:spawnProcessReceivedThread
這個thread會調用processReceivedDataFromQueue
processReceivedDataFromQueue會調用processReceivedData
processReceivedData 這個函數會把收到的交易寫到
所以node藉由UDP的鄰居收交易
開兩個thread , 一個收socket的data放進receiveQueue , 另一個從receiveQueue放進
從這段過程來看 , 並沒有檢查交易是否同時指向衝突交易
IOTA