我正在为我的业务编写一些代码,让我可以通过生成它们来选择我自己的特定以太坊钱包。我在脚本中组合了以太坊帐户的钱包地址和私钥,但我希望当我在迭代器中运行该函数时,组合的钱包地址和私钥按字母顺序递增和递减,以便我可以选择我喜欢的钱包地址。
我已经编写了大部分内容。到目前为止我的代码是:
import concurrent.futures
import secrets
import binascii
from web3 import Web3
from eth_account import Account
import time
# Function to generate a new unique private key
def generate_private_key():
random_bytes = secrets.token_bytes(32)
hex_string = binascii.hexlify(random_bytes).decode('utf-8')
account = Account.from_key(hex_string)
#print(hex_string+account.address[2:])
return hex_string + account.address[2:]
def run_same():
private_key = generate_private_key()
# check_private_key(private_key, wallet_address_to_find="0x5a52E96BAcdaBb82fd05763E25335261B270Efcb")
#speed is equal to once 1000e79 of a second
class MyIterator:
def __init__(self, limit):
self.limit = limit
self.current = 0
def __iter__(self):
return self
def modify_speed(self):
pass
def __next__(self):
if self.current < self.limit:
self.current += 1
return self.current
else:
raise StopIteration
# Example usage:
iterator = MyIterator(4)
for item in iterator:
run_same()
我想用组合字符串进行上下排序,仅用于我的业务。有人可以告诉我该怎么做吗?最后,递增和递减的字母字符串必须是有效的以太坊帐户。它们组合在一起,因此前 64 个字符是有效的私钥,最后 40 个字符是帐户的地址(减去 0x)
这个“企业”很可能只是进行地址中毒诈骗,我强烈反对任何人帮助他。
从包含大量 WBTC 的地址(假设是 A 地址,您的主地址),您将 1 美元的测试金额发送到您的 CEX 钱包地址(假设是 B 地址)。
攻击者检测到这一点并创建一个 B-Vanity 地址,该地址与您的 CEX (B) 地址非常相似。
黑客 B 虚荣钱包将少量金额发送到您的 A 钱包。宽松地说,他们创建许多彼此相同的地址,并选择他们认为将收到最大交易的地址。
受害者认为他刚刚发送了测试交易并确认其完成。这就是隧道效应发挥作用的地方。
受害者从钱包A复制了交易历史(或浏览器)中的最后一个地址,但是 - 复制了错误的地址,这实际上是B-虚荣地址。
参考: https://twitter.com/officer_cia/status/1787558667388113395
TLDR:创建一个看起来几乎与您想要毒害的钱包一模一样的钱包(在这个人的场景中,“他喜欢的钱包”)并通过别人的错误收到数百万美元。
如果您确实想要一个唯一的地址,请选择 ENS(以太坊名称服务)https://ens.domains/
只要钱包可用,您就会在钱包上看到任何名称。
你可以对我投反对票,但我鼓励人们不要在这件事上提供帮助。