-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathsmartContractTest.js
More file actions
192 lines (165 loc) · 22.9 KB
/
smartContractTest.js
File metadata and controls
192 lines (165 loc) · 22.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
"use strict";
//const fs = require ('fs');
//const solc = require('solc');
const ChainsqlAPI = require("../src/index");
const chainsql = new ChainsqlAPI();
const RootUser = {
secret: "xnoPBzXtMeMyMHUVTgbuqAfg1SUTb",
address: "zHb9CJAWyB4zj91VRWn96DkukG4bwdtyTh"
};
const abi = '[{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"amount","type":"uint256"}],"name":"transferToUser","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"returnMixType","outputs":[{"name":"","type":"uint256"},{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"newMem","type":"uint256"}],"name":"setMem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"returnString","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"getMsgSender","outputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getTxOrigin","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"a","type":"uint256"}],"name":"multiply","outputs":[{"name":"d","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"}],"name":"userTransferUser","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"getMem","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"user","type":"address"}],"name":"getBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":true,"stateMutability":"payable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"sender","type":"address"},{"indexed":true,"name":"number","type":"uint256"},{"indexed":false,"name":"result","type":"uint256"}],"name":"multiplylog","type":"event"}]';
const deployBytecode = "0x6080604052610707806100136000396000f3006080604052600436106100a4576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680635f7807a4146100a6578063645c9ac8146100f45780636606873b1461018b5780636cf43347146101c65780637a6ce2e114610256578063b8077e28146102b4578063c6888fa11461030b578063e8b3891e1461035a578063f05913081461039e578063f8b2cb4f146103c9575b005b6100f2600480360360408110156100bc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061042e565b005b34801561010057600080fd5b50610109610479565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561014f578082015181840152602081019050610134565b50505050905090810190601f16801561017c5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561019757600080fd5b506101c4600480360360208110156101ae57600080fd5b81019080803590602001909291905050506104c4565b005b3480156101d257600080fd5b506101db6104ce565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561021b578082015181840152602081019050610200565b50505050905090810190601f1680156102485780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561026257600080fd5b5061026b610531565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b3480156102c057600080fd5b506102c9610542565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561031757600080fd5b506103446004803603602081101561032e57600080fd5b810190808035906020019092919050505061054a565b6040518082815260200191505060405180910390f35b61039c6004803603602081101561037057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610667565b005b3480156103aa57600080fd5b506103b36106b1565b6040518082815260200191505060405180910390f35b3480156103d557600080fd5b50610418600480360360208110156103ec57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106ba565b6040518082815260200191505060405180910390f35b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610474573d6000803e3d6000fd5b505050565b60006060600061029a9050806040805190810160405280601b81526020017f737472696e675465737432666f724d69785479706552657475726e000000000081525092509250509091565b8060008190555050565b60608060405190810160405280602981526020017f737472696e675465737431666f72616c6f6e67537472696e674d6f726574686181526020017f6e33324279746534310000000000000000000000000000000000000000000000815250905090565b600080336006809050915091509091565b600032905090565b60006001821115156105ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f6d75737420696e7075742061206269676765722076616c7565207468616e206f81526020017f6e6500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000600783029050827f414b7ab3d46ecc8ab359636c133f9a1b88ffc8c08e9560da2b3ef7949edf8ca33383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a280915050919050565b8073ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156106ad573d6000803e3d6000fd5b5050565b60008054905090565b60008173ffffffffffffffffffffffffffffffffffffffff163190509190505600a165627a7a723058206503ab514bf3f130f914693d97643dc702c6a46fa16526d2b59a62642b85e82d0029";
const contractAddr = "zcdFPChLUNYXQTV6zr2osrWG8pV7Zyh8FL";
main();
async function main(){
try {
await chainsql.connect("ws://127.0.0.1:6006");
console.log("connected successfully");
chainsql.as(RootUser);
// let contractCode = fs.readFileSync("./solidity-example/solidity-example.sol");
// let compileResult = solc.compile(contractCode.toString(), 1);
// for (var contractName in compileResult.contracts) {
// // code and ABI that are needed by web3
// console.log(contractName + ': ' + compileResult.contracts[contractName].bytecode);
// deployBytecode = "0x" + compileResult.contracts[contractName].bytecode;
// console.log(contractName + ': ' + compileResult.contracts[contractName].interface);
// abi = compileResult.contracts[contractName].interface;
// }
// deployContractAwait();
deployContract();
// callContract();
} catch (error) {
console.log(error);
}
}
function callContract(){
const myContract = chainsql.contract(JSON.parse(abi), contractAddr);
/*use contract call way*/
// contractCall(myContract);
/*methods.events.eventlog*/
// contractEvent(myContract);
/*use contract submit way*/
// contractSubmit(myContract);
getTxSign(myContract);
// callContractWithMsgValue(myContract);
/*get function encodeABI*/
// getFuncEncodeABI(myContract);
getFuncActualParams(myContract);
/*methods.function.auto*/
// contractAuto(myContract);
}
function getTxSign(myContract) {
myContract.methods.set(123).txSign((err, res) => {
err ? console.log(err) : console.log(res);
})
}
function contractSubmit(myContract){
/*methods.function.submit*/
chainsql.payToContract(contractAddr, 2000, 30000000).submit({
expect: "validate_success"
}).then(data => {
console.log(data);
}).catch(err => {
console.log(err);
});
// Promise
// myContract.methods.transferToUser("zLtH4NFSqDFioq5zifriKKLf8xcyyw7VCf", 12000000).submit({
// Gas: 30000000,
// ContractValue : "20000000",
// expect: "validate_success"
// }).then(data => {
// console.log(data);
// }).catch(err => {
// console.log(err);
// });
//callback
// myContract.methods.userTransferUser("zPif8u9YqL8NhHxXGHKxopAaFMZ3rwHF6s").submit({
// Gas: 30000000,
// ContractValue: "12000000",
// expect: "validate_success"
// }, function (err, res) {
// err ? console.log(err) : console.log(res);
// });
}
function contractEvent(myContract){
myContract.events.multiplylog((err, res) => {
err ? console.log(err) : console.log(res);
});
}
function callContractWithMsgValue(contractObj){
contractObj.methods.userTransferUser("zU8gAWTXZgLmaF1XVR8briCdnWXJsT8njM").submit({
Gas: 500000,
ContractValue: "111111",
expect: "validate_success"
}, (err, res) => {
err ? console.log(err) : console.log(res);
});
}
function contractCall(contractObj){
/*methods.function.call*/
contractObj.methods.getMsgSender().call(function (err, res) {
err ? console.log(err) : console.log(res);
});
}
function getFuncEncodeABI(contractObj){
/*methods.function.encodeABI*/
let funInputData = contractObj.methods.setMem(16).encodeABI();
console.log(funInputData);
}
function getFuncActualParams(contractObj){
let bytecode = "0x608060405260405162000c2d38038062000c2d8339818101604052810190620000299190620001b7565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600190805190602001906200008192919062000089565b50506200038c565b82805462000097906200029d565b90600052602060002090601f016020900481019282620000bb576000855562000107565b82601f10620000d657805160ff191683800117855562000107565b8280016001018555821562000107579182015b8281111562000106578251825591602001919060010190620000e9565b5b5090506200011691906200011a565b5090565b5b80821115620001355760008160009055506001016200011b565b5090565b6000620001506200014a8462000231565b62000208565b9050828152602081018484840111156200016f576200016e6200036c565b5b6200017c84828562000267565b509392505050565b600082601f8301126200019c576200019b62000367565b5b8151620001ae84826020860162000139565b91505092915050565b600060208284031215620001d057620001cf62000376565b5b600082015167ffffffffffffffff811115620001f157620001f062000371565b5b620001ff8482850162000184565b91505092915050565b60006200021462000227565b9050620002228282620002d3565b919050565b6000604051905090565b600067ffffffffffffffff8211156200024f576200024e62000338565b5b6200025a826200037b565b9050602081019050919050565b60005b83811015620002875780820151818401526020810190506200026a565b8381111562000297576000848401525b50505050565b60006002820490506001821680620002b657607f821691505b60208210811415620002cd57620002cc62000309565b5b50919050565b620002de826200037b565b810181811067ffffffffffffffff821117156200030057620002ff62000338565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b610891806200039c6000396000f3fe60806040526004361061004e5760003560e01c806341c0e1b5146100515780634ac0d66e1461006857806380cc6ac114610091578063cfae3217146100bc578063fe50cc72146100e75761004f565b5b005b34801561005d57600080fd5b506100666100fe565b005b34801561007457600080fd5b5061008f600480360381019061008a919061045a565b61018d565b005b34801561009d57600080fd5b506100a661020e565b6040516100b3919061063a565b60405180910390f35b3480156100c857600080fd5b506100d161024b565b6040516100de919061063a565b60405180910390f35b3480156100f357600080fd5b506100fc6102dd565b005b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561018b5760008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b565b8060405161019b919061060c565b604051809103902060016040516101b29190610623565b60405180910390207f047dcd1aa8b77b0b943642129c767533eeacd700c7c1eab092b8ce05d2b2faf56001846040516101ec92919061065c565b60405180910390a3806001908051906020019061020a929190610347565b5050565b60606040518060400160405280600581526020017f68656c6c6f000000000000000000000000000000000000000000000000000000815250905090565b60606001805461025a9061079e565b80601f01602080910402602001604051908101604052809291908181526020018280546102869061079e565b80156102d35780601f106102a8576101008083540402835291602001916102d3565b820191906000526020600020905b8154815290600101906020018083116102b657829003601f168201915b5050505050905090565b60016040516102ec9190610623565b604051809103902060016040516103039190610623565b60405180910390207f047dcd1aa8b77b0b943642129c767533eeacd700c7c1eab092b8ce05d2b2faf560018060405161033d929190610693565b60405180910390a3565b8280546103539061079e565b90600052602060002090601f01602090048101928261037557600085556103bc565b82601f1061038e57805160ff19168380011785556103bc565b828001600101855582156103bc579182015b828111156103bb5782518255916020019190600101906103a0565b5b5090506103c991906103cd565b5090565b5b808211156103e65760008160009055506001016103ce565b5090565b60006103fd6103f8846106ef565b6106ca565b90508281526020810184848401111561041957610418610864565b5b61042484828561075c565b509392505050565b600082601f8301126104415761044061085f565b5b81356104518482602086016103ea565b91505092915050565b6000602082840312156104705761046f61086e565b5b600082013567ffffffffffffffff81111561048e5761048d610869565b5b61049a8482850161042c565b91505092915050565b60006104ae82610735565b6104b88185610740565b93506104c881856020860161076b565b6104d181610873565b840191505092915050565b60006104e782610735565b6104f18185610751565b935061050181856020860161076b565b80840191505092915050565b6000815461051a8161079e565b6105248186610740565b9450600182166000811461053f576001811461055157610584565b60ff1983168652602086019350610584565b61055a85610720565b60005b8381101561057c5781548189015260018201915060208101905061055d565b808801955050505b50505092915050565b6000815461059a8161079e565b6105a48186610751565b945060018216600081146105bf57600181146105d057610603565b60ff19831686528186019350610603565b6105d985610720565b60005b838110156105fb578154818901526001820191506020810190506105dc565b838801955050505b50505092915050565b600061061882846104dc565b915081905092915050565b600061062f828461058d565b915081905092915050565b6000602082019050818103600083015261065481846104a3565b905092915050565b60006040820190508181036000830152610676818561050d565b9050818103602083015261068a81846104a3565b90509392505050565b600060408201905081810360008301526106ad818561050d565b905081810360208301526106c1818461050d565b90509392505050565b60006106d46106e5565b90506106e082826107d0565b919050565b6000604051905090565b600067ffffffffffffffff82111561070a57610709610830565b5b61071382610873565b9050602081019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b82818337600083830152505050565b60005b8381101561078957808201518184015260208101905061076e565b83811115610798576000848401525b50505050565b600060028204905060018216806107b657607f821691505b602082108114156107ca576107c9610801565b5b50919050565b6107d982610873565b810181811067ffffffffffffffff821117156107f8576107f7610830565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f830116905091905056fea164736f6c6343000805000a";
let contractData = "0x608060405260405162000C2D38038062000C2D8339818101604052810190620000299190620001B7565B336000806101000A81548173FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF021916908373FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16021790555080600190805190602001906200008192919062000089565B50506200038C565B82805462000097906200029D565B90600052602060002090601F016020900481019282620000BB576000855562000107565B82601F10620000D657805160FF191683800117855562000107565B8280016001018555821562000107579182015B8281111562000106578251825591602001919060010190620000E9565B5B5090506200011691906200011A565B5090565B5B80821115620001355760008160009055506001016200011B565B5090565B6000620001506200014A8462000231565B62000208565B9050828152602081018484840111156200016F576200016E6200036C565B5B6200017C84828562000267565B509392505050565B600082601F8301126200019C576200019B62000367565B5B8151620001AE84826020860162000139565B91505092915050565B600060208284031215620001D057620001CF62000376565B5B600082015167FFFFFFFFFFFFFFFF811115620001F157620001F062000371565B5B620001FF8482850162000184565B91505092915050565B60006200021462000227565B9050620002228282620002D3565B919050565B6000604051905090565B600067FFFFFFFFFFFFFFFF8211156200024F576200024E62000338565B5B6200025A826200037B565B9050602081019050919050565B60005B83811015620002875780820151818401526020810190506200026A565B8381111562000297576000848401525B50505050565B60006002820490506001821680620002B657607F821691505B60208210811415620002CD57620002CC62000309565B5B50919050565B620002DE826200037B565B810181811067FFFFFFFFFFFFFFFF821117156200030057620002FF62000338565B5B80604052505050565B7F4E487B7100000000000000000000000000000000000000000000000000000000600052602260045260246000FD5B7F4E487B7100000000000000000000000000000000000000000000000000000000600052604160045260246000FD5B600080FD5B600080FD5B600080FD5B600080FD5B6000601F19601F8301169050919050565B610891806200039C6000396000F3FE60806040526004361061004E5760003560E01C806341C0E1B5146100515780634AC0D66E1461006857806380CC6AC114610091578063CFAE3217146100BC578063FE50CC72146100E75761004F565B5B005B34801561005D57600080FD5B506100666100FE565B005B34801561007457600080FD5B5061008F600480360381019061008A919061045A565B61018D565B005B34801561009D57600080FD5B506100A661020E565B6040516100B3919061063A565B60405180910390F35B3480156100C857600080FD5B506100D161024B565B6040516100DE919061063A565B60405180910390F35B3480156100F357600080FD5B506100FC6102DD565B005B60008054906101000A900473FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1673FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF163373FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16141561018B5760008054906101000A900473FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1673FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16FF5B565B8060405161019B919061060C565B604051809103902060016040516101B29190610623565B60405180910390207F047DCD1AA8B77B0B943642129C767533EEACD700C7C1EAB092B8CE05D2B2FAF56001846040516101EC92919061065C565B60405180910390A3806001908051906020019061020A929190610347565B5050565B60606040518060400160405280600581526020017F68656C6C6F000000000000000000000000000000000000000000000000000000815250905090565B60606001805461025A9061079E565B80601F01602080910402602001604051908101604052809291908181526020018280546102869061079E565B80156102D35780601F106102A8576101008083540402835291602001916102D3565B820191906000526020600020905B8154815290600101906020018083116102B657829003601F168201915B5050505050905090565B60016040516102EC9190610623565B604051809103902060016040516103039190610623565B60405180910390207F047DCD1AA8B77B0B943642129C767533EEACD700C7C1EAB092B8CE05D2B2FAF560018060405161033D929190610693565B60405180910390A3565B8280546103539061079E565B90600052602060002090601F01602090048101928261037557600085556103BC565B82601F1061038E57805160FF19168380011785556103BC565B828001600101855582156103BC579182015B828111156103BB5782518255916020019190600101906103A0565B5B5090506103C991906103CD565B5090565B5B808211156103E65760008160009055506001016103CE565B5090565B60006103FD6103F8846106EF565B6106CA565B90508281526020810184848401111561041957610418610864565B5B61042484828561075C565B509392505050565B600082601F8301126104415761044061085F565B5B81356104518482602086016103EA565B91505092915050565B6000602082840312156104705761046F61086E565B5B600082013567FFFFFFFFFFFFFFFF81111561048E5761048D610869565B5B61049A8482850161042C565B91505092915050565B60006104AE82610735565B6104B88185610740565B93506104C881856020860161076B565B6104D181610873565B840191505092915050565B60006104E782610735565B6104F18185610751565B935061050181856020860161076B565B80840191505092915050565B6000815461051A8161079E565B6105248186610740565B9450600182166000811461053F576001811461055157610584565B60FF1983168652602086019350610584565B61055A85610720565B60005B8381101561057C5781548189015260018201915060208101905061055D565B808801955050505B50505092915050565B6000815461059A8161079E565B6105A48186610751565B945060018216600081146105BF57600181146105D057610603565B60FF19831686528186019350610603565B6105D985610720565B60005B838110156105FB578154818901526001820191506020810190506105DC565B838801955050505B50505092915050565B600061061882846104DC565B915081905092915050565B600061062F828461058D565B915081905092915050565B6000602082019050818103600083015261065481846104A3565B905092915050565B60006040820190508181036000830152610676818561050D565B9050818103602083015261068A81846104A3565B90509392505050565B600060408201905081810360008301526106AD818561050D565B905081810360208301526106C1818461050D565B90509392505050565B60006106D46106E5565B90506106E082826107D0565B919050565B6000604051905090565B600067FFFFFFFFFFFFFFFF82111561070A57610709610830565B5B61071382610873565B9050602081019050919050565B60008190508160005260206000209050919050565B600081519050919050565B600082825260208201905092915050565B600081905092915050565B82818337600083830152505050565B60005B8381101561078957808201518184015260208101905061076E565B83811115610798576000848401525B50505050565B600060028204905060018216806107B657607F821691505B602082108114156107CA576107C9610801565B5B50919050565B6107D982610873565B810181811067FFFFFFFFFFFFFFFF821117156107F8576107F7610830565B5B80604052505050565B7F4E487B7100000000000000000000000000000000000000000000000000000000600052602260045260246000FD5B7F4E487B7100000000000000000000000000000000000000000000000000000000600052604160045260246000FD5B600080FD5B600080FD5B600080FD5B600080FD5B6000601F19601F830116905091905056FEA164736F6C6343000805000A000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000056473666167000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000056473666167000000000000000000000000000000000000000000000000000000";
let actualParams = contractObj.decodeMethodParams(contractData, bytecode);
console.log(actualParams);
}
function deployContract(){
const myContract = chainsql.contract(JSON.parse(abi));
// Promise
// myContract.deploy({
// ContractData : deployBytecode,
// arguments : [666]
// }).submit({
// ContractValue : "10000000",
// Gas : 400000
// }).then(data => {
// console.log(data);
// }).catch(err => {
// console.log(err);
// });
// callback
myContract.deploy({
ContractData : deployBytecode,
arguments : [666]
}).submit({
ContractValue : "10000000",
Gas : 400000
}, function (err, res) {
err ? console.log(err) : console.log(res);
/* you can call contract function directly here!*/
// myContract.methods.setMem(16).submit({
// Gas: 500000
// }, (err, res) => {
// err ? console.log(err) : console.log(res);
// });
});
}
async function deployContractAwait(){
const myContract = chainsql.contract(JSON.parse(abi));
try {
let deployRes = await myContract.deploy({
ContractData : deployBytecode,
arguments : [666]
}).submit({
ContractValue : "10000000",
Gas : 400000
});
console.log(deployRes);
myContract.methods.setMem(16).submit({
Gas:500000
}, (err, res) => {
err ? console.log(err) : console.log(res);
});
} catch (error) {
console.log(error);
}
}