如何在Python中对组合字符串进行排序?

问题描述 投票:0回答:1

我正在为我的业务编写一些代码,让我可以通过生成它们来选择我自己的特定以太坊钱包。我在脚本中组合了以太坊帐户的钱包地址和私钥,但我希望当我在迭代器中运行该函数时,组合的钱包地址和私钥按字母顺序递增和递减,以便我可以选择我喜欢的钱包地址。

我已经编写了大部分内容。到目前为止我的代码是:

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)

python python-3.x ethereum
1个回答
0
投票

这个“企业”很可能只是进行地址中毒诈骗,我强烈反对任何人帮助他。

  1. 从包含大量 WBTC 的地址(假设是 A 地址,您的主地址),您将 1 美元的测试金额发送到您的 CEX 钱包地址(假设是 B 地址)。

  2. 攻击者检测到这一点并创建一个 B-Vanity 地址,该地址与您的 CEX (B) 地址非常相似。

  3. 黑客 B 虚荣钱包将少量金额发送到您的 A 钱包。宽松地说,他们创建许多彼此相同的地址,并选择他们认为将收到最大交易的地址。

  4. 受害者认为他刚刚发送了测试交易并确认其完成。这就是隧道效应发挥作用的地方。

  5. 受害者从钱包A复制了交易历史(或浏览器)中的最后一个地址,但是 - 复制了错误的地址,这实际上是B-虚荣地址。

参考: https://twitter.com/officer_cia/status/1787558667388113395

TLDR:创建一个看起来几乎与您想要毒害的钱包一模一样的钱包(在这个人的场景中,“他喜欢的钱包”)并通过别人的错误收到数百万美元。

如果您确实想要一个唯一的地址,请选择 ENS(以太坊名称服务)https://ens.domains/

只要钱包可用,您就会在钱包上看到任何名称。

你可以对我投反对票,但我鼓励人们不要在这件事上提供帮助。

© www.soinside.com 2019 - 2024. All rights reserved.