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