您的位置:首頁(yè) > 區(qū)塊鏈 >

Solidity簡(jiǎn)化智能合約 多數(shù)邏輯都寫(xiě)在在DAPP或服務(wù)器中

2019-07-01 15:42:06 來(lái)源: 區(qū)塊鏈研究實(shí)驗(yàn)室

目前以太坊的編程語(yǔ)言Solidity還是非?;A(chǔ)。Tron也使用Solidity,因此具有相同的限制。目前,Solidity將智能合約簡(jiǎn)化為僅存儲(chǔ)數(shù)值并進(jìn)行一

目前以太坊的編程語(yǔ)言Solidity還是非?;A(chǔ)。Tron也使用Solidity,因此具有相同的限制。

目前,Solidity將智能合約簡(jiǎn)化為僅存儲(chǔ)數(shù)值并進(jìn)行一些基本的數(shù)學(xué)運(yùn)算。 并且大多數(shù)智能邏輯都寫(xiě)在智能合約之外:在DAPP或服務(wù)器中。

#TRON中異步調(diào)用的兩種情況是什么?

· 外部調(diào)用...到數(shù)據(jù)庫(kù),Web服務(wù),(分布式)文件系統(tǒng),郵件服務(wù),到NodeJS oracle以克服Solidity的限制等。

· 自動(dòng)回調(diào)...到合約本身調(diào)用代碼(例如股息支付)。

為了實(shí)現(xiàn)這兩個(gè)場(chǎng)景,我們需要進(jìn)行TRON擴(kuò)展。這是如何做到的:

步驟1:下載客戶端庫(kù)

輸入下面鏈接,進(jìn)行客戶端庫(kù)下載,

https://github.com/CaptainJavaScript/Tron

步驟2:創(chuàng)建智能合約

您可以復(fù)用位于客戶端庫(kù)中的HelloSeaman_v1.sol示例。只需從usingCaptainJSAtTron_v2擴(kuò)展你的合同,整個(gè)魔法就會(huì)開(kāi)始發(fā)生:

pragma solidity ^0.4.25;

import "./usingCaptainJSAtTron_v2.sol";

contract HelloSeaman_v1 is usingCaptainJSAtTron_v2 {

constructor () public { }

...

}

要在TRON中實(shí)現(xiàn)異步調(diào)用,只需使用Run-method執(zhí)行NodeJS代碼,或調(diào)用Callback方法進(jìn)行簡(jiǎn)單回調(diào)。

...

uint constant EXAMPLE1 = 1;

uint constant EXAMPLE2 = 2;

function Demo() public payable

{

Run(EXAMPLE1, "json:https://api.kraken.com/0/public/Ticker?

pair=ETHUSD",

"result.XETHZUSD.a[0]", "-", 2, 5000);

Callback(EXAMPLE2, 20, 100000);

}

function CaptainsResult(uint UniqueIdentifier,

string Result, bool IsError) external onlyCaptainsOrdersAllowed {

emit LogEvent(

concat("CaptainsResult received with UID = ",

uintToString(UniqueIdentifier), " and a result of ", Result)

);

}

function CaptainsCallback(uint UniqueIdentifier) external

onlyCaptainsOrdersAllowed {

emit LogEvent(

concat("Callback received with UID = ", uintToString(

UniqueIdentifier))

);

}

步驟3:調(diào)用TronWeb的智能合約

將合同部署到SHASTA后,從GitHub存儲(chǔ)庫(kù)編輯Test-Shasta-public.js文件,

1. 添加您的私鑰(第6行)

2. 更改合同的地址(第11行) - 否則你將調(diào)用我的演示合同地址

3. 在第一次運(yùn)行中調(diào)用SetCaptainsAddress()

const TronWeb = require('tronweb');

const SHASTA = 'https://api.shasta.trongrid.io';

const tronWeb = new TronWeb(

SHASTA, SHASTA, SHASTA,

'<your private="" key="" goes="" here'

);

const OwnersWalletAtSHASTA = "";

...

const HelloSeaman_v1AtSHASTA = "TB4TEvEnbjM66ici2QjP92rpYkJWJPJajS";

...

