• Short guides to forum navigation, searching, posting, translation, alerts and notifications viewable by clicking here.
  • Türk dostlarımıza hoş geldiniz Giriş burada.
  • Scammers are running ads on Facebook and Instagram claiming a giveaway. DO NOT OPEN THESE LINKS AND LOG IN. See this thread: here

[Forensics] KAG records. 5 different types (0 1 5 8 9)

Working on the same CSV file, extracted about a month ago,
Record types and counts;
Code:
0 create_account 13774
1 payment 3421
5 set_options 123
8 account_merge 12803
9 inflation 28
How to do it:
Same bash variables set as in previous [Forensics] post.
Code:
linux> cat $KAG_extract | sed 's/"//g' | awk -F, 'NR>1 {print $4, $5}' | sort -u

account_merge 8
create_account 0
inflation 9
payment 1
set_options 5

cat $KAG_extract | sed 's/"//g' | awk -F, 'NR>1 {print $4, $5}' | sort -u > t1
Who needs SQL?
Code:
linux> for i in 0 1 5 8 9; do echo $i; cat $KAG_extract | sed 's/"//g' | awk -F, -v x=$i '(NR>1) && ($5==x) {print}' | wc -l; done
0
13774
1
3421
5
123
8
12803
9

for i in 0 1 5 8 9; do echo $i; cat $KAG_extract | sed 's/"//g' | awk -F, -v x=$i '(NR>1) && ($5==x) {print}' | wc -l; done > t

linux> for i in 0 1 5 8 9; do echo $i; cat $KAG_extract | sed 's/"//g' | awk -F, -v x=$i '(NR>1) && ($5==x) {print}' | wc -l; done > t
linux> cat t
0
13774
1
3421
5
123
8
12803
9
28
Read every second record. Starting from Record 1 then Record 2.
Code:
cat t | sed -n 1~2p > t2
cat t | sed -n 2~2p > t3

linux> cat t | sed -n 1~2p > t2
linux> cat t | sed -n 2~2p > t3

linux> paste t[2-3]
0    13774
1    3421
5    123
8    12803
9    28
linux> paste t[2-3] > t4
lol, right?
Code:
linux> cat t4
0    13774
1    3421
5    123
8    12803
9    28

join -1 2 -2 1 t t4 

linux> join -1 2 -2 1 <(sort -k2 t1) t4 
0 create_account 13774
1 payment 3421
5 set_options 123
8 account_merge 12803
9 inflation 28
 
And here's what they each look like.
21 lines for each record across the 5 record types
Not all fields filled

Demo by example (pulling up the first record for each):
CSV file full path name set in same bash variable as per previous posts.
The technique:
Code:
for i in 0 1 5 8 9
do
  sed '1d' $KAG_extract | sed 's/\"//g' | awk -F, -v x=$i '($5==x) {print $0}' | head -1 | sed 's/,/\n/g' | nl -ba
  sleep 3
done > t
nl -ba
to list line number even for empty lines...

Sample for each:
Starting with
Code:
0 create_account 13774
That count was calculated in a previous post from today.
Code:
     1    105811428484583425
     2    true
     3    GBTYCT2VVWURNU23ZSR3IPSXU6BRWT3ELIOQJAJOKGIHCLLE6YDX4A7E
     4    create_account
     5    0
     6    2023-02-23T11:08:51Z
     7    deb678de9a4fed8f28cc3d18d919abdcea295883582f53e182cf340302b1508c
     8    
     9    
    10    
    11    
    12    GCLBGCC673GPM2GYKIOGREGLEX3GU6L5FHWIIXZU4YTJHYB62XX5JU7X
    13    
    14    17.0000000
    15    GBTYCT2VVWURNU23ZSR3IPSXU6BRWT3ELIOQJAJOKGIHCLLE6YDX4A7E
    16    
    17    
    18    
    19    
    20    
    21
