125 lines
2.8 KiB
Python
125 lines
2.8 KiB
Python
import csv
|
|
import json
|
|
import datetime
|
|
|
|
mintTable = []
|
|
nftTable = []
|
|
nftTransferTable = []
|
|
|
|
contracts = lambda : json.load(open('contract.json', 'r'))
|
|
|
|
resultData = {
|
|
'nft_total': 0,
|
|
'nft_mint': 0,
|
|
'bindbox': {
|
|
'hold': 0,
|
|
'open': 0
|
|
},
|
|
'nft_rank': [
|
|
]
|
|
}
|
|
|
|
def exportMintTable():
|
|
rows = []
|
|
with open('mint.raw.csv', 'w', newline='') as f:
|
|
writer = csv.writer(f)
|
|
writer.writerows(rows)
|
|
|
|
def exportNftTable():
|
|
rows = []
|
|
with open('nft.raw.csv', 'w', newline='') as f:
|
|
writer = csv.writer(f)
|
|
writer.writerows(rows)
|
|
|
|
def exportNftTransferTable():
|
|
rows = []
|
|
with open('nft_transfer.raw.csv', 'w', newline='') as f:
|
|
writer = csv.writer(f)
|
|
writer.writerows(rows)
|
|
|
|
def exportNftSumTable():
|
|
rows = []
|
|
for nft in nftTable:
|
|
rows.push(
|
|
(
|
|
nft['token_id'],
|
|
nft['token_type'],
|
|
nft['creator_address'],
|
|
nft['owner_address'],
|
|
nft['tags'],
|
|
datetime.datetime.fromtimestamp(nft['modifytime'])
|
|
)
|
|
)
|
|
with open('nft.sum.csv', 'w', newline='') as f:
|
|
writer = csv.writer(f)
|
|
writer.writerows(rows)
|
|
|
|
def loadData():
|
|
def rowToObj(row, fields):
|
|
assert(len(row) == len(fields))
|
|
obj = {}
|
|
for idx in range(len(fields)):
|
|
obj[fields[idx]] = row[idx]
|
|
return obj
|
|
def loadCsv(data, fileName, fields):
|
|
with open(fileName, "r", encoding="utf-8") as f:
|
|
reader = csv.reader(f)
|
|
for row in reader:
|
|
data.append(rowToObj(row, fields))
|
|
loadCsv(mintTable, 't_mint.txt', [
|
|
'idx',
|
|
'unikey',
|
|
'account',
|
|
'game_id',
|
|
'ignore',
|
|
'bc_minted',
|
|
'bc_mint_txhash',
|
|
'bc_mint_itemid',
|
|
'bc_mint_tokenid',
|
|
'bc_mint_token_type',
|
|
'bc_mint_tags',
|
|
'bc_mint_count',
|
|
'bc_mint_time',
|
|
'bc_mint_prepare_block_number',
|
|
'bc_mint_success_block_number',
|
|
'bc_mint_confirm_time',
|
|
'suspend',
|
|
'suspend_reason',
|
|
'done',
|
|
'createtime',
|
|
'modifytime'
|
|
])
|
|
loadCsv(nftTable, 't_nft.txt', [
|
|
'idx',
|
|
'owner_address',
|
|
'creator_address',
|
|
'token_id',
|
|
'token_type',
|
|
'token_state',
|
|
'game_id',
|
|
'item_id',
|
|
'deleted',
|
|
'opened',
|
|
'confirm_count',
|
|
'confirm_block_number',
|
|
'rand_attr',
|
|
'tags',
|
|
'createtime',
|
|
'modifytime'
|
|
])
|
|
loadCsv(nftTable, 't_nft_transfer.txt', [
|
|
'idx',
|
|
'token_id',
|
|
'txhash',
|
|
'block_number',
|
|
'log_index',
|
|
'_from',
|
|
'_to',
|
|
'raw_data',
|
|
'owner_confirmed',
|
|
'createtime',
|
|
'modifytime'
|
|
])
|
|
|
|
print('hello')
|