量化合约系统开发(规则开发)丨量化合约开发(源码说明)
密码学保障 Web3.0 能正常合理运行,防止篡改:密码学主要作用为加密、认证、识别,其主要作用防止恶意篡改数据、恶意读取数据等,可用于网络安全协议、数字证书、隐私保护、地址生成等方向,在区块链技术中,应用极其广阔。主要算法有三种:HASH 算法、对称密码算法、非对称加密算法
Dapps 开发包括三个简单的步骤:
在区块链网络上部署智能合约
从部署的智能合约中读取数据
将交易发送到部署的智能合约
pragma solidity^0.5.7;
contract greeter{开发具体方案及模式 I35 源码 7O98 成品 O7I8
string greeting;
function greet(string memory _greeting)public{
greeting=_greeting;
}
function getGreeting()public view returns(string memory){
return greeting;
}
}
您可以通过传递字符串值使用 greet()方法添加问候语,并使用 getGreting()方法检索问候语。
1.在区块链网络上部署智能合约
a)创建项目:
mkdir pythonDapp
cd pythonDapp
truffle init
成功初始化项目后,转到您的文件夹并在/contracts 目录中创建 greeter.sol 文件。在网络上部署合约之前,我们必须编译它并构建工件。
b)智能合约的编译:
因此,对于编译,我们将使用 Truffle solc 编译器。在您的主目录中,运行以下命令:
truffle compile
(or)
truffle.cmd compile#(for windows only)
上面的命令将在/contracts 目录中编译你的合约,并在/build 目录中创建二进制工件文件 greeter.json。
c)部署合约:开发及功能:MrsFu123
打开您的 Python IDLE 编辑器,并在主目录 deploy.py 中使用以下代码创建一个新文件,然后在您的目录中运行 py deploy.py。
import json
from web3 importWeb3,HTTPProvider
from web3.contract importConciseContract
#web3.py instance
w3=Web3(HTTPProvider("https://ropsten.infura.io/v3/"))
print(w3.isConnected())
key=""
acct=w3.eth.account.privateKeyToAccount(key)
#compile your smart contract with truffle first
truffleFile=json.load(open('./build/contracts/greeter.json'))
abi=truffleFile['abi']
bytecode=truffleFile['bytecode']
contract=w3.eth.contract(bytecode=bytecode,abi=abi)
#building transaction
construct_txn=contract.constructor().buildTransaction({
'from':acct.address,
'nonce':w3.eth.getTransactionCount(acct.address),
'gas':1728712,
'gasPrice':w3.toWei('21','gwei')})
signed=acct.signTransaction(construct_txn)
tx_hash=w3.eth.sendRawTransaction(signed.rawTransaction)
print(tx_hash.hex())
tx_receipt=w3.eth.waitForTransactionReceipt(tx_hash)
print("Contract Deployed At:",tx_receipt['contractAddress'])
导入的 web3 库和所有其他必需的模块
通过指向 Ropsten Infura 节点启动 web3 提供程序
添加了用于签署交易的帐户地址和私钥。不要忘记在代码中添加您的凭据。
通过指向 Truffle 编译的工件文件 greeter.json 的 abi 和字节码启动合约实例
评论