lynn8301 / ethereum_analysis

Analysis of Ethereum Transactions and Smart Contracts

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Analysis of Ethereum Transactions and Smart Contracts

The goal of this coursework is to apply the techniques covered in the first half of Big Data Processing to analyse the full set of transactions which have occurred on the Ethereum network; from the first transactions in August 2015 till January 2019. You will create several Spark programs to perform multiple types of computation. You will submit a report containing your results alongside an explanation of how they were obtained.

There are many resources available for understanding Ethereum and blockchain technology; a good place to start are these two short videos taken from this article, followed up by the Ethereum White Paper . There are also may sites dedicated to providing information about individual blocks, transactions and wallets, such as Etherscan and Ethplorer.

Dataset overview

Ethereum is a blockchain based distributed computing platform where users may exchange currency (Ether), provide or purchase services (smart contracts), mint their own coinage (tokens), as well as other applications. The Ethereum network is fully decentralised, managed by public-key cryptography, peer-to-peer networking, and proof-of-work to process/verify transactions.

Whilst you would normally need a CLI tool such as GETH to access the Ethereum blockchain, recent tools allow scraping all block/transactions and dump these to csv's to be processed in bulk; notably Ethereum-ETL. These dumps are uploaded daily into a repository on Google BigQuery.

A subset of the Ethereum data is provided on the data repository bucket /data-repository-bkt/ECS765/ethereum-parvulus. We have also downloaded a set of scams, both active and inactive, run on the Ethereum network via etherscamDB which is available in the same folder.

Dataset Schema - blocks

  • number: The block number
  • hash: Hash of the block
  • parent_hash: Hash of the parent of the block
  • nonce: Nonce that satisfies the difficulty target
  • sha3_uncles: Combined has of all uncles for a given parent
  • logs_bloom: Data structure containing event logs
  • transactions_root: Root hash of the transactions in the payload
  • state_root: Root hash of the state object
  • receipts_root: hash of the transaction receipts tree
  • miner: The address of the beneficiary to whom the mining rewards were given
  • difficulty: Integer of the difficulty for this block
  • total_difficulty: Total difficulty of the chain until this block
  • size: The size of this block in bytes
  • extra_data: Arbitrary additional data as raw bytes
  • gas_limit: The maximum gas allowed in this block
  • gas_used: The total used gas by all transactions in this block
  • timestamp: The timestamp for when the block was collated
  • transaction_count: The number of transactions in the block
  • base_fee_per_gas: Base fee value
