Share Dialog
Share Dialog

Subscribe to Y

Subscribe to Y
1、安装python运行环境
安装完成后自行百度配置本地环境 运行你的脚本文件即可
2、代码
import time
from eth_account import Account
from eth_account.signers.local import LocalAccount
from web3 import Web3
w3 = Web3(Web3.HTTPProvider("https://rpc.ankr.com/avalanche"))
private_key = input("你的私钥:")
mint_num = int(input("铸造的数量:"))
account: LocalAccount = Account.from_key(private_key)
start_nonce = w3.eth.get_transaction_count(account.address)
nonce = start_nonce
def estimate_gas(txn):
gas = w3.eth.estimate_gas({
"from": txn['from'],
"to": txn['to'],
"value": txn['value'],
"data": txn['data']
})
gas = int(gas + (gas / 10)) # increase 10% of the gas
return gas
def Mint(private_key):
global account
global start_nonce
global nonce
transaction = {
"from": account.address,
"nonce": nonce,
"value": 0,
"gas": 33036,
"gasPrice": int(w3.eth.gas_price * 1.1),
"to": account.address,
# "chainId": 43114, # Updated chainId to Avalanche Fuji C-Chain 暂时不需要链id
"data": "0x646174613a2c7b2270223a226173632d3230222c226f70223a226d696e74222c227469636b223a226176616c222c22616d74223a22313030303030303030227d"
}
transaction.update({'gas': int(estimate_gas(transaction))})
signer = account.sign_transaction(transaction_dict=transaction)
tx = w3.eth.send_raw_transaction(signer.rawTransaction)
tx_hash = Web3.to_hex(tx)
# 检查交易状态
while True:
try:
result = w3.eth.get_transaction_receipt(transaction_hash=tx_hash)
if result is None or result['blockNumber'] is None:
time.sleep(3)
elif result['status']:
print(f"[成功] - https://cchain.explorer.avax.network/tx/{tx_hash}")
nonce += 1
return result['contractAddress']
else:
print(f"[失败] - https://cchain.explorer.avax.network/tx/{tx_hash}")
return False
except:
time.sleep(2)
if __name__ == '__main__':
try:
for i in range(mint_num):
print("当前铸造的数量:", i + 1)
Mint(private_key)
print("铸造完成...")
time.sleep(2)
except Exception as e:
print("报错信息如下:")
print(e)
sys.exit(0)
print("程序执行完毕自动退出")
3、如何铸造别的链的铭文
在chainlist中找对应的rpc节点修改
(1)、修改rpc节点
w3 = Web3(Web3.HTTPProvider("https://rpc.ankr.com/avalanche"))
(2)、修改data的16进制数据
修改其中data的数据改为需要铸造的16进制即可
transaction = {
"from": account.address,
"nonce": nonce,
"value": 0,
"gas": 33036,
"gasPrice": int(w3.eth.gas_price * 1.1),
"to": account.address,
# "chainId": 43114, # Updated chainId to Avalanche Fuji C-Chain 暂时不需要链id
"data": "0x646174613a2c7b2270223a226173632d3230222c226f70223a226d696e74222c227469636b223a226176616c222c22616d74223a22313030303030303030227d"
}
(3)修改链上rpc
将其中的血崩链接改成自己的链信息即可
if result is None or result['blockNumber'] is None:
time.sleep(3)
elif result['status']:
print(f"[成功] - https://cchain.explorer.avax.network/tx/{tx_hash}")
nonce += 1
return result['contractAddress']
else:
print(f"[失败] - https://cchain.explorer.avax.network/tx/{tx_hash}")
return False
1、安装python运行环境
安装完成后自行百度配置本地环境 运行你的脚本文件即可
2、代码
import time
from eth_account import Account
from eth_account.signers.local import LocalAccount
from web3 import Web3
w3 = Web3(Web3.HTTPProvider("https://rpc.ankr.com/avalanche"))
private_key = input("你的私钥:")
mint_num = int(input("铸造的数量:"))
account: LocalAccount = Account.from_key(private_key)
start_nonce = w3.eth.get_transaction_count(account.address)
nonce = start_nonce
def estimate_gas(txn):
gas = w3.eth.estimate_gas({
"from": txn['from'],
"to": txn['to'],
"value": txn['value'],
"data": txn['data']
})
gas = int(gas + (gas / 10)) # increase 10% of the gas
return gas
def Mint(private_key):
global account
global start_nonce
global nonce
transaction = {
"from": account.address,
"nonce": nonce,
"value": 0,
"gas": 33036,
"gasPrice": int(w3.eth.gas_price * 1.1),
"to": account.address,
# "chainId": 43114, # Updated chainId to Avalanche Fuji C-Chain 暂时不需要链id
"data": "0x646174613a2c7b2270223a226173632d3230222c226f70223a226d696e74222c227469636b223a226176616c222c22616d74223a22313030303030303030227d"
}
transaction.update({'gas': int(estimate_gas(transaction))})
signer = account.sign_transaction(transaction_dict=transaction)
tx = w3.eth.send_raw_transaction(signer.rawTransaction)
tx_hash = Web3.to_hex(tx)
# 检查交易状态
while True:
try:
result = w3.eth.get_transaction_receipt(transaction_hash=tx_hash)
if result is None or result['blockNumber'] is None:
time.sleep(3)
elif result['status']:
print(f"[成功] - https://cchain.explorer.avax.network/tx/{tx_hash}")
nonce += 1
return result['contractAddress']
else:
print(f"[失败] - https://cchain.explorer.avax.network/tx/{tx_hash}")
return False
except:
time.sleep(2)
if __name__ == '__main__':
try:
for i in range(mint_num):
print("当前铸造的数量:", i + 1)
Mint(private_key)
print("铸造完成...")
time.sleep(2)
except Exception as e:
print("报错信息如下:")
print(e)
sys.exit(0)
print("程序执行完毕自动退出")
3、如何铸造别的链的铭文
在chainlist中找对应的rpc节点修改
(1)、修改rpc节点
w3 = Web3(Web3.HTTPProvider("https://rpc.ankr.com/avalanche"))
(2)、修改data的16进制数据
修改其中data的数据改为需要铸造的16进制即可
transaction = {
"from": account.address,
"nonce": nonce,
"value": 0,
"gas": 33036,
"gasPrice": int(w3.eth.gas_price * 1.1),
"to": account.address,
# "chainId": 43114, # Updated chainId to Avalanche Fuji C-Chain 暂时不需要链id
"data": "0x646174613a2c7b2270223a226173632d3230222c226f70223a226d696e74222c227469636b223a226176616c222c22616d74223a22313030303030303030227d"
}
(3)修改链上rpc
将其中的血崩链接改成自己的链信息即可
if result is None or result['blockNumber'] is None:
time.sleep(3)
elif result['status']:
print(f"[成功] - https://cchain.explorer.avax.network/tx/{tx_hash}")
nonce += 1
return result['contractAddress']
else:
print(f"[失败] - https://cchain.explorer.avax.network/tx/{tx_hash}")
return False
<100 subscribers
<100 subscribers
No activity yet