單價: | 面議 |
發(fā)貨期限: | 自買家付款之日起 天內發(fā)貨 |
所在地: | 廣東 廣州 |
有效期至: | 長期有效 |
發(fā)布時間: | 2023-12-19 06:40 |
最后更新: | 2023-12-19 06:40 |
瀏覽次數(shù): | 68 |
采購咨詢: |
請賣家聯(lián)系我
|
智能合約Solidity中,contract關鍵字包含的代碼**段即表示
一個智能合約,它擁有一些成員變量,表示該合約的數(shù)據(jù),如我們的HelloWorld中的hello,我們可以修改操作這些成員。同時
它擁有案例I8I流程**259I技術3365過程一些function,可以被他人調用。
event是Solidity提供的一種事件和訂閱機制,智能合約能夠發(fā)出一些event,合約調用者能夠監(jiān)聽這些事件并作出相應的反
應。
這個合約沒有做很多事情,它只會在有人調用它的sayHello方法時,發(fā)出一個say事件。接下來讓我們來部署和執(zhí)行它。
pragma solidity ^0.4.21;
contract HelloWorld {
string hello = "Hello World!!!";
event say(string _value);
function sayHello() public {
emit say(hello);
}
}
智能合約(英語:Smart contract )是一種旨在以信息化方式傳播、驗證或執(zhí)行合同的計算機協(xié)議。智能合約允許在沒有第三方的情況下進行可信交易,這些交易可追蹤且不可逆轉。
智能合約是運行在***公鏈上的一種代碼,該代碼由Solidity編寫,并通過***的智能合約虛擬機來執(zhí)行,以達到對***編程的目標??梢詫?**公聯(lián)理解為操作系統(tǒng),
import web3
w3 = web3.Web3(web3.HTTPProvider('))
abi="[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"add\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"mul\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"}],\"name\":\"sqr\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"sqrt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"sub\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]"
c = w3.eth.contract(address='0x1aC3CD1b37898ed4D3005f3C12b4425A6eFFDc30', abi=abi)
a=5
b=4
rtn= c.caller().add(a,b)
print(f"{a}+={rtn}")
rtn= c.caller().mul(a,b)
print(f"{a}*={rtn}")
rtn= c.caller().sub(a,b)
print(f"{a}-={rtn}")
rtn= c.caller().sqr(a)
print(f"sqr({a})={rtn}")
rtn= c.caller().sqrt(a)
print(f"sqrt({a})={rtn}")