number  hash                                                                parent_hash                                                         nonce               sha3_uncles                                                         logs_bloom                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          transactions_root                                                   state_root                                                          receipts_root                                                       miner                                       difficulty          total_difficulty    size        extra_data                                          gas_limit   gas_used    timestamp   transaction_count   base_fee_per_gas
499990  0x0c80a523b20b20a7b4b8116a13f40a97bc46b8d7adc688c0d5af40f3287f62e9  0x5d4edb2e4fae66f6627bd9d8fd3afc40e6ef3515991369b6620a129e898b5062  0x7b452a3ad19f4620  0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347  0x00000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000  0xc11ee2eba07de851effa2ea936c6c099563b49b315c91e547ee146b4c2b83169  0xcdee78e20324b59a596db28ffbcbbc3e42585866872964bc980221ff266306dd  0x7cd87bbfa3a1ffa53dbb9d2af7a2fdf2546ae9feb7cb003f3de1f44ef4e80b91  0x52bc44d5378309ee2abf1539bf71de1b7d7be3b5  7.5452E+12          2.69385E+18         783         0xd783010301844765746887676f312e342e32856c696e7578  3141592     79205       1446832649  1
499991  0x79fba24140ac48c4b680b804810a121cf60ace6b33a2cac7a17d1cafaec53ce4  0x0c80a523b20b20a7b4b8116a13f40a97bc46b8d7adc688c0d5af40f3287f62e9  0x2e3aeed9d719ebd5  0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347  0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000  0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421  0x441cdadb0089da7fbe5dbe816b43c7c174f3feb40be13780d27059fa2b0b2440  0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421  0x52bc44d5378309ee2abf1539bf71de1b7d7be3b5  7.54151E+12         2.69386E+18         541         0xd783010301844765746887676f312e342e32856c696e7578  3141592     0           1446832709  0
499992  0x458b43567d50f711a06ab49a0c5ffb967eb3070ce784ef3d94df562be0bf3279  0x79fba24140ac48c4b680b804810a121cf60ace6b33a2cac7a17d1cafaec53ce4  0x9acfed2f6b10e6bc  0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347  0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000  0x3abb17a01df99dd0b021aedd8c3e8ac31df99074a21a21d87c78230c630c7f7c  0x2ee4ce598af613beb1d1e090fb90e4a36b58dc34cecf7ea7fbfb0346f4b32afb  0x7daf6086bea1891118739a45f458a3d9516621d12cd73ff4659b38363c3d8ce6  0x52bc44d5378309ee2abf1539bf71de1b7d7be3b5  7.53783E+12         2.69387E+18         768         0xd783010301844765746887676f312e342e32856c696e7578  3141592     42000       1446832751  2
499993  0x8d80b1970fa7a10c7c8ed03b0efb0b4fa63bac6c5922e1decda91cb4023a5c70  0x458b43567d50f711a06ab49a0c5ffb967eb3070ce784ef3d94df562be0bf3279  0xf03a8b3554152b7f  0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347  0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000  0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421  0x052cef5899fd2c43b5945340653eac75dadb805bca6a4bb40d7f3ced58cbebb3  0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421  0x52bc44d5378309ee2abf1539bf71de1b7d7be3b5  7.54151E+12         2.69388E+18         541         0xd783010301844765746887676f312e342e32856c696e7578  3141592     0           1446832757  0
499994  0x76b35b31901758acf2d6b81aae356cfc70283c6623a4b70aa2c5ca9f3805ece8  0x8d80b1970fa7a10c7c8ed03b0efb0b4fa63bac6c5922e1decda91cb4023a5c70  0x0d8a588332685bfb  0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347  0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000  0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421  0x9ca162ac33604ea7f2f694a90f73f5cfefafac32fd7f1731db8c36fc59f2b8e2  0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421  0x2a65aca4d5fc5b5c859090a6c34d164135398226  7.54519E+12         2.69388E+18         541         0xd783010301844765746887676f312e352e31856c696e7578  3141592     0           1446832768  0
499995  0x361498db09bd2c45f234c70fc35b6c41ab15f6de65263d9b3e6905821be3c066  0x76b35b31901758acf2d6b81aae356cfc70283c6623a4b70aa2c5ca9f3805ece8  0x20f44560b28f5495  0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347  0x00000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000  0x382cae3ae1f8557eb2f13b2b51607f5502f4309044a1f3fdc193185551866ab1  0x038fc97331b0a11d1ccef3969fb006d0213cc9d775ae8d2c00a255dbcbb8dc97  0xc92ef15db0c77533a22c380fd7d57f8607a478a476b348599c1df3d97709bf83  0x95581ea0c5b362933f3523138f54d51eae817211  7.54151E+12         2.69389E+18         897         0xd783010301844765746887676f312e352e31856c696e7578  3141592     100205      1446832790  2
499996  0x7128b91ff62507aeae562c4bc7dbffa0bdd6a6e0d3bcf73494c57511997269dc  0x361498db09bd2c45f234c70fc35b6c41ab15f6de65263d9b3e6905821be3c066  0x46228cb4ba4494fe  0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347  0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000  0x33516be4bda4172c57c641f9e3fe5927e17cab3b071a9cd78dc1a4365e3c489d  0x217c8bc239ef9f3ba8e3e7396452dc87c5797977e0da78ae02c62f67b6ae2f47  0xc40bd0074b880939e94f90d5f9e56bfbf8481a053dd67692909c58a58f06250b  0x2a65aca4d5fc5b5c859090a6c34d164135398226  7.53783E+12         2.6939E+18          685         0xd783010301844765746887676f312e352e31856c696e7578  3141592     50091       1446832829  1
499997  0xdd9071b9349020aed219a4961d48e65deb7b5ae01d70dc2b9f74b6e1445bbf15  0x7128b91ff62507aeae562c4bc7dbffa0bdd6a6e0d3bcf73494c57511997269dc  0x492cf52447a1a44c  0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347  0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000  0x7f0772988f2836a5ecd9717e642e78ad8bf06e323b0cdbae1ffe4489b468c787  0x9bef57c41708f1350a776d226dcc353a9be85e69e6209563a28a92549335c5d1  0x207cbdfadd92db20a7f5b6a0f1236968100d2193ec7396507cf8dc43048d787b  0x2a65aca4d5fc5b5c859090a6c34d164135398226  7.54151E+12         2.69391E+18         685         0xd783010301844765746887676f312e352e31856c696e7578  3141592     42447       1446832835  1
499998  0x18f9c888eed1f0b050052aa847dd8fd3962c3d4349ffa0059b1977fa3667342a  0xdd9071b9349020aed219a4961d48e65deb7b5ae01d70dc2b9f74b6e1445bbf15  0x343c5103fa927ed2  0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347  0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000  0x80ed9826779ac15ceefba5e26d6788e33b4a8674fc1aa667d25989b3d964f654  0xafefee25ba7b1be904b9d23696bfe5a21b336bf5cc030a48b14b9639d7a05e9e  0xfac86634d12cb0b9a99c6a11acbda9a3db364eaa7baa9c3185f7150db7d63e9b  0x2a65aca4d5fc5b5c859090a6c34d164135398226  7.53783E+12         2.69391E+18         659         0xd783010301844765746887676f312e352e31856c696e7578  3141592     22642       1446832858  1
499999  0x794a1bef434928ce3aadd2f5eced2bf72ac714a30e9e4ab5965d7d9760300d84  0x18f9c888eed1f0b050052aa847dd8fd3962c3d4349ffa0059b1977fa3667342a  0xe7ff3fe0cd3ac07b  0x5a996aa4b940ff2893c07f98bd687f24e921d838a858d670d15aa189685fa131  0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000  0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421  0xce71e3f2f4edbb2c02b0bb1612f54c131b9bb1ad768aacf96afc2701d50062b1  0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421  0x52bc44d5378309ee2abf1539bf71de1b7d7be3b5  7.54151E+12         2.69392E+18         1079        0xd783010301844765746887676f312e342e32856c696e7578  3141592     0           1446832862  0

Dataset Schema - transactions

  • hash: Hash of the block
  • nonce: Nonce that satisfies the difficulty target
  • block_hash: Hash of the block where the transaction is in
  • block_number: Block number where this transaction was in
  • transaction_index: Transactions index position in the block.
  • from_address: Address of the sender
  • to_address: Address of the receiver. null when it is a contract creation transaction
  • value: Value transferred in Wei (the smallest denomination of ether)
  • gas: Gas provided by the sender
  • gas_price : Gas price provided by the sender in Wei
  • input: Extra data for Ethereum functions
  • block_timestamp: Timestamp the associated block was registered at (effectively timestamp of the transaction)
  • max_fee_per_gas: Sum of base fee and max priority fee
  • max_priority_fee_per_gas: Tip for mining the transaction
  • transaction_type: Value used to indicate if the transaction is related to a contract or other specialised transaction
hash                                                                nonce   block_hash                                                          block_number    transaction_index   from_address                                to_address                                  value       gas     gas_price   input                                                                                                                                                                                                                                                                       block_timestamp max_fee_per_gas max_priority_fee_per_gas    transaction_type
0x8d57630aafe5d28ea17af0bd0d9063a3d77632f45f2e025d873ca2f33ce247f2  12014   0x99ad8d8a606de1f092ea40e1ce5d35eec94a10512ee83d3dfc8ac262c2382947  499986          2                   0x4bb96091ee9d802ed039c4d1a5f6216f90f81b01  0xdc6a542f97876923583019b526335fd1fb0dfc6a  4.95E+18    41000   50000000000 0x                                                                                                                                                                                                                                                                          1446832566                                                  0
0x8b8c93f5a5b1e550257eaa2f37f23a4bd4b149e534c762c9e1269c914d475068  12015   0xdd379df6ac61c42fe6f982f550f15080279580c56a90dddcb7abeed1c1f7e223  499987          0                   0x4bb96091ee9d802ed039c4d1a5f6216f90f81b01  0x06ec48800b2db3eefa052e98a9b5fc2bf783ee74  4.95518E+18 41000   50000000000 0x                                                                                                                                                                                                                                                                          1446832584                                                  0
0x8f4fcfd57908f68dfed30934e1b9af1b9fd1f699eb7b7d170c4625caa192134d  2681    0x0c80a523b20b20a7b4b8116a13f40a97bc46b8d7adc688c0d5af40f3287f62e9  499990          0                   0x26588a9301b0428d95e6fc3a5024fce8bec12d51  0x4e9ad443432c3157634f7e30a98dfd524f092455  0           200000  50000000000 0x27dc297e67751abde7caf39c4d8baab4e0c0ba2215de7317f0c9a03d23211638973cfd0400000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000008302e303032343130000000000000000000000000000000000000000000000000  1446832649                                                  0
0x6167041a5209c00c3d1b4d194e2af824e27afe17e8aedc323b222be89e5b8f66  497     0x458b43567d50f711a06ab49a0c5ffb967eb3070ce784ef3d94df562be0bf3279  499992          0                   0xdc6a542f97876923583019b526335fd1fb0dfc6a  0x32be343b94f860124dc4fee278fdcbd38c102d88  4.94895E+18 21000   50000000000 0x                                                                                                                                                                                                                                                                          1446832751                                                  0
0x2b2709a000773705068477a8f5c51fe37277b241e25e4397a3b50cd1e5a27c0f  615     0x458b43567d50f711a06ab49a0c5ffb967eb3070ce784ef3d94df562be0bf3279  499992          1                   0x06ec48800b2db3eefa052e98a9b5fc2bf783ee74  0x32be343b94f860124dc4fee278fdcbd38c102d88  4.95413E+18 21000   50000000000 0x                                                                                                                                                                                                                                                                          1446832751                                                  0
0x7b3adc76dd1f998dff191dab68ea0997507c0c24aed3ca1b966bb61f512b0157  5978    0x361498db09bd2c45f234c70fc35b6c41ab15f6de65263d9b3e6905821be3c066  499995          0                   0x32be343b94f860124dc4fee278fdcbd38c102d88  0xbdee88814d925fa25e70c8f06093033701dd1e45  6.07187E+19 50000   50000000000 0x                                                                                                                                                                                                                                                                          1446832790                                                  0
0x3c2a41caacba9c563c92b4e8671eec866e079042d50fef5d4e3bc6eb80883406  2682    0x361498db09bd2c45f234c70fc35b6c41ab15f6de65263d9b3e6905821be3c066  499995          1                   0x26588a9301b0428d95e6fc3a5024fce8bec12d51  0x4e9ad443432c3157634f7e30a98dfd524f092455  0           200000  50000000000 0x27dc297e1f55428b02706c859ef687526d146a43d22f32dfbf06434266ffd129dc60cd8d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000008302e303032343030000000000000000000000000000000000000000000000000  1446832790                                                  0
0x1dffad6539866b740173e65852b4ff877517d919b9a70442342d912a945f6fd4  2683    0x7128b91ff62507aeae562c4bc7dbffa0bdd6a6e0d3bcf73494c57511997269dc  499996          0                   0x26588a9301b0428d95e6fc3a5024fce8bec12d51  0x2bcc5943c2264648824ee9a479c351c74273453d  0           200000  50000000000 0xde4b32620000000000000000000000000000000000000000000000000003dc94c95d537a                                                                                                                                                                                                  1446832829                                                  0
0x9f92f5c10f1a40235c32a806369220c3eb01ab6fb932114b1e2e5b282bb406a9  1344    0xdd9071b9349020aed219a4961d48e65deb7b5ae01d70dc2b9f74b6e1445bbf15  499997          0                   0x45c1392523399c1ce21ead4ecb808606c189fac2  0xc7696b27830dd8aa4823a1cba8440c27c36adec4  0           3000000 50000000000 0x91b7f5ed000000000000000000000000000000000000000000000000000000000000005e                                                                                                                                                                                                  1446832835                                                  0
0xfdd6f8900f79087d6bb2606234b3e2f82deebfe3c8890c890a2eaae7807d67a7  3       0x18f9c888eed1f0b050052aa847dd8fd3962c3d4349ffa0059b1977fa3667342a  499998          0                   0x26dd6b7a2fff271aa7c5fe8cfb5ba0ab33f47408  0xac526f3c5a57a4ae4e91d58722a4fb3102e6e202  1E+18       90000   50000000000 0xae978f08                                                                                                                                                                                                                                                                  1446832858                                                  0

Dataset Schema - contracts

  • address: Address of the contract
  • bytecode: Code for Ethereum Contract
  • function_sighashes: Function signature hashes of a contract
  • is_erc20: Whether this contract is an ERC20 contract
  • is_erc721: Whether this contract is an ERC721 contract
  • block_number: Block number where this contract was created
address                                     bytecode                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            function_sighashes                          is_erc20    is_erc721   block_number
0xa2e44661083891b5a2538634ca0006a743b1e77a  0x60606040523615610055576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063661172761461014857806382c90ac01461017e578063b76ea962146101b4575b6101465b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163460405180905060006040518083038185876187965a03f1925050501561013d577f23919512b2162ddc59b67a65e3b03c419d4105366f7d4a632f5d3c3bee9b1cff600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1610143565b60006000fd5b5b565b005b341561015057fe5b61017c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610225565b005b341561018657fe5b6101b2600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506102c8565b005b610223600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061036b565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156102825760006000fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156103255760006000fd5b80600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156103c85760006000fd5b8173ffffffffffffffffffffffffffffffffffffffff1634826040518082805190602001908083836000831461041d575b80518252602083111561041d576020820191506020810190506020830392506103f9565b505050905090810190601f1680156104495780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876187965a03f192505050151561046e5760006000fd5b5b5b50505600a165627a7a7230582015dd8a30edc4d2b88e51c1e252cdc5a08cd0159c2d5d7b063fdaad85d6e813e40029  0x66117276,0x82c90ac0,0xb76ea962,0xffffffff FALSE       FALSE
0xd1ff43950d5a8a3791f5a161e407e1b30fc38c67  0x60606040523615610055576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063661172761461014857806382c90ac01461017e578063b76ea962146101b4575b6101465b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163460405180905060006040518083038185876187965a03f1925050501561013d577f23919512b2162ddc59b67a65e3b03c419d4105366f7d4a632f5d3c3bee9b1cff600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1610143565b60006000fd5b5b565b005b341561015057fe5b61017c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610225565b005b341561018657fe5b6101b2600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506102c8565b005b610223600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061036b565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156102825760006000fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156103255760006000fd5b80600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156103c85760006000fd5b8173ffffffffffffffffffffffffffffffffffffffff1634826040518082805190602001908083836000831461041d575b80518252602083111561041d576020820191506020810190506020830392506103f9565b505050905090810190601f1680156104495780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876187965a03f192505050151561046e5760006000fd5b5b5b50505600a165627a7a7230582015dd8a30edc4d2b88e51c1e252cdc5a08cd0159c2d5d7b063fdaad85d6e813e40029  0x66117276,0x82c90ac0,0xb76ea962,0xffffffff FALSE       FALSE
0xf120bfa945712b406e822cc559ef95586229f852  0x60606040523615610055576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063661172761461014857806382c90ac01461017e578063b76ea962146101b4575b6101465b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163460405180905060006040518083038185876187965a03f1925050501561013d577f23919512b2162ddc59b67a65e3b03c419d4105366f7d4a632f5d3c3bee9b1cff600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1610143565b60006000fd5b5b565b005b341561015057fe5b61017c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610225565b005b341561018657fe5b6101b2600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506102c8565b005b610223600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061036b565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156102825760006000fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156103255760006000fd5b80600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156103c85760006000fd5b8173ffffffffffffffffffffffffffffffffffffffff1634826040518082805190602001908083836000831461041d575b80518252602083111561041d576020820191506020810190506020830392506103f9565b505050905090810190601f1680156104495780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876187965a03f192505050151561046e5760006000fd5b5b5b50505600a165627a7a7230582015dd8a30edc4d2b88e51c1e252cdc5a08cd0159c2d5d7b063fdaad85d6e813e40029  0x66117276,0x82c90ac0,0xb76ea962,0xffffffff FALSE       FALSE
0xc1950ac34e6f27625f94c930c0397223c3f34c5e  0x60606040523615610055576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063661172761461014857806382c90ac01461017e578063b76ea962146101b4575b6101465b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163460405180905060006040518083038185876187965a03f1925050501561013d577f23919512b2162ddc59b67a65e3b03c419d4105366f7d4a632f5d3c3bee9b1cff600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1610143565b60006000fd5b5b565b005b341561015057fe5b61017c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610225565b005b341561018657fe5b6101b2600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506102c8565b005b610223600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061036b565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156102825760006000fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156103255760006000fd5b80600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156103c85760006000fd5b8173ffffffffffffffffffffffffffffffffffffffff1634826040518082805190602001908083836000831461041d575b80518252602083111561041d576020820191506020810190506020830392506103f9565b505050905090810190601f1680156104495780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876187965a03f192505050151561046e5760006000fd5b5b5b50505600a165627a7a7230582015dd8a30edc4d2b88e51c1e252cdc5a08cd0159c2d5d7b063fdaad85d6e813e40029  0x66117276,0x82c90ac0,0xb76ea962,0xffffffff FALSE       FALSE
0x627646279c8826691227f4a40e5a74a775fdd859  0x60606040523615610055576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063661172761461014857806382c90ac01461017e578063b76ea962146101b4575b6101465b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163460405180905060006040518083038185876187965a03f1925050501561013d577f23919512b2162ddc59b67a65e3b03c419d4105366f7d4a632f5d3c3bee9b1cff600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1610143565b60006000fd5b5b565b005b341561015057fe5b61017c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610225565b005b341561018657fe5b6101b2600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506102c8565b005b610223600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061036b565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156102825760006000fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156103255760006000fd5b80600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156103c85760006000fd5b8173ffffffffffffffffffffffffffffffffffffffff1634826040518082805190602001908083836000831461041d575b80518252602083111561041d576020820191506020810190506020830392506103f9565b505050905090810190601f1680156104495780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876187965a03f192505050151561046e5760006000fd5b5b5b50505600a165627a7a7230582015dd8a30edc4d2b88e51c1e252cdc5a08cd0159c2d5d7b063fdaad85d6e813e40029  0x66117276,0x82c90ac0,0xb76ea962,0xffffffff FALSE       FALSE
0x8b4ef0a881232ae4b4e98d14f067993f3cdea694  0x60606040523615610055576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063661172761461014857806382c90ac01461017e578063b76ea962146101b4575b6101465b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163460405180905060006040518083038185876187965a03f1925050501561013d577f23919512b2162ddc59b67a65e3b03c419d4105366f7d4a632f5d3c3bee9b1cff600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1610143565b60006000fd5b5b565b005b341561015057fe5b61017c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610225565b005b341561018657fe5b6101b2600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506102c8565b005b610223600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061036b565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156102825760006000fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156103255760006000fd5b80600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156103c85760006000fd5b8173ffffffffffffffffffffffffffffffffffffffff1634826040518082805190602001908083836000831461041d575b80518252602083111561041d576020820191506020810190506020830392506103f9565b505050905090810190601f1680156104495780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876187965a03f192505050151561046e5760006000fd5b5b5b50505600a165627a7a7230582015dd8a30edc4d2b88e51c1e252cdc5a08cd0159c2d5d7b063fdaad85d6e813e40029  0x66117276,0x82c90ac0,0xb76ea962,0xffffffff FALSE       FALSE
0x9dcd568b2c5bbc50dcb0429d963effcb22d177cf  0x60606040523615610055576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063661172761461014857806382c90ac01461017e578063b76ea962146101b4575b6101465b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163460405180905060006040518083038185876187965a03f1925050501561013d577f23919512b2162ddc59b67a65e3b03c419d4105366f7d4a632f5d3c3bee9b1cff600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1610143565b60006000fd5b5b565b005b341561015057fe5b61017c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610225565b005b341561018657fe5b6101b2600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506102c8565b005b610223600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061036b565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156102825760006000fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156103255760006000fd5b80600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156103c85760006000fd5b8173ffffffffffffffffffffffffffffffffffffffff1634826040518082805190602001908083836000831461041d575b80518252602083111561041d576020820191506020810190506020830392506103f9565b505050905090810190601f1680156104495780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876187965a03f192505050151561046e5760006000fd5b5b5b50505600a165627a7a7230582015dd8a30edc4d2b88e51c1e252cdc5a08cd0159c2d5d7b063fdaad85d6e813e40029  0x66117276,0x82c90ac0,0xb76ea962,0xffffffff FALSE       FALSE
0xde4ee5d3c8068766eea688d244f4d444eef0ab11  0x60606040523615610055576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063661172761461014857806382c90ac01461017e578063b76ea962146101b4575b6101465b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163460405180905060006040518083038185876187965a03f1925050501561013d577f23919512b2162ddc59b67a65e3b03c419d4105366f7d4a632f5d3c3bee9b1cff600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1610143565b60006000fd5b5b565b005b341561015057fe5b61017c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610225565b005b341561018657fe5b6101b2600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506102c8565b005b610223600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061036b565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156102825760006000fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156103255760006000fd5b80600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156103c85760006000fd5b8173ffffffffffffffffffffffffffffffffffffffff1634826040518082805190602001908083836000831461041d575b80518252602083111561041d576020820191506020810190506020830392506103f9565b505050905090810190601f1680156104495780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876187965a03f192505050151561046e5760006000fd5b5b5b50505600a165627a7a7230582015dd8a30edc4d2b88e51c1e252cdc5a08cd0159c2d5d7b063fdaad85d6e813e40029  0x66117276,0x82c90ac0,0xb76ea962,0xffffffff FALSE       FALSE
0x76bf227fa62bb97f1988ba7569013631dff4a641  0x6060604052361561003f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301681a621461007b575b341561004757fe5b6100795b610076600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166100b1565b5b565b005b341561008357fe5b6100af600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506100b1565b005b6000819050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480156102a657508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15156101ed57fe5b60325a03f115156101fa57fe5b505050604051805190506000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561028e57fe5b60325a03f1151561029b57fe5b505050604051805190505b15156102b157610000565b5b50505600a165627a7a723058208a5f2f98dcd067bbd1f20fbe450b9a42a94c233213f9650406456b87991642800029                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              0x01681a62,0xffffffff                       FALSE       FALSE
0xfb39f87cef99f1ea2d7c52b07c5e4cc3c6830d84  0x6060604052361561003f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301681a621461007b575b341561004757fe5b6100795b610076600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166100b1565b5b565b005b341561008357fe5b6100af600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506100b1565b005b6000819050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480156102a657508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15156101ed57fe5b60325a03f115156101fa57fe5b505050604051805190506000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561028e57fe5b60325a03f1151561029b57fe5b505050604051805190505b15156102b157610000565b5b50505600a165627a7a723058208a5f2f98dcd067bbd1f20fbe450b9a42a94c233213f9650406456b87991642800029                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              0x01681a62,0xffffffff                       FALSE       FALSE

Dataset Schema - scams.json

  • id: Unique ID for the reported scam
  • name: Name of the Scam
  • url: Hosting URL
  • coin: Currency the scam is attempting to gain
  • category: Category of scam - Phishing, Ransomware, Trust Trade, etc.
  • subcategory: Subdivisions of Category
  • description: Description of the scam provided by the reporter and datasource
  • addresses: List of known addresses associated with the scam
  • reporter: User/company who reported the scam first
  • ip: IP address of the reporter
  • status: If the scam is currently active, inactive or has been taken offline
"0x11c058c3efbf53939fb6872b09a2b5cf2410a1e2c3f3c867664e43a626d878c0": {
    "id": 81,
    "name": "myetherwallet.us",
    "url": "http://myetherwallet.us",
    "coin": "ETH",
    "category": "Phishing",
    "subcategory": "MyEtherWallet",
    "description": "did not 404.,MEW Deployed",
    "addresses": [
        "0x11c058c3efbf53939fb6872b09a2b5cf2410a1e2c3f3c867664e43a626d878c0",
        "0x2dfe2e0522cc1f050edcc7a05213bb55bbb36884ec9468fc39eccc013c65b5e4",
        "0x1c6e3348a7ea72ffe6a384e51bd1f36ac1bcb4264f461889a318a3bb2251bf19"
    ],
    "reporter": "MyCrypto",
    "ip": "198.54.117.200",
    "nameservers": [
        "dns102.registrar-servers.com",
        "dns101.registrar-servers.com"
    ],
    "status": "Offline"
}

