DEFI/NFT/LP/DAPP代币合约流动性质押挖矿分红开发案例源码,DEFI/NFT/LP/DAPP代币合约流动性质押挖矿分红系统开发(逻辑及详细)

简介: # web3对象与已部署的用户合约进行通信rpc = "HTTP合约通讯地址(http url)" web3 = Web3(HTTPProvider(rpc))

一、智能合约python基础
1、连接环境

web3对象与已部署的用户合约进行通信

rpc = "HTTP合约通讯地址(http url)"
web3 = Web3(HTTPProvider(rpc))

2、区块相关

当前区块高度

blockNumber = web3.eth.blockNumber
print(blockNumber)

获取最新的区块

block = web3.eth.getBlock('latest')
print(block)
1
2
3

输出默认区块

print(web3.eth.defaultBlock)
1
2
3、账户相关

将第一个测试账户设置为默认账户

web3.eth.defaultAccount = web3.eth.accounts[0:1]
1
2

输出默认账户

print(web3.eth.defaultAccount)
1
2

获取账号信息

accounts = web3.eth.accounts
print("账户列表:", accounts)
1
2
3

获取当前gas的价格

print(web3.eth.gasPrice)
1
2
address1 = "你的钱包地址"

获取eth余额

balance1 = web3.fromWei(web3.eth.getBalance(address1), "ether")
print(balance1)

二、智能合约ABI简易介绍
ABI官方链接

“合约ABI是以太坊生态系统中与合约交互的标准方式,不论是外部客户端与合约的交互还是合约与合约之间的交互。”上述是以太坊官方文档给出的定义,更通俗的理解,包含两方面内容:
ABI是合约接口的说明。
ABI定义与合约进行交互数据编码规则

在测试合约接口的时候我们会用到

三、测试合约前提
1、熟悉项目业务层逻辑
2、开发提供智能合约接口文档
(1)、确认我们要在那个链上测试,让开发提供对应的测试币
(2)、提供测试地址(类似于web2的url)
(3)、提供最新合约地址(这个地址开发每次部署到链上都会变更)
(4)、提供ABI(合约接口的说明)如果开发不给可以在eth区块链浏览器上获得
(5)、我们自己测试钱包的秘钥

四、智能合约转账(单元脚本)
from web3 import Web3, HTTPProvider
import json, os

rpc = "HTTP合约通讯地址(http url)"
address1 = "个人合约地址"
address2 = "智能合约地址"
test_key = "个人钱包秘钥地址"

连接钱包地址

web3 = Web3(HTTPProvider(rpc))

结果为true表示连接成功

connect = web3.isConnected()
print(connect)

转账

def transfer_eth(amount, gas_price=20, gas_limit=21000):

# 带签名的合约写操作
params = {
    # 发送代币地址
    'from': address1,
    # 接收代币的地址
    'to': address2,

    # 代币数量,以wei为单位,可以是字符串和int类型 web3.toWei(数值,代币单位)
    # 为了方便调通代码,我们这里用wei来做单位,正常都是用ether。
    # 1 ether = 1 x 10^18wei = 1 x 10^9 Gwei
    'value': web3.toWei(amount, 'wei'),

    # 每个在链上可以执行的命令都设置了一个消耗的gas值,例:PUSH操作需要消耗3个gas,一次转账一般要消耗21000 gas,gas使用ether来支付
    # 1 ether = 1 x 10^18wei = 1 x 10^9 Gwei, 无论您执行的命令是成功还是失败,都需要支付计算费用
    # 简易理解:gas_limit 是一次交易中gas的可用上限
    'gas': gas_limit,

    # 通过gasPrice可以节省矿工费用,但也会减慢矿工打包的速度。因为,矿工会优先打包gas price设置高的交易,如果您想加快转账,您可以把gas price设置得更高,这样您就可以插队靠前
    # 一次转账一般要消耗21000 gas,如果你设置的gas Price = 1000000000wei = 1Gwei,则此次转账的交易手续费为:TxFee = 21000 Gwei = 0.000021 ether
    # A账户欲向B账户转账4 ether,则要求A账户至少要有 4 + 0.000021 = 4. 000021 ethrer
    # 简易理解:gasPrice就是你想用多少气费进行交易,为什么设置20,是因为当前市场价20就够了。如果你有钱,想更快也可以设置成25甚至更高
    'gasPrice': web3.toWei(gas_price, 'gwei'),

    # 'nonce': web3.eth.getTransactionCount(主钱包地址),主要标记当前最新的交易号是多少,算是记录在交易队列中的位置
    'nonce': web3.eth.getTransactionCount(address1),
}
# web3.eth.account.signTransaction用账户对交易签名(转账需要的参数,from钱包地址的秘钥)
signed_tx = web3.eth.account.signTransaction(params, private_key=test_key)