function RunTest() {

var Budget = ToTRX(0.01);

var Transfer = ToTRX(0.5);

console.log("RunTest / Budget = " + Budget + ", Transfer Value =

" + Transfer);

SeamansContract.Run(1, "math:log2(16)", "", "mathjs", 1, Budget).

send({shouldPollResponse: true, callValue: Transfer}).catch(function(

err) { console.log(err); }).then( console.log("RUN EXECUTED") );

}

function SetCaptainsAddress() {

console.log("SetCaptainsAddress to " + CaptainsAddressAtSHASTAhex

);

SeamansContract.SetCaptainsAddress(CaptainsAddressAtSHASTAhex).

send({shouldPollResponse: true, callValue: 0}).catch(function(err)

{ console.log(err); }).then( console.log("SETCAPTAINSADDRESS EXECUTED"

) );

}

function Demo() {

console.log("Demo run...");

SeamansContract.Demo().send({shouldPollResponse: true, callValue:

ToTRX(1)}).catch(function(err) { console.log(err); }).then

( console.log("DEMO EXECUTED") );

}

async function Go() {

...

SeamansContract = await tronWeb.contract().at(HelloSeaman_v1AtSHASTA

);

SetCaptainsAddress();

// RunTest();

// Demo();

}

Go();

調(diào)用完成。SHASTA還是值得我們?nèi)リP(guān)注的。(鏈三豐)

關(guān)鍵詞: Solidity 智能合約 DAPP

精選 導(dǎo)讀

募資55億港元萬(wàn)物云啟動(dòng)招股 預(yù)計(jì)9月29日登陸港交所主板

萬(wàn)科9月19日早間公告,萬(wàn)物云當(dāng)日啟動(dòng)招股,預(yù)計(jì)發(fā)行價(jià)介乎每股47 1港元至52 7港元,預(yù)計(jì)9月29日登陸港交所主板。按發(fā)行1 167億股計(jì)算,萬(wàn)

發(fā)布時(shí)間: 2022-09-20 10:39
管理   2022-09-20

公募基金二季度持股情況曝光 隱形重倉(cāng)股多為高端制造業(yè)

隨著半年報(bào)披露收官,公募基金二季度持股情況曝光。截至今年二季度末,公募基金全市場(chǎng)基金總數(shù)為9794只,資產(chǎn)凈值為269454 75億元,同比上

發(fā)布時(shí)間: 2022-09-02 10:45
資訊   2022-09-02

又有上市公司宣布變賣(mài)房產(chǎn) 上市公司粉飾財(cái)報(bào)動(dòng)作不斷

再有上市公司宣布變賣(mài)房產(chǎn)。四川長(zhǎng)虹25日稱,擬以1 66億元的轉(zhuǎn)讓底價(jià)掛牌出售31套房產(chǎn)。今年以來(lái),A股公司出售房產(chǎn)不斷。根據(jù)記者不完全統(tǒng)

發(fā)布時(shí)間: 2022-08-26 09:44
資訊   2022-08-26

16天12連板大港股份回復(fù)深交所關(guān)注函 股份繼續(xù)沖高

回復(fù)交易所關(guān)注函后,大港股份繼續(xù)沖高。8月11日大港股份高開(kāi),隨后震蕩走高,接近收盤(pán)時(shí)觸及漲停,報(bào)20 2元 股。值得一提的是,在7月21日

發(fā)布時(shí)間: 2022-08-12 09:56
資訊   2022-08-12

萬(wàn)家基金再添第二大股東 中泰證券擬受讓11%基金股權(quán)

7月13日,中泰證券發(fā)布公告,擬受讓齊河眾鑫投資有限公司(以下簡(jiǎn)稱齊河眾鑫)所持有的萬(wàn)家基金11%的股權(quán),交易雙方共同確定本次交易的標(biāo)的資

發(fā)布時(shí)間: 2022-07-14 09:39
管理   2022-07-14

央行連續(xù)7日每天30億元逆回購(gòu) 對(duì)債市影響如何?

央行12日再次開(kāi)展了30億元逆回購(gòu)操作,中標(biāo)利率2 10%。這已是央行連續(xù)7日每天僅進(jìn)行30億元的逆回購(gòu)縮量投放,創(chuàng)下去年1月以來(lái)的最低操作規(guī)

