啓動xdag,此時會發現生成了一個地址,並且在\storage文件夾下生成xx.dat文件
查看該文件16進制
前兩行(第一個xdag_field結構體)其實就是
Transport_header+type+time+amount
Transport_heade爲0,Type爲1361,time爲當前時間,amount爲0。它們對應的16進制就是.dat文件中前兩行的值。
下面說說3,4,5,6行(第二三個xdag_field結構體)值的由來,如圖:
首先計算出signatureHash,這裏貼出Python版的計算過程
1. 從wallet文件讀出私鑰轉換成公鑰,本實例中如圖內pub。
2. 準備好block結構,第一個field爲transport_header+type+time+amount,整個block爲如圖中xdag_field1+xdag_field2。
3. 拼接出block+b”\x02”+公鑰,這裏的b”\x02”指的是奇偶公鑰。
4. 該變量通過兩次sha256計算便是signatureHash。
最後一步xdag_sign爲標準的openssl的橢圓軌跡簽名,把sign_r,sign_s賦值到第二個和第三個xdag_field結構上即可。