手把手教学|如何超简单的部署io.net(以及解决网络问题)
本文主要从技术角度详细讲解了如何部署io.net,以及如何解决各种问题。 项目地址如下,是否部署投资等DYOR~io.net | Decentralized GPU Ecosystem for AI Workloads - Save Up to 70%Power your AI workloads with io.net's intelligent stack: on-demand GPU clusters in 130+ countries, up to 70% cost savings vs. AWS/GCP, and flexible deployment options. Built for AI teams - deploy containers, Ray clusters, or bare metal today.https://io.net1. 注册,添加worker从上面官网点进去之后,注册登录 点击官网左上角,会出现一长列,点击worker,中间会出现链接新的worker。 按照你的机器选择对应的配置,一直到底下出现命令行,也就是核心的第5步和第6步。...
Nexus节点运行| 疑难杂症解决方案
最近看到很多朋友在折腾 Nexus,尤其是在使用 CLI 的过程中会遇到一些 BUG。为此,我针对官方脚本做了一些优化,提供了一键安装的解决方案,让你更稳定地挖 Nexus。 官方教程链接:Nexus Network CLI - 官方文档 官方教程主要面向有一定技术基础的用户自行探索。如果你想要更快速、简单地上手,请继续阅读下面的步骤。 核心问题与解决方案什么是 Prover ID?如何获取正确的 ID? 进入 Nexus Beta 网站 后,你可能会看到一个 Prover ID,但请注意,页面左下角显示的并不是完整的 Prover ID!正确获取方式: https://beta.nexus.xyz/ 进入 Nexus Beta 页面后,按下 F12 打开浏览器开发者工具。 查找名为 account 的请求(或相关输出)。 在返回的 JSON 数据中,找到 localid 字段,这个 localid 就是你的真正 proverid。 你会发现其中前半部分和网页显示的相同,大小写忽略即可。2. 使用 CLI 挖 Nexus 前提条件 准备一个 VPS(最低配置即可,国外主机都可以)...
一键在Ubuntu上运行Bitcoin全节点(BTC系列教程1)
现在经常需要btc全节点。很多人得开着电脑24小时不关机,属实很麻烦。 但是如果购买一个小主机,配上Ubuntu系统,24小时运行全节点。开启RPC之后,电脑随时都能连上使用。当然也可以做Atom索引等本文将会讲解如何搭建一个基于ubuntu系统的bitcoin全节点。 需求操作系统os: ubuntu20.04内存: 2GSSD: 1TB对于家用小服务器,我推荐买个N100的mini主机大概几百块钱+一块2tssd,总成本可能在1k左右 功率在10w左右,可以24小时不关机。一个linux设备代表能拥有什么呢: 各种好玩的docker服务,各种脚本如何安装BTC全节点使用root用户登陆上ubuntu之后,运行下面命令即可。wget -O bitcoin_node.sh https://pub-e3b4652c5d5f4c1b8fbfdff04685c330.r2.dev/bitcoin_node.sh && chmod +x bitcoin_node.sh && sudo ./bitcoin_node.sh 当然这个脚本也可以在wind...
web3 build
手把手教学|如何超简单的部署io.net(以及解决网络问题)
本文主要从技术角度详细讲解了如何部署io.net,以及如何解决各种问题。 项目地址如下,是否部署投资等DYOR~io.net | Decentralized GPU Ecosystem for AI Workloads - Save Up to 70%Power your AI workloads with io.net's intelligent stack: on-demand GPU clusters in 130+ countries, up to 70% cost savings vs. AWS/GCP, and flexible deployment options. Built for AI teams - deploy containers, Ray clusters, or bare metal today.https://io.net1. 注册,添加worker从上面官网点进去之后,注册登录 点击官网左上角,会出现一长列,点击worker,中间会出现链接新的worker。 按照你的机器选择对应的配置,一直到底下出现命令行,也就是核心的第5步和第6步。...
Nexus节点运行| 疑难杂症解决方案
最近看到很多朋友在折腾 Nexus,尤其是在使用 CLI 的过程中会遇到一些 BUG。为此,我针对官方脚本做了一些优化,提供了一键安装的解决方案,让你更稳定地挖 Nexus。 官方教程链接:Nexus Network CLI - 官方文档 官方教程主要面向有一定技术基础的用户自行探索。如果你想要更快速、简单地上手,请继续阅读下面的步骤。 核心问题与解决方案什么是 Prover ID?如何获取正确的 ID? 进入 Nexus Beta 网站 后,你可能会看到一个 Prover ID,但请注意,页面左下角显示的并不是完整的 Prover ID!正确获取方式: https://beta.nexus.xyz/ 进入 Nexus Beta 页面后,按下 F12 打开浏览器开发者工具。 查找名为 account 的请求(或相关输出)。 在返回的 JSON 数据中,找到 localid 字段,这个 localid 就是你的真正 proverid。 你会发现其中前半部分和网页显示的相同,大小写忽略即可。2. 使用 CLI 挖 Nexus 前提条件 准备一个 VPS(最低配置即可,国外主机都可以)...
一键在Ubuntu上运行Bitcoin全节点(BTC系列教程1)
现在经常需要btc全节点。很多人得开着电脑24小时不关机,属实很麻烦。 但是如果购买一个小主机,配上Ubuntu系统,24小时运行全节点。开启RPC之后,电脑随时都能连上使用。当然也可以做Atom索引等本文将会讲解如何搭建一个基于ubuntu系统的bitcoin全节点。 需求操作系统os: ubuntu20.04内存: 2GSSD: 1TB对于家用小服务器,我推荐买个N100的mini主机大概几百块钱+一块2tssd,总成本可能在1k左右 功率在10w左右,可以24小时不关机。一个linux设备代表能拥有什么呢: 各种好玩的docker服务,各种脚本如何安装BTC全节点使用root用户登陆上ubuntu之后,运行下面命令即可。wget -O bitcoin_node.sh https://pub-e3b4652c5d5f4c1b8fbfdff04685c330.r2.dev/bitcoin_node.sh && chmod +x bitcoin_node.sh && sudo ./bitcoin_node.sh 当然这个脚本也可以在wind...
web3 build
Share Dialog
Share Dialog