# 交易发送并获取交易hash
tx_hash = web3.eth.sendRawTransaction(signed_tx.rawTransaction)
return tx_hash

print("运行转账后的交易hash值:", transfer_eth(100))

相关文章
|
算法 区块链
Defi+NFT质押流动性挖矿系统开发/LP质押挖矿功能开发解析
Defi+NFT质押流动性挖矿系统开发/LP质押挖矿功能开发解析
|
JavaScript 前端开发 区块链
DAPP代币合约流动性质押分红挖矿系统开发丨技术分析
DAPP代币合约流动性质押分红挖矿系统开发丨技术分析
|
存储 算法 安全
dapp/lp/nft/defi质押挖矿开发运营版丨lp/nft/defi/dapp质押挖矿系统开发(逻辑及详情)丨质押挖矿成熟源码案例部署
SYSTEM_CONTRACT_DPOS_STAKE: 由于stake合约地址是由合约名通过sha256计算后base58编码得到的,为固定值;但base58的值可读、可写不便,容易配置出错,因此,对于stake合约的地址配置为合约名;链启动后可以通过该命令查询stake合约地址
|
区块链
defi/lp/nft/dapp代币预售合约流动性质押挖矿开发正式版,defi/lp/nft/dapp代币预售合约流动性质押挖矿系统开发(方案及详细)
 智能合约(Smart contract)是依托计算机在网络空间运行的合约,它以信息化方式传播、验证或执行合同,由计算机读取、执行,具备自助的特点。而区块链的去中心化,数据的防篡改,决定了智能合约更加适合于在区块链上来实现
dapp/defi/nft/lp借贷理财流动性质押挖矿开发功能版,dapp/defi/nft/lp借贷理财流动性质押挖矿系统开发(开发方案)
From the perspective of conceptual model,the metauniverse is the superposition of technology system,content system,economic system,cooperation system and governance system.The core of the technical system is integration,and its technical system should be characterized by open
|
5G 区块链 vr&ar
DAPP智能合约流动性质押挖矿分红开发案例版丨DAPP智能合约流动性质押挖矿分红系统开发(开发案例及源码)
The metauniverse is an immersive digital world created by the combination of virtual reality,augmented reality and the Internet.The connotation and key technologies of the metauniverse require further breaking the space-time limit(5G and the Internet of Things),real immersion(VR),and value transmi
|
区块链 索引
DAPP/LP代币智能合约流动性质押挖矿互助公排开发需求丨DAPP/LP代币智能合约流动性质押挖矿互助公排系统开发详细及方案
 以区块链为核心的数字科技可以推动信息技术服务,从而促进数字产业化;元宇宙可以创造和创新更广泛的应用场景,拉动信息消费促进产业数字化。因此,以区块链为核心的Web3.0技术体系推动形成的元宇宙数字生态,将对数字产业化和产业数字化提供有力支撑,为数字经济高质量发展打造新引擎。
|
区块链
代币合约dapp开发丨代币合约dapp流动性质押挖矿分红系统开发实现技术案例及源码
 因为整个区块链系统是点对点的对等网络,没有统一的中心机构协调各个节点的行为,所以在生成区块时,各个节点的行为都是相互独立的,很有可能同时由多个矿工在同一区块高度生成出2个以上的区块来。这些区块打包的交易很可能是不一样的,同时满足条件的数字n不是唯一的,多个矿工之间生成的数字n是不一样的,但是同样是满足不等式的。在这种情况下,网络中的其他节点很可能同步到不同的区块数据,并且这些数据在数学上都是合法的、有效的。当不同的节点中的不同的区块作为当前最新区块时,就会存在分叉的情况,即不同的矿机对同一高度的区块生产了内存不一样的新区快,并且这些矿工都找到了满足不等式的数字n。
defi丨dapp丨nft丨lp流动性质押挖矿分红开发详细,defi丨dapp丨nft丨lp流动性质押挖矿分红系统开发(源码版)
 Liquidity mining encourages users to pledge tokens and pledge vouchers to liquidity mining contracts. For users, using DeFi will not only gain the original profits, but also obtain liquidity mining rewards. Inspired by liquidity mining, it has promoted users to become the LP of DeFi and promoted th
|
JavaScript
dapp/lp/defi/nft流动性质押挖矿稳定版,dapp/lp/defi/nft流动性质押挖矿分红系统开发详细案例及功能
  Debit and credit voucher:When you deposit a token in Compound,you will get a credit voucher cToken.cToken is the ownership of the user's pledge token.You can exchange the original token and withdraw the corresponding profits in the Compound agreement.