kopia lustrzana https://github.com/bugout-dev/moonstream
working dataset creation
rodzic
8594ba9bf5
commit
6d69976ee7
|
@ -11,40 +11,28 @@ from tqdm import tqdm
|
||||||
|
|
||||||
from .datastore import event_tables, EventType
|
from .datastore import event_tables, EventType
|
||||||
|
|
||||||
# TODO(zomglings): Make it so that table names are parametrized by importable variables. The way
|
# TODO(yhtiyar): Add this table to the dataset
|
||||||
# things are now, we have to be very careful if we ever rename a table in our dataset. We should
|
CONTRACTS = "contracts"
|
||||||
# also propagate the name change here.
|
|
||||||
NFTS = "nfts"
|
TRANSFERS = "transfers"
|
||||||
MINTS = event_tables[EventType.MINT]
|
|
||||||
TRANSFERS = event_tables[EventType.TRANSFER]
|
|
||||||
CURRENT_OWNERS = "current_owners"
|
# CURRENT_OWNERS = "current_owners"
|
||||||
CURRENT_MARKET_VALUES = "current_market_values"
|
# CURRENT_MARKET_VALUES = "current_market_values"
|
||||||
TRANSFER_STATISTICS_BY_ADDRESS = "transfer_statistics_by_address"
|
# TRANSFER_STATISTICS_BY_ADDRESS = "transfer_statistics_by_address"
|
||||||
MINT_HOLDING_TIMES = "mint_holding_times"
|
# MINT_HOLDING_TIMES = "mint_holding_times"
|
||||||
TRANSFER_HOLDING_TIMES = "transfer_holding_times"
|
# TRANSFER_HOLDING_TIMES = "transfer_holding_times"
|
||||||
OWNERSHIP_TRANSITIONS = "ownership_transitions"
|
# OWNERSHIP_TRANSITIONS = "ownership_transitions"
|
||||||
|
|
||||||
AVAILABLE_DATAFRAMES = {
|
AVAILABLE_DATAFRAMES = {
|
||||||
NFTS: """Describes the NFT contracts represented in this dataset, with a name and symbol if they were available at time of crawl.
|
CONTRACTS: """Describes the NFT and ERC20 contracts represented in this dataset, with a type, name, symbol, decimals (for erc20) if they were available at time of crawl.
|
||||||
|
|
||||||
Columns:
|
Columns:
|
||||||
1. address: The Ethereum address of the NFT contract.
|
1. address: The Ethereum address of the NFT contract.
|
||||||
2. name: The name of the collection of NFTs that the contract represents.
|
2. name: The name of the collection of NFTs that the contract represents.
|
||||||
3. symbol: The symbol of the collection of NFTs that the contract represents.
|
3. symbol: The symbol of the collection of NFTs that the contract represents.
|
||||||
""",
|
""",
|
||||||
MINTS: """All token mint events crawled in this dataset.
|
# TODO (yhtiyar): update description for the contracts
|
||||||
|
|
||||||
Columns:
|
|
||||||
1. event_id: A unique event ID associated with the event.
|
|
||||||
2. transaction_hash: The hash of the transaction which triggered the event.
|
|
||||||
3. block_number: The transaction block in which the transaction was mined.
|
|
||||||
4. nft_address: The address of the NFT collection containing the minted token.
|
|
||||||
5. token_id: The ID of the token that was minted.
|
|
||||||
6. from_address: The "from" address for the transfer event. For a mint, this should be the 0 address: 0x0000000000000000000000000000000000000000.
|
|
||||||
7. to_address: The "to" address for the transfer event. This represents the owner of the freshly minted token.
|
|
||||||
8. transaction_value: The amount of WEI that were sent with the transaction in which the token was minted.
|
|
||||||
9. timestamp: The time at which the mint operation was mined into the blockchain (this is the timestamp for the mined block).
|
|
||||||
""",
|
|
||||||
TRANSFERS: """All token transfer events crawled in this dataset.
|
TRANSFERS: """All token transfer events crawled in this dataset.
|
||||||
|
|
||||||
Columns:
|
Columns:
|
||||||
|
@ -58,14 +46,14 @@ Columns:
|
||||||
8. transaction_value: The amount of WEI that were sent with the transaction in which the token was transferred.
|
8. transaction_value: The amount of WEI that were sent with the transaction in which the token was transferred.
|
||||||
9. timestamp: The time at which the transfer operation was mined into the blockchain (this is the timestamp for the mined block).
|
9. timestamp: The time at which the transfer operation was mined into the blockchain (this is the timestamp for the mined block).
|
||||||
""",
|
""",
|
||||||
CURRENT_OWNERS: f"""This table is derived from the {NFTS}, {MINTS}, and {TRANSFERS} tables. It represents the current owner of each token in the dataset.
|
CURRENT_OWNERS: f"""This table is derived from the {CONTRACTS}, {MINTS}, and {TRANSFERS} tables. It represents the current owner of each token in the dataset.
|
||||||
|
|
||||||
Columns:
|
Columns:
|
||||||
1. nft_address: The address of the NFT collection containing the token whose ownership we are denoting.
|
1. nft_address: The address of the NFT collection containing the token whose ownership we are denoting.
|
||||||
2. token_id: The ID of the token (inside the collection) whose ownership we are denoting.
|
2. token_id: The ID of the token (inside the collection) whose ownership we are denoting.
|
||||||
3. owner: The address that owned the token at the time of construction of this dataset.
|
3. owner: The address that owned the token at the time of construction of this dataset.
|
||||||
""",
|
""",
|
||||||
CURRENT_MARKET_VALUES: f"""This table is derived from the {NFTS}, {MINTS}, and {TRANSFERS} tables. It represents the current market value (in WEI) of each token in the dataset.
|
CURRENT_MARKET_VALUES: f"""This table is derived from the {CONTRACTS}, {MINTS}, and {TRANSFERS} tables. It represents the current market value (in WEI) of each token in the dataset.
|
||||||
|
|
||||||
Columns:
|
Columns:
|
||||||
1. nft_address: The address of the NFT collection containing the token whose market value we are denoting.
|
1. nft_address: The address of the NFT collection containing the token whose market value we are denoting.
|
||||||
|
@ -76,7 +64,7 @@ For this dataset, we estimate the market value as the last non-zero transaction
|
||||||
This estimate may be inaccurate for some transfers (e.g. multiple token transfers made by an escrow contract in a single transaction)
|
This estimate may be inaccurate for some transfers (e.g. multiple token transfers made by an escrow contract in a single transaction)
|
||||||
but ought to be reasonably accurate for a large majority of tokens.
|
but ought to be reasonably accurate for a large majority of tokens.
|
||||||
""",
|
""",
|
||||||
TRANSFER_STATISTICS_BY_ADDRESS: f"""This table is derived from the {NFTS}, {MINTS}, and {TRANSFERS} tables. For each address that participated in
|
TRANSFER_STATISTICS_BY_ADDRESS: f"""This table is derived from the {CONTRACTS}, {MINTS}, and {TRANSFERS} tables. For each address that participated in
|
||||||
at least one NFT transfer between April 1, 2021 and September 25, 2021, this table shows exactly how many NFTs that address transferred to
|
at least one NFT transfer between April 1, 2021 and September 25, 2021, this table shows exactly how many NFTs that address transferred to
|
||||||
other addresses and how many NFT transfers that address was the recipient of.
|
other addresses and how many NFT transfers that address was the recipient of.
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue