From 1084f9a9b3e16f5bf90e75d0f00d42b9b330686b Mon Sep 17 00:00:00 2001 From: jack Date: Fri, 14 Nov 2025 17:11:31 +0800 Subject: [PATCH] update --- AirdropAuto/gen_wallet.py | 41 +++++++++++++ AirdropAuto/key.txt | 100 ++++++++++++++++++++++++++++++++ AirdropAuto/load_wallet_xlsx.py | 15 +++++ AirdropAuto/wallet.xlsx | Bin 0 -> 34458 bytes 4 files changed, 156 insertions(+) create mode 100644 AirdropAuto/gen_wallet.py create mode 100644 AirdropAuto/key.txt create mode 100644 AirdropAuto/load_wallet_xlsx.py create mode 100644 AirdropAuto/wallet.xlsx diff --git a/AirdropAuto/gen_wallet.py b/AirdropAuto/gen_wallet.py new file mode 100644 index 0000000..b7926b9 --- /dev/null +++ b/AirdropAuto/gen_wallet.py @@ -0,0 +1,41 @@ +from eth_account import Account +from eth_account.hdaccount import HDPath +import os + +def generate_wallets(mnemonic, num_wallets): + wallets = [] + + Account.enable_unaudited_hdwallet_features() + + try: + Account.from_mnemonic(mnemonic) + except ValueError as e: + raise ValueError("Invalid mnemonic phrase") from e + + for i in range(num_wallets): + derivation_path = f"m/44'/60'/0'/0/{i}" + wallet = Account.from_mnemonic(mnemonic, account_path=derivation_path) + address = wallet.address + private_key = wallet.key.hex() + + wallets.append({ + "address": address, + "private_key": private_key, + "mnemonic": mnemonic + }) + + return wallets + +mnemonic = "need rare control glove luxury punch orbit beef antique return average appear trumpet cattle hundred unknown unable exist rotate village produce address guilt naive" +num_wallets = 100 + +try: + wallets = generate_wallets(mnemonic, num_wallets) + for index, wallet in enumerate(wallets, 1): + print(f"Wallet {index}:") + print(f" Address: {wallet['address']}") + print(f" Private Key: {wallet['private_key']}") + print(f" Mnemonic: {wallet['mnemonic']}") + print("---") +except Exception as e: + print(f"Error generating wallets: {str(e)}") diff --git a/AirdropAuto/key.txt b/AirdropAuto/key.txt new file mode 100644 index 0000000..caa9eee --- /dev/null +++ b/AirdropAuto/key.txt @@ -0,0 +1,100 @@ +0x4b833cf91c19c4d9434ffed4b18714ef032d2acf44caec110a1c2c7db151eb65 +0xdbbf270cd03b0a1e81fd13236c18b5fd69b3dfa9ecb1ae1460f95555dd3964c9 +0xd48ef0dfd99b328eb252bb0f289c56406926fb833c15697d8a81e3851d4798fa +0x6a95ad8a3f7df83cebd7ff9952c73f6d9018248b39da6e65b0bab276ba92afd4 +0x6020ff1266462d67864146f5e075a40f141e4d6a69200bde043de78d9329f34f +0xd9499a81013945b98327819717bce43c9a72066ab9b1793b0eecf0bf8c5d16e4 +0xd1b2ed2fe2a1749eaf85b11de1d4cb3bc8aab987a3ad51926801c5a8548e705f +0x7557306d7814295976dfc0630d56f4925d953645e3a334e80e566bb5ae0bbc0c +0x1822ee111eeb0623bada7e98dddc317c6e40faade42c86d3bb7714e3ec0e2aab +0x4baba52cc0ed9f2e98bd8ae1f180f448cb287c59844ef042300ad8c029833dbb +0xef7c460fe9dec93c5699c810facb6fc194ea83344c12f558bc82fc0b9004ec8e +0x0a36a542a97615f0b1248e7dc3d6aca239ec40c59d2e9fc16f93111c077703ac +0x6385e9c674d087bc569c718524d06e69a4137b734f3d4bac789bca2fa15cd1b6 +0xbcce18a7d78da1be74875aa8b50da8aeba3f9a7b3c17830cdd7a94816b05ec24 +0x9d466676f877960e8d5faadabe56bbff04fd0f4a5415386a9d687ed10cae2258 +0x0af287cae8b7957192bc285776ea7178dae6620b8f5f6c2348ff4df491218903 +0x0bbdbf2bfc5f0b67daa9087063f8159610ceef1e9b40f96ff2e2c204b288d994 +0x593d79d48a4fbca5cf4614d33ad2ad81e4bb6d402a9603fb8cf17b01d1e0ac36 +0x794ce2fdb96ae722bea7edd63b200f39846322661ca0c399d95ad3b26d831b8c +0x3eede175b1cb03aa79c934f0fc9ff53cb6cc51cdea3bfc03eb97c949b15d4cda +0x641dc289492c80c1b29aa3df73834931d67015269455e28481f80c9bea18f11e +0x0cea5aaed4f4c08d5e7f454b317087a42bfb0c7d0b257b489006bb07c35f9594 +0x7d1ac292bbd5632b716ebf856756a10fd287e51c9bac786c6b09f9112f71813c +0xc34832782e9dc625c3a7284171ac2059f2d8d158e41c53f0bdf2a992c7dc1870 +0xf23c248bf8210a4d88a9b2737c2b433440400054ca2b7760efd7026632358b8c +0x04e22868dc670a2732858d3b94f61affbf35e35521ccc22f5370e1fe7ac907e1 +0x07c4ff4d7593ac58a6c1fd678828c105e93efaec69ed9655cc0abd22753cad4a +0xd16a318eded3a584dfac3a94f7dc2d11cb138b9e03fc8929f872c5e459da930d +0x38414354e84cb246c733e75c183db33f90a7fa578942721e60041ee3f4963adc +0xf5eb65d17a7ba0a238f0c444015f659c0480d0d01a81c826b54c4dea20ecaab8 +0x1718b68bca8deedbb00fedd966c5a22b306b39b8f9bc6d6660757d27ca4fac03 +0xc5c2ed42d5a0ca07db897132d0489ce8dae4fcb92aa25cfa704a28d3df63b7f5 +0x194ea8bd2112e277f2ed1ae3e4894eb8728521126302b06ab6e5355bd6094f14 +0x0dbdbd0ec86692a8ab19160407f53f2d5ef8ee59c97a699c7333e50846c46f7b +0x709139ad837c37a14dd5df6b5b41c8ac93460a355c338f2b60b0e91db90ee81a +0xef303d86d3e1b9bc1389d1c8c082164d590c1bcd7c999aedfab0dcbe5b933869 +0x3e1567fe37e3c8999075fc0ab50fd21d56d36a807e6baea2b5802e84c0b74394 +0xc9ab2b190574971c074b62c1eabb09d965716ba2fd467cc268263f6b90e15d1d +0x38f23d62c1dfb9b0358541ca5647ccf86564c4f68c8a24e3f87799bc7d6b0f7d +0x5eadbb43a985a41684e8181d575f3aa4984000d1ff8222665bacceb2e7379faa +0x843c8b2f48342de28e214e03993a47ef969f88b845397f3dfa050737283dabf2 +0xa91908bbc492ac90483db7682bf2b06493d5c044eee6ee46cd28db075ccaf499 +0x1d90d2befbeb6ede7a1768baae8766589312bec258c4779d30ad26cf89aed20b +0x41942e40aec2ae909924c42fe77c5b3be2bc940209491aa76ee33fc4fec36381 +0x3fe11b12e195aeeb34f334b769fa43c6396575d824f2155f79f344ce973ec16c +0x3758aedc043b0e7617670ec7e905db1b9e135d843878e31269faee6324ecd4fc +0x7275c0eee6b26bf5058209051592c82d99c9306cccbcdbb0ce3b99e9cccad458 +0x5d1b7925e836b7b6ad4d3b83ee93f99074e8702bb0aa9d08d31544301c200c5b +0x8c362d4a058330b5d69d7f0c352bc51f8ed404509fc2324575baebaa26810113 +0x8acedbe6f97d2ebbf7a3a6ef2aebcf9b3fc40e701571a93cbdc1b32638de5449 +0xe2381851309e005273563aaab82668c9bae1b10a0fe60b50cd70fab724b8e17c +0x661773a408665d67ab7a0dd8378fcc0fad891590634e57e2e8ff231f8a702732 +0x05fcb72f98f2437224012093087021efe7e928a393f71c213b57208832bc3b2e +0xe4ec5b7b44caf9ff4b3d15f72ca5491fccb21c38aace6bb64adae597988ca7bf +0x8de382ea573d873a0d6feae808c28efd1f6a5a2892cd7618e4ff5707772c6f11 +0xe78f56e1c054f27b2549285e03f0f9e0fa276545d7860f7f22d32a43d6b389d6 +0x067e7bd16d9694dcbdc37bb12779f109c9c716b2d410ca486a8354abfb7f878e +0xfb4a20aacd61270903e849e3189dbc1ac24a3361ad64f0e6abd67f7a63f8a5d8 +0x395d772a09e2a697514fc5a13201ff7eda12c2e45a59c7f31caa45ed34d91119 +0x4d791abf84c6d3394f0a0666b2558522605a9d80d2b53cadf0cd078a1a89516f +0x883ba48022218258d8608e79368fd048d32564d01709d13220c56bb4b8e94793 +0x3af4ce6c55307876acdf207e811e9a6f5622ff1a7838ad2de3f6ab9e4be19d71 +0xc3e0ed8f51e81e019a5169316929827c04dc3ec1d0109ccd876b72ea7a9affc0 +0xbdadd031169f5082509ac1b2fc7c9ce53dfedd1f36036ed5030fd4eae4954ea4 +0x81d4d1121acad4df370f0af327425e5ddf578e1b9e02758908e46eaedbca541e +0x499e7e3d32f878d7deea5b7a524f1c7013a850fa544337a78e8ee38e3ca5598e +0xb7e1a2ba6cc5e7f6536d62a438afa92b66d3d30f703a2dbd8b016af26bb0851b +0x5b9477bfcfe5096e89f828c5da38313cbc7d3b94cb00ac27c5c3c0cda44bb594 +0x715a6e748a3f6db5454e81b5af8b6b5c48be0c9b3904d72691d3e6af1ef89ff9 +0x9bfbb21eae7814581ba1feff1efb6af8b6b2439ef82532a76afe543cf17feb84 +0xf9681d7e7136792358417516d59838b9d0440b5ae3b7a4494668960be0760bb9 +0x697a73e3813e6745b38735085b880584ad69c3bfc2dde6490488d12a5e78baa6 +0xd5b833bbfd6ea0e1f114650a69690900727277fc1e305b241a0c2f7ed9b269c1 +0xa52af97f8939ef6f3223ebbf7a32a139ca25feda006ff9110f537d83ecb1be2b +0x97b44d5897d5b24c4b1fbf99b9e2fb6ea1d934284fab6b290e0366bbdd64a2c4 +0x89b0dc9574cf79df5ced4efb17c53aad273388286ae71a36fdc6fe91b8dce669 +0x2e536d240dbf10c065dfd37eb2e714a1fdd009cabd91acf4178eadfd637a7574 +0xd26e5dcc4cba9c17a509a8db09bd9837aa13d7e50d778033a26167615b086d04 +0x980f228d54a78884dbc3ab14c30e8850c05a138302047d4481bbb655274420e0 +0xbd49c516bf4b586dda686405cbe75dfec6f6d9726cff4ea3dfce8342b4f189ca +0xdc8c9bb23f32b4d24f4019d91f29f969683a470d549db7b9bcaa550781520412 +0x7ac4238e9cd1737715ebdf5aaf804a0262e87c55d4c40bc5f3a80ae3ef6ae6ce +0xd989c1cfd03332d405e5a22df2b37972a719a9be1ff60d045f227431ab19d03e +0xeb5d7e34bcf4c984e22e2d58e9aea6b90fb4cd49011d537678d6bdfaabe4f6d5 +0xadce527b46122346d1196d636cf1e96e19c4ddf5e43f2d4d86ee2fa176ed0e83 +0xeb2d58dc56746f21baa2bc2a40bf1978eb8185bcc818e37c4bf3a9a083308cd6 +0x07ee199b1d4b70b54a9fc73395c1cff74cc6f7792ee4ee7194e461a677d24fe0 +0xd3ab8a8ffa13b2127850641935297d70ae7852a647bc03aa99fc5ed0492498cf +0xf757682336a3e01ca304c2039d3e7c3556b150d144cb35f3c5b543c5cb1c9fea +0x67b5dab8b3499f80a76691ea616ddf6c976d0755a80fb70377b0b8b99d2d8721 +0x1135e9706fe7c4c41a3f8056566429662b9bdcf73e5ab26fec1e6ea7db58561f +0xee9e7008a19c3a2c89612d95e0b606a94fbe8203d4b3232a00a70c555a899bef +0xd31903d16854138f2f53f358d655a82407ccf262d14573bec0df4b4218ce4dbe +0x0dda5c981262ed7f2fb2a89cf40d36cc9458b8d9c6390301a7f9846a978b1289 +0xac0fa808e417cea16c3e99ba710cc95c0e67129d22d096f4840cea7bccd7407d +0xdaadbc223c4d58d5b86b2b07c8f9ee0949f62f7d40919528a6e36beb16929e31 +0x4dee4bc0702a6e29d5a349b7e7a76105aa968e15667a025bc6821fe5ffec4688 +0xc858e58396cbebf4aa15f890ffcd68319d81afc59be4932b909dd2e0cfcdbd54 +0xff89f850629941b0181e1a6505a33c3de17e935906f666187bc067e25f589d6c +0x347d1932a60e5de900f705f87abd5e681aae740657db18dcb6aea0cbf82d7833 \ No newline at end of file diff --git a/AirdropAuto/load_wallet_xlsx.py b/AirdropAuto/load_wallet_xlsx.py new file mode 100644 index 0000000..607879f --- /dev/null +++ b/AirdropAuto/load_wallet_xlsx.py @@ -0,0 +1,15 @@ +from openpyxl import load_workbook + +key_data = [] +workbook = load_workbook('wallet.xlsx') +sheet = workbook.active +for row in sheet.iter_rows(values_only=True, min_row=2): + print(row[0], row[1]) + key_data.append(row) + +with open('key.txt', 'w') as f: + for i, key in enumerate(key_data): + if i == len(key_data) - 1: + f.write(f'{key[1]}') + else: + f.write(f'{key[1]}\n') \ No newline at end of file diff --git a/AirdropAuto/wallet.xlsx b/AirdropAuto/wallet.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..28dd36eb30f8e5209e40a3a7694061b365f8189c GIT binary patch literal 34458 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 literal 0 HcmV?d00001