Subscribe to Daniel

Subscribe to Daniel
>200 subscribers
>200 subscribers
简单来说,evm上的各种*20都是发送tx_data来打“铭文”虽然有种返璞归真的感觉,但是真的能炒上去。毕竟啥共识都是共识。至于交易只能靠检索器(也就是纯纯的中心化)检索器说是你的就是你的这就很离谱了,这也是为啥我总不喜欢这种玩意,去中心化精神完全抛弃了。
但是有人玩就是好的。刚好朋友要打,我就顺手写了个脚本,这个脚本比目前市面上的要快,且可以调整手续费
1.为什么说它快: 因为是本地拼接消息,可以批量生成一堆消息,在同一个高度全部上链。也就是说别人脚本在一个个的等的时候,你已经在50个同时等上链了。2.调整手续费,现在evm基本上都是eip1559,需要给节点小费,手动制定小费,会更快上链。具体怎么操作,见下面讲解
python环境,根据电脑不同自己google。只要能跑起来hello world即可。个人rpc推荐 alchemy
将下面脚本导入到你的代码编译器中,修改下面内容
private_key = "填写你的钱包私钥"
recipient_address = "填写你的接受钱包地址"
mainnet: '填写你的rpc链接',
data = '填写tx里面的内容' (下面的代码就是打pols的)
重点来了,如何比别人快 send_transaction(1, rpc_map.get("mainnet"), data, is_wait=True, priority_fee=100)
1修改成你想要的总数量 is_wait 如果是True就是等待上一个消息上链之后才发送下一个,False就是不等待疯狂冲 (问题来了,如果是自建的rpc那么就没限制,可以写false,如果是alchemy rpc这种一般会有请求限制,也就是最好用True) priority_fee就是小费给多少,去浏览器看,比如polygon的浏览器
显示:Priority: 350,那你写360基本上就是秒上了。注意:因为gas一直在变动,输入一个gas的时候,建议一次少打一点比如现在是350,我写360,总共100张,一会会就打完了。然后再看看gas是多少,再来调整(能省不少钱呢)小费不是总GAS!!! 是Priority!!!注意看下图!!!Priority是104.6 这个时候你输入110,基本上秒打。

脚本完全代码放到下面,希望大家冲的时候冷静,不要浪费gas。哈哈
from web3 import Web3, HTTPProvider, Account
from web3.middleware import geth_poa_middleware
private_key = "填写你的钱包私钥"
recipient_address = "填写你的接受钱包地址"
data = 'data:,{"p":"prc-20","op":"mint","tick":"pols","amt":"100000000"}'
rpc_map = {
'mainnet': '填写你的rpc链接',
}
def get_transaction_eip1559(rpc_url, text_data, priority_fee):
web3 = Web3(HTTPProvider(rpc_url))
web3.middleware_onion.inject(geth_poa_middleware, layer=0) # Inject POA middleware
# Check if connected to Ethereum network
if not web3.isConnected():
raise Exception("Not connected to Ethereum network")
# Set up the sender's account
sender_account = Account.from_key(private_key)
sender_address = sender_account.address
# Transaction details
value = web3.toWei(0, 'ether')
# Get the nonce for the sender's account
nonce = web3.eth.getTransactionCount(sender_address, 'pending')
base_fee = web3.eth.get_block('latest')['baseFeePerGas']
# Transaction details
max_priority_fee_per_gas = web3.toWei(priority_fee, 'gwei') # Tip for the miner, adjust as needed
max_fee_per_gas = base_fee + max_priority_fee_per_gas
# EIP-1559 transaction parameters
# Convert data to hex and add as data to the transaction
data_hex = web3.toHex(text=text_data)
# Estimate gas limit for the transaction
gas_estimate = web3.eth.estimate_gas({
'to': recipient_address,
'value': value,
'from': sender_address,
'data': data_hex
})
# Create the transaction dictionary
transaction = {
'type': '0x2', # Indicates an EIP-1559 transaction
'chainId': web3.eth.chain_id,
'nonce': nonce,
'maxPriorityFeePerGas': max_priority_fee_per_gas,
'maxFeePerGas': max_fee_per_gas,
'gas': gas_estimate,
'to': recipient_address,
'value': value,
'data': data_hex
}
print(f"Transaction: {transaction}")
return transaction, web3, private_key, nonce
def signed_send(transaction, web3, private_key, is_wait=True):
# Sign the transaction
signed_tx = web3.eth.account.sign_transaction(transaction, private_key)
# Send the transaction
tx_hash = web3.eth.sendRawTransaction(signed_tx.rawTransaction)
# Get the transaction hash
print(f"Transaction hash: {tx_hash.hex()}")
# Wait for the transaction receipt (optional)
if is_wait:
tx_receipt = web3.eth.waitForTransactionReceipt(tx_hash)
print(f"Transaction receipt: {tx_receipt}")
print(f"Transaction status: {tx_receipt['status']}")
def send_transaction(number, rpc, test_data, is_wait=True, priority_fee=400):
transaction, web3, private_key, nonce = get_transaction_eip1559(rpc, test_data, priority_fee)
for i in range(number):
transaction.update({'nonce': nonce})
signed_send(transaction, web3, private_key, is_wait)
nonce = nonce + 1
if __name__ == '__main__':
send_transaction(1, rpc_map.get("mainnet"), data, is_wait=True, priority_fee=100)
简单来说,evm上的各种*20都是发送tx_data来打“铭文”虽然有种返璞归真的感觉,但是真的能炒上去。毕竟啥共识都是共识。至于交易只能靠检索器(也就是纯纯的中心化)检索器说是你的就是你的这就很离谱了,这也是为啥我总不喜欢这种玩意,去中心化精神完全抛弃了。
但是有人玩就是好的。刚好朋友要打,我就顺手写了个脚本,这个脚本比目前市面上的要快,且可以调整手续费
1.为什么说它快: 因为是本地拼接消息,可以批量生成一堆消息,在同一个高度全部上链。也就是说别人脚本在一个个的等的时候,你已经在50个同时等上链了。2.调整手续费,现在evm基本上都是eip1559,需要给节点小费,手动制定小费,会更快上链。具体怎么操作,见下面讲解
python环境,根据电脑不同自己google。只要能跑起来hello world即可。个人rpc推荐 alchemy
将下面脚本导入到你的代码编译器中,修改下面内容
private_key = "填写你的钱包私钥"
recipient_address = "填写你的接受钱包地址"
mainnet: '填写你的rpc链接',
data = '填写tx里面的内容' (下面的代码就是打pols的)
重点来了,如何比别人快 send_transaction(1, rpc_map.get("mainnet"), data, is_wait=True, priority_fee=100)
1修改成你想要的总数量 is_wait 如果是True就是等待上一个消息上链之后才发送下一个,False就是不等待疯狂冲 (问题来了,如果是自建的rpc那么就没限制,可以写false,如果是alchemy rpc这种一般会有请求限制,也就是最好用True) priority_fee就是小费给多少,去浏览器看,比如polygon的浏览器
显示:Priority: 350,那你写360基本上就是秒上了。注意:因为gas一直在变动,输入一个gas的时候,建议一次少打一点比如现在是350,我写360,总共100张,一会会就打完了。然后再看看gas是多少,再来调整(能省不少钱呢)小费不是总GAS!!! 是Priority!!!注意看下图!!!Priority是104.6 这个时候你输入110,基本上秒打。

