合约类¶
部署合约¶
Node.JS Example¶
var Remote = require('jingtum-lib').Remote;
var remote = new Remote({server: 'ws://ts5.jingtum.com:5020', local_sign:true});
remote.connect(function (err, result) {
if(err) return console.log('err: ', err);
var options = {account: 'jHb9...tyTh', amount: 10,payload:utils.stringToHex('result={}; function Init(t) result=scGetAccountBalance(t) return result end; function foo(t) result=scGetAccountBalance(t) return result end'),params: ['jHb9...tyTh']};
var tx = remote.deployContractTx(options);
tx.setSecret('sn37...jXUWd');
tx.submit(function(err, result) {
if(err) {return console.log('err:', err);}
console.log('get the latest ledger:', result);
});
});
C# Example¶
var remote = new Remote(@"ws://ts5.jingtum.com:5020", true);
remote.Connect(result =>
{
if (result.Exception != null)
{
Console.Write(result.Exception.Message);
}
else
{
var tx = remote.DeployContractTx(new DeployContractTxOptions
{
Account = "j9FGhAW9dSzL3RjbXkyW6Z6bHGxFk8cmB1",
Amount = 30,
Payload = "result={}; function Init(t) result=scGetAccountInfo(t) return result end; function foo(t) a={} result=scGetAccountInfo(t) return result end;",
Params = new string[] {"j9FGhAW9dSzL3RjbXkyW6Z6bHGxFK8cmB1"}
});
tx.SetSecret("ssG......dNi");
tx.Submit(txResult => {
Console.Write(txResult.Message);
// get result from txResult.Result
// 部署的合约地址在ContractState中
});
}
});
执行合约¶
Node.JS Example¶
var Remote = require('jingtum-lib').Remote;
var remote = new Remote({server: 'ws://ts5.jingtum.com:5020', local_sign:true});
remote.connect(function (err, result) {
if(err) return console.log('err: ', err);
var options = {account: 'jHb9...tyTh', destination: 'j4YVQxC...yPRnHwei', func: 'foo',params: ['jHb9...tyTh']};
var tx = remote.callContractTx(options);
tx.setSecret('sn37...jxUWd');
tx.submit(function(err, result) {
if(err) {return console.log('err:',err);}
console.log('get the latest ledger:', result);
});
});
C# Example¶
var remote = new Remote(@"ws://ts5.jingtum.com:5020", true);
remote.Connect(result =>
{
if (result.Exception != null)
{
Console.Write(result.Exception.Message);
}
else
{
var tx = remote.CallContractTx(new CallContractTxOptions
{
Account = "j9FGhAW9dSzL3RjbXkyW6Z6bHGxFk8cmB1",
Destination = "jaVDaozkmFzCGwuBYL5wQ3SvhnUrySuofn",
Foo = "foo",
Params = new string[] {"j9FGhAW9dSzL3RjbXkyW6Z6bHGxFk8cmB1"}
});
tx.SetSecret("ssGkkAMnKCBkhGVQd9CNzSQv5zdNi");
tx.Submit(txResult => {
Console.Write(txResult.Message);
// get result from txResult.Result
// 执行结果在ContractState中
});
}
});