Code:
1 payment 3421
Code:
     1    105821216715051009
     2    true
     3    GBTYCT2VVWURNU23ZSR3IPSXU6BRWT3ELIOQJAJOKGIHCLLE6YDX4A7E
     4    payment
     5    1
     6    2023-02-23T14:33:18Z
     7    236ee99f5a6fe01b62168357a5afdca75191148fda8332a2c146b6db3cbc606c
     8    native
     9    GBTYCT2VVWURNU23ZSR3IPSXU6BRWT3ELIOQJAJOKGIHCLLE6YDX4A7E
    10    GAAEXODE6OKY2GSB3PZ6YXIFQNAZ6CQKH5FN22EALGOOEPHO5FVB4XEK
    11    97.8040500
    12    
    13    
    14    
    15    
    16    
    17    
    18    
    19    
    20    
    21
Code:
5 set_options 123
Code:
     1    99417377527042049
     2    true
     3    GBTYCT2VVWURNU23ZSR3IPSXU6BRWT3ELIOQJAJOKGIHCLLE6YDX4A7E
     4    set_options
     5    5
     6    2022-11-22T09:27:08Z
     7    3abf26b47a3b70e24f8dead4bd201953026a3a84bc0a179f82495cd83924efa0
     8    
     9    
    10    
    11    
    12    
    13    
    14    
    15    
    16    GCK7NXBOVWY4V2VETTGZJXME4I6JHRRJMYNDMBYRBNLMM7CQYTEXB6GG
    17    0
    18    
    19    
    20    
    21
Code:
8 account_merge 12803
Code:
     1    105811437074518017
     2    true
     3    GCLBGCC673GPM2GYKIOGREGLEX3GU6L5FHWIIXZU4YTJHYB62XX5JU7X
     4    account_merge
     5    8
     6    2023-02-23T11:09:02Z
     7    c24e71f8460271631c2bda8ac33b10a62967dd7597c78aec61d2a01dc2e4a7a6
     8    
     9    
    10    
    11    
    12    GCLBGCC673GPM2GYKIOGREGLEX3GU6L5FHWIIXZU4YTJHYB62XX5JU7X
    13    GBTYCT2VVWURNU23ZSR3IPSXU6BRWT3ELIOQJAJOKGIHCLLE6YDX4A7E
    14    
    15    
    16    
    17    
    18    
    19    
    20    
    21
Code:
9 inflation 28
Code:
     1    104264634667634689
     2    true
     3    GDCQANEHPUIIT6CQGJO2NTKGCRFD5NETJNC33CJG3PWCSRVYNHISHLHK
     4    inflation
     5    9
     6    2023-02-01T00:00:22Z
     7    944501899ed4565fcab1056cb64f5031374f8ddd5626f80295553e2c80f1af47
     8    
     9    
    10    
    11    
    12    
    13    
    14    
    15    
    16    
    17    
    18    
    19    
    20    
    21
 
For reference,
Code:
linux> set | grep KA[G,U] | sort -u | sed '2d'
KAG_EmissionAccount=GCGTMT2X6NUV6ABEOAOSDI2YQ7FXQOQYKYA7KVZQ5ID67GQU3C6AIUGU
KAG_GAPSAccount=GAPS3KZ4YVEL4UYFAGTE6L6H6GRZ3KYBWGY2UTGTAJBXGUJLBCYQIXXA
KAG_HotWalletAccount=GBTYCT2VVWURNU23ZSR3IPSXU6BRWT3ELIOQJAJOKGIHCLLE6YDX4A7E
KAG_InflationAccount=GBBVUAMR3CYNQKMNHVWCMUQVE3XQIL3WM5GSP5D6SCECKIZNNBT6FT7I
KAG_RootAccount=GAUCIFE37F4KQ5F6QPNSZ75QKRQTNRCF32FZNUXMCXUFSKRMWGF76LTI
Deleted second line
to get this guy out of the light
Code:
linux> set | grep KA[G,U] | sort -u | sed -n 2,1p 
KAG_extract=../Blockchain-Exploration/KAG/stellar-export-20230223-1606.csv
 

Translate

Back
Top