脚本完全代码放到下面,希望大家冲的时候冷静,不要浪费gas。哈哈
from web3 import Web3, HTTPProvider, Account
from web3.middleware import geth_poa_middleware
private_key = "填写你的钱包私钥"
recipient_address = "填写你的接受钱包地址"
data = 'data:,{"p":"prc-20","op":"mint","tick":"pols","amt":"100000000"}'
rpc_map = {
'mainnet': '填写你的rpc链接',
}
def get_transaction_eip1559(rpc_url, text_data, priority_fee):
web3 = Web3(HTTPProvider(rpc_url))
web3.middleware_onion.inject(geth_poa_middleware, layer=0) # Inject POA middleware
# Check if connected to Ethereum network
if not web3.isConnected():
raise Exception("Not connected to Ethereum network")
# Set up the sender's account
sender_account = Account.from_key(private_key)
sender_address = sender_account.address
# Transaction details
value = web3.toWei(0, 'ether')
# Get the nonce for the sender's account
nonce = web3.eth.getTransactionCount(sender_address, 'pending')
base_fee = web3.eth.get_block('latest')['baseFeePerGas']
# Transaction details
max_priority_fee_per_gas = web3.toWei(priority_fee, 'gwei') # Tip for the miner, adjust as needed
max_fee_per_gas = base_fee + max_priority_fee_per_gas
# EIP-1559 transaction parameters
# Convert data to hex and add as data to the transaction
data_hex = web3.toHex(text=text_data)
# Estimate gas limit for the transaction
gas_estimate = web3.eth.estimate_gas({
'to': recipient_address,
'value': value,
'from': sender_address,
'data': data_hex
})
# Create the transaction dictionary
transaction = {
'type': '0x2', # Indicates an EIP-1559 transaction
'chainId': web3.eth.chain_id,
'nonce': nonce,
'maxPriorityFeePerGas': max_priority_fee_per_gas,
'maxFeePerGas': max_fee_per_gas,
'gas': gas_estimate,
'to': recipient_address,
'value': value,
'data': data_hex
}
print(f"Transaction: {transaction}")
return transaction, web3, private_key, nonce
def signed_send(transaction, web3, private_key, is_wait=True):
# Sign the transaction
signed_tx = web3.eth.account.sign_transaction(transaction, private_key)
# Send the transaction
tx_hash = web3.eth.sendRawTransaction(signed_tx.rawTransaction)
# Get the transaction hash
print(f"Transaction hash: {tx_hash.hex()}")
# Wait for the transaction receipt (optional)
if is_wait:
tx_receipt = web3.eth.waitForTransactionReceipt(tx_hash)
print(f"Transaction receipt: {tx_receipt}")
print(f"Transaction status: {tx_receipt['status']}")
def send_transaction(number, rpc, test_data, is_wait=True, priority_fee=400):
transaction, web3, private_key, nonce = get_transaction_eip1559(rpc, test_data, priority_fee)
for i in range(number):
transaction.update({'nonce': nonce})
signed_send(transaction, web3, private_key, is_wait)
nonce = nonce + 1
if __name__ == '__main__':
send_transaction(1, rpc_map.get("mainnet"), data, is_wait=True, priority_fee=100)
No activity yet