發(fā)布時(shí)間: 2022-07-13 09:38
資訊   2022-07-13

美元指數(shù)創(chuàng)近20年新高 黃金期貨創(chuàng)出逾9個(gè)月新低

由于對(duì)美聯(lián)儲(chǔ)激進(jìn)加息的擔(dān)憂,美元指數(shù)11日大漲近1%創(chuàng)出近20年新高。受此影響,歐美股市、大宗商品均走弱,而黃金期貨創(chuàng)出逾9個(gè)月新低。美

發(fā)布時(shí)間: 2022-07-13 09:36
資訊   2022-07-13

美股三大股指全線下跌 納斯達(dá)克跌幅創(chuàng)下記錄以來(lái)最大跌幅

今年上半年,美股持續(xù)回落。數(shù)據(jù)顯示,道瓊斯指數(shù)上半年下跌15 3%,納斯達(dá)克綜合指數(shù)下跌29 5%,標(biāo)普500指數(shù)下跌20 6%。其中,納斯達(dá)克連續(xù)

發(fā)布時(shí)間: 2022-07-04 09:51
推薦   2022-07-04

融資客熱情回升 兩市融資余額月內(nèi)增加超344億元

近期A股走強(qiáng),滬指6月以來(lái)上漲4%,融資客熱情明顯回升。數(shù)據(jù)顯示,截至6月16日,兩市融資余額1 479萬(wàn)億元,月內(nèi)增加344 67億元,最近一個(gè)半

發(fā)布時(shí)間: 2022-06-20 09:41
資訊   2022-06-20

4個(gè)交易日凈買(mǎi)入超百億元 北向資金持續(xù)流入A股市場(chǎng)

北向資金凈流入態(tài)勢(shì)延續(xù)。繼6月15日凈買(mǎi)入133 59億元后,北向資金6月16日凈買(mǎi)入44 52億元。自5月27日至今,除6月13日以外,北向資金累計(jì)凈

發(fā)布時(shí)間: 2022-06-17 09:37
推薦   2022-06-17

熱門(mén)TAG

more
美聯(lián)儲(chǔ)今年已將基準(zhǔn)利率從接近零大幅上調(diào)至略高于3% EIA報(bào)告:美國(guó)原油庫(kù)存及戰(zhàn)略儲(chǔ)備減少,汽油及精煉油庫(kù)存輕微波動(dòng) 美國(guó)政府更廣泛推動(dòng)從汽油動(dòng)力汽車(chē)轉(zhuǎn)向電動(dòng)汽車(chē)的一部分 數(shù)據(jù)顯示:今年9月日本船企接單量延續(xù)8月下跌下跌趨勢(shì) 公告顯示:2022年前三季度TCL中環(huán)研發(fā)投入為27億元 占比營(yíng)業(yè)收入5.42% 新的111.75億英鎊注資列在“對(duì)金融機(jī)構(gòu)的援助—支付給英格蘭銀行”標(biāo)題下 本次政府儲(chǔ)備肉投放面向北京18家主要連鎖超市門(mén)店及相關(guān)零售終端投放 有交易員預(yù)計(jì):如果LME不采取措施 接下來(lái)可能將有數(shù)十萬(wàn)噸鋁流入LME 據(jù)報(bào)道:繼德國(guó)最大釀酒商拉德貝格啤酒公司9月宣布漲價(jià) 據(jù)報(bào)道:澳大利亞礦商Pilbara的鋰礦拍賣(mài)價(jià)再創(chuàng)新高 折算后的碳酸鋰成本 中集天達(dá)首次公開(kāi)發(fā)行A股股票 招股書(shū)顯示此次擬公開(kāi)發(fā)行股數(shù)不超過(guò)103, 多家銀行加強(qiáng)綠色金融頂層設(shè)計(jì) 致力于為經(jīng)濟(jì)社會(huì)綠色低碳轉(zhuǎn)型貢獻(xiàn)力量 萊特幣 比特幣 數(shù)字資產(chǎn) 火幣 以太經(jīng)典 比特股 EOS 比特幣現(xiàn)金 量子鏈 Hcash 泰達(dá)幣 瑞波幣 Qcash 比特幣鉆石 超級(jí)比特幣 優(yōu)幣 硬分叉 加密貨幣