Part A. Time Analysis

Create a bar plot showing the number of transactions occurring every month between the start and end of the dataset. Alt text

Create a bar plot showing the average value of transaction in each month between the start and end of the dataset. Alt text

Part B. Top Ten Most Popular Services

Evaluate the top 10 smart contracts by total Ether received. You will need to join address field in the contracts dataset to the to_address in the transactions dataset to determine how much ether a contract has received. Alt text

Part C. Top Ten Most Active Miners

Evaluate the top 10 miners by the size of the blocks mined. This is simpler as it does not require a join. You will first have to aggregate blocks to see how much each miner has been involved in. You will want to aggregate size for addresses in the miner field. This will be similar to the wordcount that we saw in Lab 1 and Lab 2. You can add each value from the reducer to a list and then sort the list to obtain the most active miners. Alt text

Part D. Data exploration

Scam Analysis

Popular Scams: Utilising the provided scam dataset, what is the most lucrative form of scam? How does this change throughout time, and does this correlate with certain known scams going offline/inactive? To obtain the marks for this catergory you should provide the id of the most lucrative scam and a graph showing how the ether received has changed over time for the dataset.

Miscellaneous Analysis

Gas Guzzlers: For any transaction on Ethereum a user must supply gas. How has gas price changed over time? Have contracts become more complicated, requiring more gas, or less so? How does this correlate with your results seen within Part B. To obtain these marks you should provide a graph showing how gas price has changed over time, a graph showing how gas used for contract transactions has changed over time and identify if the most popular contracts use more or less than the average gas_used.

About

Analysis of Ethereum Transactions and Smart Contracts


Languages

Language:Jupyter Notebook 94.9%Language:Python 5.1%