@@ -32,6 +32,33 @@ import axios from 'axios'
3232import { BigNumber } from 'bignumber.js'
3333import { DDO } from '../transaction/ddo' ;
3434export class SDK {
35+ static SERVER_NODE : string
36+ static REST_PORT : string
37+ static SOCKET_PORT : string
38+
39+ static setServerNode ( node : string ) {
40+ if ( node ) {
41+ SDK . SERVER_NODE = node
42+ return ;
43+ }
44+ throw new Error ( 'Can not set ' + node + 'as server node' )
45+ }
46+
47+ static setRestPort ( port : string ) {
48+ if ( port ) {
49+ SDK . REST_PORT = port
50+ return ;
51+ }
52+ throw new Error ( 'Can not set ' + port + ' as restful port' )
53+ }
54+
55+ static setSocketPort ( port : string ) {
56+ if ( port ) {
57+ SDK . SOCKET_PORT = port
58+ return ;
59+ }
60+ throw new Error ( 'Can not set ' + port + 'as socket port' )
61+ }
3562
3663 static getDecryptError ( err :any ) {
3764 return {
@@ -80,7 +107,8 @@ export class SDK {
80107 socket . close ( )
81108 }
82109 }
83- var txSender = new TxSender ( ONT_NETWORK . TEST )
110+ let socket = `ws://${ SDK . SERVER_NODE } :${ SDK . SOCKET_PORT } `
111+ var txSender = new TxSender ( socket )
84112 txSender . sendTxWithSocket ( param , socketCallback )
85113 // callback && sendBackResult2Native(JSON.stringify(obj), callback)
86114 return obj
@@ -90,10 +118,8 @@ export class SDK {
90118 password : string , callback ?: string ) {
91119 let identity = new Identity ( )
92120 let wallet = Wallet . parseJson ( walletDataStr )
93- let privateKey = ''
94121 try {
95122 //TODO check ontid
96- privateKey = scrypt . decrypt ( encryptedPrivateKey , password )
97123 identity = Identity . importIdentity ( label , encryptedPrivateKey , password )
98124 } catch ( err ) {
99125 let obj = this . getDecryptError ( err )
@@ -109,9 +135,10 @@ export class SDK {
109135 desc : ''
110136 }
111137 //check ontid on chain
112- let tx = buildGetDDOTx ( identity . ontid , privateKey )
138+ let tx = buildGetDDOTx ( identity . ontid )
113139 let param = buildRestfulParam ( tx )
114- let url = sendRawTxRestfulUrl ( TEST_ONT_URL . REST_URL , true )
140+ let restUrl = `http://${ SDK . SERVER_NODE } :${ SDK . REST_PORT } /`
141+ let url = sendRawTxRestfulUrl ( restUrl , true )
115142 axios . post ( url , param ) . then ( ( res :any ) => {
116143 if ( res . data . Result && res . data . Result . length > 0 && res . data . Result [ 0 ] !== '0000000000000000' ) {
117144
@@ -130,9 +157,7 @@ export class SDK {
130157 static importIdentity ( label : string , encryptedPrivateKey : string , password : string , callback ?: string ) {
131158 let identity = new Identity ( )
132159 let error = { }
133- let privateKey
134160 try {
135- privateKey = scrypt . decrypt ( encryptedPrivateKey , password )
136161 identity = Identity . importIdentity ( label , encryptedPrivateKey , password )
137162 let wallet = new Wallet ( )
138163 wallet . create ( identity . label )
@@ -145,10 +170,11 @@ export class SDK {
145170 desc : ''
146171 }
147172 //check ontid on chain
148- let tx = buildGetDDOTx ( identity . ontid , privateKey )
173+ let tx = buildGetDDOTx ( identity . ontid )
149174 let param = buildRestfulParam ( tx )
150- let url = sendRawTxRestfulUrl ( TEST_ONT_URL . REST_URL , true )
151- axios . post ( url , param ) . then ( ( res : any ) => {
175+ let restUrl = `http://${ SDK . SERVER_NODE } :${ SDK . REST_PORT } /`
176+ let url = sendRawTxRestfulUrl ( restUrl , true )
177+ return axios . post ( url , param ) . then ( ( res : any ) => {
152178 if ( res . data . Result && res . data . Result . length > 0 && res . data . Result [ 0 ] !== '0000000000000000' ) {
153179
154180 } else {
@@ -163,7 +189,7 @@ export class SDK {
163189 } catch ( err ) {
164190 error = this . getDecryptError ( err )
165191 callback && sendBackResult2Native ( JSON . stringify ( error ) , callback )
166- return error
192+ return Promise . reject ( error )
167193 }
168194 }
169195
@@ -180,8 +206,9 @@ export class SDK {
180206 //register ontid
181207 let tx = buildRegisterOntidTx ( identity . ontid , privateKey )
182208 let param = buildRestfulParam ( tx )
183- const url = TEST_ONT_URL . sendRawTxByRestful
184- axios . post ( url , param ) . then ( ( res : any ) => {
209+ let restUrl = `http://${ SDK . SERVER_NODE } :${ SDK . REST_PORT } ${ REST_API . sendRawTx } `
210+
211+ axios . post ( restUrl , param ) . then ( ( res : any ) => {
185212 if ( res . data . Error === 0 ) {
186213 callback && sendBackResult2Native ( JSON . stringify ( obj ) , callback )
187214 } else {
@@ -322,7 +349,8 @@ export class SDK {
322349 // let txId = core.getHash(tx.serialize())
323350 let param = buildTxParam ( tx )
324351 //通过socket能获得推送的结果
325- var txSender = new TxSender ( ONT_NETWORK . TEST )
352+ let socket = `ws://${ SDK . SERVER_NODE } :${ SDK . SOCKET_PORT } `
353+ var txSender = new TxSender ( socket )
326354 const socketCallback = function ( res : any , socket : any ) {
327355 console . log ( 'res: ' + JSON . stringify ( res ) )
328356 if ( res . Action === 'InvokeTransaction' && res . Error === 0 ) {
@@ -365,7 +393,7 @@ export class SDK {
365393 if ( address . length === 40 ) {
366394 address = core . u160ToAddress ( address )
367395 }
368- let request = `http://${ TEST_NODE } :${ HTTP_REST_PORT } ${ REST_API . getBalance } /${ address } `
396+ let request = `http://${ SDK . SERVER_NODE } :${ SDK . REST_PORT } ${ REST_API . getBalance } /${ address } `
369397 axios . get ( request ) . then ( ( res : any ) => {
370398 if ( res . data . Error === 0 ) {
371399 let result = res . data . Result
@@ -423,7 +451,7 @@ export class SDK {
423451
424452 let tx = makeTransferTransaction ( 'ONT' , from , to , value , privateKey )
425453 var param = buildRestfulParam ( tx )
426- let request = `http://${ TEST_NODE } :${ HTTP_REST_PORT } ${ REST_API . sendRawTx } `
454+ let request = `http://${ SDK . SERVER_NODE } :${ SDK . REST_PORT } ${ REST_API . sendRawTx } `
427455 axios . post ( request , param ) . then ( ( res :any ) => {
428456 console . log ( 'transfer response: ' + JSON . stringify ( res . data ) )
429457 if ( res . data . Error === 0 ) {
0 commit comments