aozhiwei 0ce72d7299 1
2023-02-22 14:06:01 +08:00

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')