{"_id":"thinkium-web3js","_rev":"27-8505fdbfa666a83d524bb51a16162777","name":"thinkium-web3js","dist-tags":{"latest":"1.2.0-app","alpha":"1.0.16-2"},"versions":{"1.0.3":{"name":"thinkium-web3js","version":"1.0.3","description":"Ethereum JavaScript API, middleware to talk to a ethereum node over RPC","main":"./index.js","directories":{"lib":"./lib"},"dependencies":{"bignumber.js":"^8.1.1","crypto-js":"^3.1.4","describe":"^1.2.0","ethereumjs-abi":"^0.6.8","ethereumjs-util":"^6.1.0","ethjs-util":"^0.1.6","mongodb":"^3.1.10","solc":"^0.5.0","utf8":"^2.1.1","xhr2-cookies":"^1.1.0","xmlhttprequest":"*"},"browser":{"xmlhttprequest":"./lib/utils/browser-xhr.js"},"devDependencies":{"bower":">=1.4.1","browserify":">=10.0","chai":"^3.5.0","coveralls":"^3.0.2","del":">=2.0.2","exorcist":"^0.4.0","gulp":"^4.0.0","gulp-jshint":">=1.5.0","gulp-rename":">=1.2.0","gulp-replace":"^0.5.3","gulp-streamify":"0.0.5","gulp-uglify":">=1.2.0","gulp-uglify-es":"^1.0.4","istanbul":"^0.4.4","jshint":"^2.9.6","mocha":"^5.2.0","lodash":">=4.17.13","cached-path-relative":">=1.0.2","js-yaml":">=3.13.1","lodash.template":">=4.5.0","lodash.merge":">=4.6.2","handlebars":">=4.0.14","sandboxed-module":"^2.0.2","vinyl-source-stream":"^2.0.0"},"scripts":{"build":"gulp","watch":"gulp watch","lint":"jshint *.js lib","test":"mocha; jshint *.js lib","test-coveralls":"istanbul cover _mocha -- -R spec && cat coverage/lcov.info | coveralls --verbose"},"repository":{"type":"git","url":"git+https://github.com/Thinkium-Blockchain/web3.js.git"},"homepage":"https://github.com/Thinkium-Blockchain/web3.js","bugs":{"url":"https://github.com/Thinkium-Blockchain/web3.js/issues"},"keywords":["ethereum","javascript","API"],"license":"LGPL-3.0","gitHead":"e6fd59ee75d0a27862a2016cd0953fa4d8f358b8","_id":"thinkium-web3js@1.0.3","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Sp1w7Tw3NNJfI3nrzwflUKdqomcdpMUX+UdAW4J69eBS4X0ZQZpiyG+8Ua4WMzZVkQXkkXsQf6eHqa0cOfRIHA==","shasum":"13fe67abafd08b1ddd7f7ba63c8c592961d39a5c","tarball":"https://registry.npmjs.org/thinkium-web3js/-/thinkium-web3js-1.0.3.tgz","fileCount":191,"unpackedSize":5150769,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDp/fCRA9TVsSAnZWagAAymUP/i2VdLiS2cLb5ssYiDXM\n61RvYxnEX1x/rs4Qly2PlpatZwFf0pNA0FNUd9rHco0BpjVCpSnLoRLZGWQG\nU+SQiVklPnRdk1X2t+gN2soz21O0tbgQiS0N2XL4j7HReEmfV4F+baI0Cd83\npUvQlNSjIG9kR+zleerp0F0hDWhR6p87V7/tUC0s8sRtFyQUJ42+S/T3F855\nl3Z9bC9v3PKgKAs2dUYObGjWr/HcBF43g3f7sPcIP2jvoh2W1GFiLn6zSvIK\neA1ePhdMVFrDXcc81rDe0e9Vy670lE8Fa2PjOtsd7Nst5B2wjavScwAb0/77\nE2SQpOObmO4xrdBTNejMvHcIpopSb69VQnh1+05JbXcfH7S24Uhr5hu8zkrD\nftlRPn27h9UV2JjjuIQiS5GGNhyR626BIHDwSfL/0spO285tch19QZvAKRYR\nxv0hk1BGp0BQdnoICw/bc5TvQ80eGKOqjG3eNPvMN/NtFU2J60qF1LpUOQbY\nSow0F3+q/SN9NS1pxUMybkP0siZWatxPgFiIoSZVXY2Z/DliTbuTlqnPOlTU\nuE7oqIV0/dazFNNhg/PBHPnomF+HUMg2uYBRYF4iSe+iFjXC78iIOMjfKgmJ\n4rMU94KOMkxcayQ9tGoBGolZV1Y1lPXKiGl1KGMgK3JD0w67qmchT3gEFNRN\nAWSV\r\n=FuVd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDvSOx4S+t5+q0jSJ5JCBgmDHjfkQb78a91EVB+6LT4ewIgYKlssx+EMxlbCt726+0+DuiZhH4GopvYAyqLGxglaHE="}]},"maintainers":[{"name":"fankouzu","email":"cuijin@aitj.com"}],"_npmUser":{"name":"fankouzu","email":"cuijin@aitj.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/thinkium-web3js_1.0.3_1594793950339_0.7253575956281908"},"_hasShrinkwrap":false},"1.0.4":{"name":"thinkium-web3js","version":"1.0.4","description":"Ethereum JavaScript API, middleware to talk to a ethereum node over RPC","main":"./index.js","directories":{"lib":"./lib"},"dependencies":{"bignumber.js":"^8.1.1","crypto-js":"^3.1.4","describe":"^1.2.0","ethereumjs-abi":"^0.6.8","ethereumjs-util":"^6.1.0","ethjs-util":"^0.1.6","mongodb":"^3.1.10","solc":"^0.5.0","utf8":"^2.1.1","xhr2-cookies":"^1.1.0","xmlhttprequest":"*"},"browser":{"xmlhttprequest":"./lib/utils/browser-xhr.js"},"devDependencies":{"bower":">=1.4.1","browserify":">=10.0","chai":"^3.5.0","coveralls":"^3.0.2","del":">=2.0.2","exorcist":"^0.4.0","gulp":"^4.0.0","gulp-jshint":">=1.5.0","gulp-rename":">=1.2.0","gulp-replace":"^0.5.3","gulp-streamify":"0.0.5","gulp-uglify":">=1.2.0","gulp-uglify-es":"^1.0.4","istanbul":"^0.4.4","jshint":"^2.9.6","mocha":"^5.2.0","lodash":">=4.17.13","cached-path-relative":">=1.0.2","js-yaml":">=3.13.1","lodash.template":">=4.5.0","lodash.merge":">=4.6.2","handlebars":">=4.0.14","sandboxed-module":"^2.0.2","vinyl-source-stream":"^2.0.0"},"scripts":{"build":"gulp","watch":"gulp watch","lint":"jshint *.js lib","test":"mocha; jshint *.js lib","test-coveralls":"istanbul cover _mocha -- -R spec && cat coverage/lcov.info | coveralls --verbose"},"repository":{"type":"git","url":"git+https://github.com/Thinkium-Blockchain/web3.js.git"},"homepage":"https://github.com/Thinkium-Blockchain/web3.js","bugs":{"url":"https://github.com/Thinkium-Blockchain/web3.js/issues"},"keywords":["ethereum","javascript","API"],"license":"LGPL-3.0","gitHead":"c682e88f086f0e131907c66b2be547ac3dd709d9","_id":"thinkium-web3js@1.0.4","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Hkd0XgpupKtrZ7DKl6HD0bM+TNl30I5YVNNAbaGrGSKcHOb/PrpZSCkxDfsaGyn/GJgdN+XUnPyY4+MYq6kFcw==","shasum":"506d0a3c9efb5fdf507589bfc7b0405fb1eae58f","tarball":"https://registry.npmjs.org/thinkium-web3js/-/thinkium-web3js-1.0.4.tgz","fileCount":191,"unpackedSize":5150618,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDqJoCRA9TVsSAnZWagAAQNsP/R4gkFJ5LyuylnWw6cn0\nmhE9oOXP7Ttrs68+FS6bnp7wECccqFFAMXQORyc3YHFDbaJW79e9dXNZfRVa\nkFz0uCOyl+02lfj8Upcy8bN2jqo3SrGpb1QyX1+AcWQMikTG7P5KmK/cFy52\nGkqsvroAIonJ259tp0We4O6DdQ9cH1BfHk3srqY14Rul6MuvSVTmN1oQUBk6\nsIMILu0KtqWx8cJG8JWJGsaoQ11l015Kf7LcUkWHcNI7PMDbFVhBZiA3yLLH\nz42j7RpSI11SvKYBLjRtaGw4T4j+Gkr3WQcx5nvUke5CKXi/dvjS3Bp7yLhA\nheW5PyDRiiFpcLYgue05FIy7j41lg+jLCl0ZqWcsp4MYXHRxZhSrFi/rrcXq\nw+d6dNkl4/4o3AETuIIUBkFyZy7dpl8IZ9xmx5ty9s6FAWUz5Es/zj2yJWov\n+FyM+yD+x8SEkT9ZHi3VWo0kgDvsjIGTaVeXTIL1FC7rc8dc0uy+85qymu6u\na0p8+yTzhsfrgrQW3hjiQje+i7PJWpZsfvN8skOu8RP4z4v+2YBwORgb4Nbw\njqZ9QMhZMO2Uax95EqwAZqyb7abrdQ18P2T9lmARd7B51znDML3XgaPlFvfk\nDQVYgJrA1LVlLsID8WwLacdtXLz8TP+LqymIjSQrt2dAlG+uPisALpCxueMh\nTxtp\r\n=57P9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF43MW/RkatrqBT0klVIRVFz97QJIYQmgy0XqRmOp7mrAiAAptOUiSXtoHNNXaZcEsT2uSCDi73x8flgiXqR9ay6Dw=="}]},"maintainers":[{"name":"fankouzu","email":"cuijin@aitj.com"}],"_npmUser":{"name":"fankouzu","email":"cuijin@aitj.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/thinkium-web3js_1.0.4_1594794600050_0.10321182250591421"},"_hasShrinkwrap":false},"1.0.5":{"name":"thinkium-web3js","version":"1.0.5","description":"Ethereum JavaScript API, middleware to talk to a ethereum node over RPC","main":"./index.js","directories":{"lib":"./lib"},"dependencies":{"bignumber.js":"^8.1.1","crypto-js":"^3.1.4","describe":"^1.2.0","ethereumjs-abi":"^0.6.8","ethereumjs-util":"^6.1.0","ethjs-util":"^0.1.6","mongodb":"^3.1.10","solc":"^0.5.0","utf8":"^2.1.1","xhr2-cookies":"^1.1.0","xmlhttprequest":"*"},"browser":{"xmlhttprequest":"./lib/utils/browser-xhr.js"},"devDependencies":{"bower":">=1.4.1","browserify":">=10.0","chai":"^3.5.0","coveralls":"^3.0.2","del":">=2.0.2","exorcist":"^0.4.0","gulp":"^4.0.0","gulp-jshint":">=1.5.0","gulp-rename":">=1.2.0","gulp-replace":"^0.5.3","gulp-streamify":"0.0.5","gulp-uglify":">=1.2.0","gulp-uglify-es":"^1.0.4","istanbul":"^0.4.4","jshint":"^2.9.6","mocha":"^5.2.0","lodash":">=4.17.13","cached-path-relative":">=1.0.2","js-yaml":">=3.13.1","lodash.template":">=4.5.0","lodash.merge":">=4.6.2","handlebars":">=4.0.14","sandboxed-module":"^2.0.2","vinyl-source-stream":"^2.0.0"},"scripts":{"build":"gulp","watch":"gulp watch","lint":"jshint *.js lib","test":"mocha; jshint *.js lib","test-coveralls":"istanbul cover _mocha -- -R spec && cat coverage/lcov.info | coveralls --verbose"},"repository":{"type":"git","url":"git+https://github.com/Thinkium-Blockchain/web3.js.git"},"homepage":"https://github.com/Thinkium-Blockchain/web3.js","bugs":{"url":"https://github.com/Thinkium-Blockchain/web3.js/issues"},"keywords":["ethereum","javascript","API"],"license":"LGPL-3.0","gitHead":"4c96fa67c9e19a33ef117ec21b83ceea69addd59","_id":"thinkium-web3js@1.0.5","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-zR603vqnrIQBDvGVsAcKJLw+ffOGkUr3ZnjL6bBfHjvX5LSVtcJ+E7BeBRC6db44iNGKHhOy6WzQoHZaPbRZFQ==","shasum":"69c73606a1d20a16702f6093dd7dc7c32f545c15","tarball":"https://registry.npmjs.org/thinkium-web3js/-/thinkium-web3js-1.0.5.tgz","fileCount":194,"unpackedSize":5153218,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfD+cQCRA9TVsSAnZWagAAgCgP/AhjVL55SdbPmtt/Q11u\nzkc+rf64yxILtlmQanVmUhRM4vXuzstmNKLa9qhN/R9YaCnl9S+vFgFlPnPi\nrLijoQH2A70QXNWDKyLiqJAJNz1Qv/jFQ14WZqGQkQwqVHF8oCTKhl2dA2Ud\nrj9T2BkvZ3MyoI54pEIvMrgY/j77dlo3/3u2o3Q96VEy99G9fTXmg3jh+3OI\n2Yg9eiZ0li8V5Ge5Pgj40DrUxp1gVQTUXYeUQwOGociy9Hru+QOBve3Tq8TV\nAWNgQGHlqRRS8ZVtgzmrbYR1DeptRoduA+Y7frTC1x2X0h+cYfywVmvghIcb\nXdo4cXmc3THLePkkh/JnZqj7+aqHSQ/Q+MCCMDmuoITHwOJe1GPexT6mrBNn\noZJPVt0EV2/a/oMQbV6A1NZYckPwyXYDf4Mp+APyo3VMbytV/gp67Ysr95IS\nVzgjBu7tMf5bzXGY9FxoqKtSi4i+8Fa5deEX+qkFy/7GFLJRPdqb2kxt6S0R\n6bJaZMVhif+Hpp0SsTo9HLkCGBktbJ+VgbLTnRj3Zfd41AKQUUVYLkqTFl1I\nEZxtU/pAVr5bXKrOzcPLYIvuNAYzuWTl0QXY8ArGfJJXDN8guRNfs8z7chAB\n+HsLcTLyQ2VsMe95aCyb3mRiazSQy1eR+qEWFZhJiJlwIuX9gyDIRLX6wvFp\nOOAU\r\n=0730\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICsRw0rj7J0tBG1tcU3aI8RHUjPCBDdYmnYWQg1nQ296AiEArmFFTNiAf+kxe1yjI11w6zUspJAA+4fTQkXSiv+xFtk="}]},"maintainers":[{"name":"fankouzu","email":"cuijin@aitj.com"}],"_npmUser":{"name":"fankouzu","email":"cuijin@aitj.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/thinkium-web3js_1.0.5_1594877711242_0.7052567088080601"},"_hasShrinkwrap":false},"1.0.6":{"name":"thinkium-web3js","version":"1.0.6","description":"Ethereum JavaScript API, middleware to talk to a ethereum node over RPC","main":"./index.js","directories":{"lib":"./lib"},"dependencies":{"bignumber.js":"^8.1.1","crypto-js":"^3.1.4","describe":"^1.2.0","ethereumjs-abi":"^0.6.8","ethereumjs-util":"^6.1.0","ethjs-util":"^0.1.6","mongodb":"^3.1.10","solc":"^0.5.0","utf8":"^2.1.1","xhr2-cookies":"^1.1.0","xmlhttprequest":"*"},"browser":{"xmlhttprequest":"./lib/utils/browser-xhr.js"},"devDependencies":{"bower":">=1.4.1","browserify":">=10.0","chai":"^3.5.0","coveralls":"^3.0.2","del":">=2.0.2","exorcist":"^0.4.0","gulp":"^4.0.0","gulp-jshint":">=1.5.0","gulp-rename":">=1.2.0","gulp-replace":"^0.5.3","gulp-streamify":"0.0.5","gulp-uglify":">=1.2.0","gulp-uglify-es":"^1.0.4","istanbul":"^0.4.4","jshint":"^2.9.6","mocha":"^5.2.0","lodash":">=4.17.13","cached-path-relative":">=1.0.2","js-yaml":">=3.13.1","lodash.template":">=4.5.0","lodash.merge":">=4.6.2","handlebars":">=4.0.14","sandboxed-module":"^2.0.2","vinyl-source-stream":"^2.0.0"},"scripts":{"build":"gulp","watch":"gulp watch","lint":"jshint *.js lib","test":"mocha; jshint *.js lib","test-coveralls":"istanbul cover _mocha -- -R spec && cat coverage/lcov.info | coveralls --verbose"},"repository":{"type":"git","url":"git+https://github.com/Thinkium-Blockchain/web3.js.git"},"homepage":"https://github.com/Thinkium-Blockchain/web3.js","bugs":{"url":"https://github.com/Thinkium-Blockchain/web3.js/issues"},"keywords":["ethereum","javascript","API"],"license":"LGPL-3.0","gitHead":"82ed9b80ba5e63b6e5470e409d4ac002ab17a91b","_id":"thinkium-web3js@1.0.6","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-MQKKN/UmE0AzdJFt4lXwvQ+gxXX+cOW09km5PhsPL+6Cq65/n/+tpLn/0lbLqQGMjfyZ6ZJhcndfFy9EXqUnIA==","shasum":"b6820148ace61dc5a9abcc5ae664868389ea8f33","tarball":"https://registry.npmjs.org/thinkium-web3js/-/thinkium-web3js-1.0.6.tgz","fileCount":194,"unpackedSize":5153246,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfD+iFCRA9TVsSAnZWagAAfEgQAIJ5xC4EFUhvYGAHlKZG\nuFXatTCtRAcVWkc9dpKuMJrwhEY/GmTaqSxh/baifnxm7CwXC6d2LdRl2hqM\nLe9ehHfMkbVEUCYzLSVOBF4zZUYujuPL+PR1B1PdXMEdKIiuZHt/EaWjzQZw\nm0Mnpl2iYx4kA2TMBOPnbevhy+0WXT32eH+7FPJeDwliolajIeSc3cv2FB8F\nizEW6UADJHsLZX7OjqMGgS82it63I6oXg48cO/EgeSP2iz4APJl1qv0Y2/2n\n2yalWwEUDsLt2xTFNOWfcpp6HhV3S7B1Z90zvxdhyOvl76SKUxroDtGqvIue\no0BoYmpfkSj9gCtWLdwDmkV4bLX3Hf+4d4IjNDYA/RAjADl1SuMvzdnoFzVY\netPOUmacTILLYSR78+/sXcRwOdQPTFXvasczi+K6ZBUIv/Pawd5Ey4G1GDjk\njg5KW8RQ0cjgJxWHU7b92vVBFDmBUzgKtHOsgE4NRo42y7xUfTLgA0v6om2S\nbJl8TbtsKSdL6fo2eDnqLoLMWyYUAtOk+H63c0J9WuRaF+xjcxMZglqptxUA\nwAHbXz/qRDYScW8d6dR+hdTup6O7KNramB+ZODYoh+GxnsngVUB8VDwWmz7z\nv/FWue9n7qQwFrPkOyu6nRjg+b+SKMn+f74tHqPoE8OJdryLBhSovs5TmLzM\nUPs8\r\n=qgT7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCFmzdEAD9qHTsmepQHVWg59GXPhBR6ZZGqCpEnpug9ogIhAKB7SCWb1YESQ6PTdr8cEqZUY6IDol2dvxdbJB7KlRRN"}]},"maintainers":[{"name":"fankouzu","email":"cuijin@aitj.com"}],"_npmUser":{"name":"fankouzu","email":"cuijin@aitj.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/thinkium-web3js_1.0.6_1594878085110_0.5555266378954968"},"_hasShrinkwrap":false},"1.0.7":{"name":"thinkium-web3js","version":"1.0.7","description":"Ethereum JavaScript API, middleware to talk to a ethereum node over RPC","main":"./index.js","directories":{"lib":"./lib"},"dependencies":{"bignumber.js":"^8.1.1","crypto-js":"^3.1.4","describe":"^1.2.0","ethereumjs-abi":"^0.6.8","ethereumjs-util":"^6.1.0","ethjs-util":"^0.1.6","mongodb":"^3.1.10","solc":"^0.5.0","utf8":"^2.1.1","xhr2-cookies":"^1.1.0","xmlhttprequest":"*"},"browser":{"xmlhttprequest":"./lib/utils/browser-xhr.js"},"devDependencies":{"bower":">=1.4.1","browserify":">=10.0","chai":"^3.5.0","coveralls":"^3.0.2","del":">=2.0.2","exorcist":"^0.4.0","gulp":"^4.0.0","gulp-jshint":">=1.5.0","gulp-rename":">=1.2.0","gulp-replace":"^0.5.3","gulp-streamify":"0.0.5","gulp-uglify":">=1.2.0","gulp-uglify-es":"^1.0.4","istanbul":"^0.4.4","jshint":"^2.9.6","mocha":"^5.2.0","lodash":">=4.17.13","cached-path-relative":">=1.0.2","js-yaml":">=3.13.1","lodash.template":">=4.5.0","lodash.merge":">=4.6.2","handlebars":">=4.0.14","sandboxed-module":"^2.0.2","vinyl-source-stream":"^2.0.0"},"scripts":{"build":"gulp","watch":"gulp watch","lint":"jshint *.js lib","test":"mocha; jshint *.js lib","test-coveralls":"istanbul cover _mocha -- -R spec && cat coverage/lcov.info | coveralls --verbose"},"repository":{"type":"git","url":"git+https://github.com/Thinkium-Blockchain/web3.js.git"},"homepage":"https://github.com/Thinkium-Blockchain/web3.js","bugs":{"url":"https://github.com/Thinkium-Blockchain/web3.js/issues"},"keywords":["ethereum","javascript","API"],"license":"LGPL-3.0","gitHead":"b2c36aeef412f03dc74f9f7266321ef46e12fa64","_id":"thinkium-web3js@1.0.7","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-3vWEkId/R6BuY+WvSedeKO9prUYzO6Zm1DOagZOSZwsaj8IiJKKdhIa4FXtHrSyJag4CIDVSAAr1LsWlVG2jqw==","shasum":"23b387c71c6559a52f48a0417482a450a96f0964","tarball":"https://registry.npmjs.org/thinkium-web3js/-/thinkium-web3js-1.0.7.tgz","fileCount":194,"unpackedSize":5153246,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfD/C0CRA9TVsSAnZWagAALUcP/3HgFwpjMqpNoIG3pxhg\nZW9AyfwklSRSTF7+AJ5N75JqL7SavU/+BtClnZ6EXSRJiFiTA1aH0u6XNPas\nnXAzgo8C/BZPPrtIQOYKKzOrDzdomL2KctwuoR6B5dZ+aekoJToooUIL/5Fh\nQyVD6LcGj5xsmpjfQTof/7YZBCJD2SvFNLRaj8RHhzSgTXMI1F6NSRri6PN8\nI3oaptFbzYu0RBup1xGlCD/UafjGQmtzRjKp1+TspB5nM9lO45W9KZI7BnUv\n5Gcq9PfDSkkLPnb3JxGqGd2Y8AJHRrjhhkiNtTDsBqozChcLM4FuA6hP6qm4\nRaWP/nWhCddlWMmlOgClllkBtkHipaeWWAQ8z0gIFipr56yYpzjko7gquE7Q\nHmGy/mE4ur+mrvNzpoZJ9RRbucNlfLFMaPVUcX6U8PN+w62eHqRpxOHwKx2q\n3kDkrK6uzoAP0IdJCI8sD16mPPHPJF7iwC2uopFMHerrdG5M6VLO6V5KK2ST\nwWM1Tu7WWhw6zmJ4TtRD3blLZtv2LGriu0kZIkw13MzlJt6N0NA7nIgwR/s1\nKRF2c3obxVmNoXxEcdsp5K1klSUHANk9qXY7V5bzeH5Xq5xPjitAe1gTnbzX\nijvk5JA+5Rvntvc29pYBPr2XKhJvjbukhmTzw3oFUknkPE9geiJMv5MJkUPN\n4XXD\r\n=Lyjp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDpZE5IdSQ3qAQb5NPz3XuSbdDwfpFCFuTL5aVUfIsHTgIgBKl1v5ZLb4KHg+ZtTYmpuEaLL4T7UaGJTwgvLyLCd5Y="}]},"maintainers":[{"name":"fankouzu","email":"cuijin@aitj.com"}],"_npmUser":{"name":"fankouzu","email":"cuijin@aitj.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/thinkium-web3js_1.0.7_1594880179542_0.9905216183881682"},"_hasShrinkwrap":false},"1.0.8":{"name":"thinkium-web3js","version":"1.0.8","description":"Ethereum JavaScript API, middleware to talk to a ethereum node over RPC","main":"./index.js","directories":{"lib":"./lib"},"dependencies":{"bignumber.js":"^8.1.1","crypto-js":"^3.1.4","describe":"^1.2.0","ethereumjs-abi":"^0.6.8","ethereumjs-util":"^6.1.0","ethjs-util":"^0.1.6","mongodb":"^3.1.10","solc":"^0.5.0","utf8":"^2.1.1","xhr2-cookies":"^1.1.0","xmlhttprequest":"*"},"browser":{"xmlhttprequest":"./lib/utils/browser-xhr.js"},"devDependencies":{"bower":">=1.4.1","browserify":">=10.0","chai":"^3.5.0","coveralls":"^3.0.2","del":">=2.0.2","exorcist":"^0.4.0","gulp":"^4.0.0","gulp-jshint":">=1.5.0","gulp-rename":">=1.2.0","gulp-replace":"^0.5.3","gulp-streamify":"0.0.5","gulp-uglify":">=1.2.0","gulp-uglify-es":"^1.0.4","istanbul":"^0.4.4","jshint":"^2.9.6","mocha":"^5.2.0","lodash":">=4.17.13","cached-path-relative":">=1.0.2","js-yaml":">=3.13.1","lodash.template":">=4.5.0","lodash.merge":">=4.6.2","handlebars":">=4.0.14","sandboxed-module":"^2.0.2","vinyl-source-stream":"^2.0.0"},"scripts":{"build":"gulp","watch":"gulp watch","lint":"jshint *.js lib","test":"mocha; jshint *.js lib","test-coveralls":"istanbul cover _mocha -- -R spec && cat coverage/lcov.info | coveralls --verbose"},"repository":{"type":"git","url":"git+https://github.com/Thinkium-Blockchain/web3.js.git"},"homepage":"https://github.com/Thinkium-Blockchain/web3.js","bugs":{"url":"https://github.com/Thinkium-Blockchain/web3.js/issues"},"keywords":["ethereum","javascript","API"],"license":"LGPL-3.0","gitHead":"17df9fcb57b4610ec28f086b07071396c7bb6617","_id":"thinkium-web3js@1.0.8","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-XSK3o+zrlm9NLZOqkV+rQbrsyvl5n/IuL4l/Q1JLbvLrVLw1sbPEDCs2y2ZnVwDHWynXo8T2EGZBplyW/s08JQ==","shasum":"cf3ef548792de183feb91b28dd11fd18e30917d2","tarball":"https://registry.npmjs.org/thinkium-web3js/-/thinkium-web3js-1.0.8.tgz","fileCount":194,"unpackedSize":5153250,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfD/FpCRA9TVsSAnZWagAArnMP/0o8fsy3abj9hhEZTWl5\nE4NxA5E3Hme+GJgS88228nh/IFmfn6k9Flmokth8dWEnIBnDBP2c3HQWRKCk\n6tCd1l3LlQrjLZ2nw3nJrmJihkB1tQ2WDiuET19K8hKR3s9gBdQspN/w0i3j\nJz0qzNBk9sF44SoTQmrGaO0e92MSkYeYDhyArzxfYel7F3AkafIfhtKJknRm\n4HW175GHnr0mv2FbyaQIkJGwCStwi4GXj0SiplLpw1lIOOqTbfrhPJHuwV2g\n/CzMbZ7y1ruvUEecB33mrp7/s7HN8Drjy8A1dyGHK+1gwt80YW4D4cDbAxal\ncgktnVn3mTpv7AlBVO0n7urSxhm1Fv9S0xwdDQDUTrSjwq1V5iBzDGnhtD1a\n5VmZcwRbHwEiBPRx3VXqTOANC1GEkL33cOd9TXw325vA3Cal3g1YIt/TVQ6g\nsIk9fqhkGZAKpHFP4f3wM3elCDpdf43P/WKybem9EDAOukO34m4LrDKWXGom\nwU5to0KfUOhPJ+n6NCAmZqLoSnrMZoS0yMm0n7DUcQzYzAMq6YvB4JoMNR9q\nIAW/6xyaSnbeLLW9gNCoMH5E4jqigOwP7WW8HPSUWZjw4F9iRoRSqraRg5U8\nv3nWXRj7NKp99ndkqbIdIy6NxhT8lmxdE6CrIKdrB2xD9VfzkNz9dP/ejdWH\nyudu\r\n=Z0zH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCWZd8xqjsYCPjxd/fWMfkzl0iH5jLp5PIINezeJKI/YwIhAOj2njlpydklXLpfEBY2Zg1fvFFSJKGQiLuTSkBr13vx"}]},"maintainers":[{"name":"fankouzu","email":"cuijin@aitj.com"}],"_npmUser":{"name":"fankouzu","email":"cuijin@aitj.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/thinkium-web3js_1.0.8_1594880361421_0.7316632690324927"},"_hasShrinkwrap":false},"1.0.9":{"name":"thinkium-web3js","version":"1.0.9","description":"Ethereum JavaScript API, middleware to talk to a ethereum node over RPC","main":"./index.js","directories":{"lib":"./lib"},"dependencies":{"bignumber.js":"^8.1.1","crypto-js":"^3.1.4","describe":"^1.2.0","ethereumjs-abi":"^0.6.8","ethereumjs-util":"^6.1.0","ethjs-util":"^0.1.6","mongodb":"^3.1.10","solc":"^0.5.0","utf8":"^2.1.1","xhr2-cookies":"^1.1.0","xmlhttprequest":"*"},"browser":{"xmlhttprequest":"./lib/utils/browser-xhr.js"},"devDependencies":{"bower":">=1.4.1","browserify":">=10.0","chai":"^3.5.0","coveralls":"^3.0.2","del":">=2.0.2","exorcist":"^0.4.0","gulp":"^4.0.0","gulp-jshint":">=1.5.0","gulp-rename":">=1.2.0","gulp-replace":"^0.5.3","gulp-streamify":"0.0.5","gulp-uglify":">=1.2.0","gulp-uglify-es":"^1.0.4","istanbul":"^0.4.4","jshint":"^2.9.6","mocha":"^5.2.0","lodash":">=4.17.13","cached-path-relative":">=1.0.2","js-yaml":">=3.13.1","lodash.template":">=4.5.0","lodash.merge":">=4.6.2","handlebars":">=4.0.14","sandboxed-module":"^2.0.2","vinyl-source-stream":"^2.0.0"},"scripts":{"build":"gulp","watch":"gulp watch","lint":"jshint *.js lib","test":"mocha; jshint *.js lib","test-coveralls":"istanbul cover _mocha -- -R spec && cat coverage/lcov.info | coveralls --verbose"},"repository":{"type":"git","url":"git+https://github.com/Thinkium-Blockchain/web3.js.git"},"homepage":"https://github.com/Thinkium-Blockchain/web3.js","bugs":{"url":"https://github.com/Thinkium-Blockchain/web3.js/issues"},"keywords":["ethereum","javascript","API"],"license":"LGPL-3.0","gitHead":"005f6d8347c6f1d9335b0b80ed70a327f6cb0cf3","_id":"thinkium-web3js@1.0.9","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Jwx+y2R2IP0ZdqpgMSOYb9WeC+IkmDuR2seJ6DTAXmpfwh0wOARfQICvYkMzGgLHk20xLpkM1sfRs33OFrqRYw==","shasum":"df603ee081a6a1bd0963eece8c1972cb1f873550","tarball":"https://registry.npmjs.org/thinkium-web3js/-/thinkium-web3js-1.0.9.tgz","fileCount":194,"unpackedSize":5153346,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfJ79fCRA9TVsSAnZWagAABTEP+gOhzPKXc8EOlyKPwKoV\nv/qW8AdsN3xM0PdnS8mAtX6Dm3+t6QwdndNRMzYkl7V1RnrKGEtlIqAaMGBc\nxoZiFa3gJZR6ScGR2ZmO38DsWrvJKGICjPS+5w9piglCILmjdCRZUzOpmEdm\n1RxE3PPZ+3vh9YD/xrKu7IyZPsoWuKeG0tsgTIWw2CgpAXdPJ6UcHn5YYhR4\nN2JLJ1onGMuygOkhy8a+wyvsSW2p+osOAt8+pf0CcNlE7rYbfe3LvkOOrzgB\nFtikxEViEAFBEmRlMtJCyG4VLsNmM0vpo+ej6iVckBbBd62srSej37LHeclR\n8Of6Uim8MN5rIfoPnCe3uQlE3YHHtoQdS0Fcw5qe5Pwf+sqJs1/2Tf9vKFGl\nul0wJ2aGZIO4KvqdgW3oOeoThYTfD2AFhMWd9iEGkm998d1IOLvxeM6dYOF5\nDii378ROL/7VAyh2HjABIvRePXibs1NJphLIOPkEYhISsuDiqiWmVZZjcmas\nun5D5Gs9ph8dmu926KRbwmPO4JLBCfIKojrJp/5UBL2jWgF5kPXhcSbDxfst\nICv3oPcz5E1IMwN4i3LIKWKG2KK1F3P6eSl61dtBWszS3aclAtKvMeszRE+y\nePEZyiHbrUxJWObywlmHVawWK0xXA3kpkqSCUS/R+xBY7rV2EDUuv+PEebpo\nqT49\r\n=yqF3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCS4Y1CZsxqPptQcKJQKzsUAFxy3DA2NFm4gqD5+NTaawIgBBTW0jt1MpRxMHu0gvmSM4gaRdSsasa9mZldRhvh1IU="}]},"maintainers":[{"name":"fankouzu","email":"cuijin@aitj.com"}],"_npmUser":{"name":"fankouzu","email":"cuijin@aitj.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/thinkium-web3js_1.0.9_1596440414545_0.3870635479842781"},"_hasShrinkwrap":false},"1.0.10":{"name":"thinkium-web3js","version":"1.0.10","description":"Ethereum JavaScript API, middleware to talk to a ethereum node over RPC","main":"./index.js","directories":{"lib":"./lib"},"dependencies":{"bignumber.js":"^8.1.1","bip39":"^3.0.2","crypto-js":"^3.1.4","describe":"^1.2.0","ethereumjs-util":"^6.1.0","ethjs-util":"^0.1.6","hdkey":"^2.0.1","mongodb":"^3.1.10","solc":"^0.5.0","utf8":"^2.1.1","xhr2-cookies":"^1.1.0","xmlhttprequest":"*"},"browser":{"xmlhttprequest":"./lib/utils/browser-xhr.js"},"devDependencies":{"bower":">=1.4.1","browserify":">=10.0","chai":"^3.5.0","coveralls":"^3.0.2","del":">=2.0.2","exorcist":"^0.4.0","gulp":"^4.0.0","gulp-jshint":">=1.5.0","gulp-rename":">=1.2.0","gulp-replace":"^0.5.3","gulp-streamify":"0.0.5","gulp-uglify":">=1.2.0","gulp-uglify-es":"^1.0.4","istanbul":"^0.4.4","jshint":"^2.9.6","mocha":"^5.2.0","lodash":">=4.17.13","cached-path-relative":">=1.0.2","js-yaml":">=3.13.1","lodash.template":">=4.5.0","lodash.merge":">=4.6.2","handlebars":">=4.0.14","sandboxed-module":"^2.0.2","vinyl-source-stream":"^2.0.0"},"scripts":{"build":"gulp","watch":"gulp watch","lint":"jshint *.js lib","test":"mocha; jshint *.js lib","test-coveralls":"istanbul cover _mocha -- -R spec && cat coverage/lcov.info | coveralls --verbose"},"repository":{"type":"git","url":"git+https://github.com/Thinkium-Blockchain/web3.js.git"},"homepage":"https://github.com/Thinkium-Blockchain/web3.js","bugs":{"url":"https://github.com/Thinkium-Blockchain/web3.js/issues"},"keywords":["ethereum","javascript","API"],"license":"LGPL-3.0","gitHead":"b03ae8f70a9a17ac97a3640c5082f14d52d56fb9","_id":"thinkium-web3js@1.0.10","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-RqN1n4H1NqMg3tsXRUjFLj81GEiRHYLpKIaBulSy/0XCLnQbVzmHyiBfi1WYXDZUPC9ZvlS5gVsNDEob33T2OQ==","shasum":"2bb40a23b9e326d19f79ee6ca10825d62a4ae602","tarball":"https://registry.npmjs.org/thinkium-web3js/-/thinkium-web3js-1.0.10.tgz","fileCount":197,"unpackedSize":4505260,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfkVf7CRA9TVsSAnZWagAAdCEP/3eNmQ9wWB00OGeljOeE\n8PrUxOatE6VLXcGvKvH6Rpppv0RWejpd1TOH/KEF8iwfLqLohdDM6C8rOcbP\nteS7LEvkXk+mR2SBtwMbEge3F2gWaXnmPNKSGqNjzy2LZFgbktO97j2bOdze\nvRgzG1xubixmVL7t5vEuDt3dEiyp+KGVfV06BJOcmjm6qTSskuszoIMpzYre\nB8XLDtsSZds/CmiUbFo9r3/gGJiHZyy86fcfT44sb66FJ/7vieDh0YgX8E61\nPXrvSiE+g+0et3KrzAx84F0I2/4vhVFkDHpZFDCeEa1HCoQ9ZcasdQbwD3EJ\nHnyn67LOp7WCy7CELx9kcJv/uNCIDDBEzj29Px/P6MWBQqxWl7YzV4j88n+B\nTLpE9R2/W0aEzES6Ge3UOC91m8M4a4c/TyBTON7TqKhC74fOLykv6NVnIVoA\ncZjgqnLQr9pIZgfOybA/+E+zgf7wVNgRi4Oim6XQcyO+X7BLcUIfW1Odg8Dz\n+DkLGWYoMobV3jwHoeNI/2LjlgJ5uUEq7+trxZ6nJflgFFWz62vCdjvFx6TS\nEb85l5ZbnIM2u365RVm+4lHAp2JrHnoTXOgDJg9gbVsAHB/9e+AzszZBePDR\nkROacbLWJDArJZVJhDy2tOWm4qLwSZYOFJt8eMJGKWsIwuaId9CbIj1uRoxp\nHtE8\r\n=VaE0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDy98IP0hTY2Shao4jA/hl2FPkTJmeDqVGtZnBYGSkt2AiBofU5zYdry85qgiqt251lM39svytE70D9wu+9pl2zU0w=="}]},"maintainers":[{"name":"fankouzu","email":"cuijin@aitj.com"}],"_npmUser":{"name":"fankouzu","email":"cuijin@aitj.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/thinkium-web3js_1.0.10_1603360762757_0.7267952798254971"},"_hasShrinkwrap":false},"1.0.11":{"name":"thinkium-web3js","version":"1.0.11","description":"Ethereum JavaScript API, middleware to talk to a ethereum node over RPC","main":"./index.js","directories":{"lib":"./lib"},"dependencies":{"bignumber.js":"^8.1.1","bip39":"^3.0.2","crypto-js":"^3.1.4","describe":"^1.2.0","ethereumjs-util":"^6.1.0","ethjs-util":"^0.1.6","mongodb":"^3.1.10","solc":"^0.5.0","utf8":"^2.1.1","xhr2-cookies":"^1.1.0","xmlhttprequest":"*"},"browser":{"xmlhttprequest":"./lib/utils/browser-xhr.js"},"devDependencies":{"bower":">=1.4.1","browserify":">=10.0","cached-path-relative":">=1.0.2","chai":"^3.5.0","coveralls":"^3.0.2","del":">=2.0.2","exorcist":"^0.4.0","gulp":"^4.0.0","gulp-jshint":">=1.5.0","gulp-rename":">=1.2.0","gulp-replace":"^0.5.3","gulp-streamify":"0.0.5","gulp-uglify":">=1.2.0","gulp-uglify-es":"^1.0.4","handlebars":">=4.0.14","hdkey":"^2.0.1","istanbul":"^0.4.4","js-yaml":">=3.13.1","jshint":"^2.9.6","lodash":">=4.17.13","lodash.merge":">=4.6.2","lodash.template":">=4.5.0","mocha":"^5.2.0","sandboxed-module":"^2.0.2","vinyl-source-stream":"^2.0.0"},"scripts":{"build":"gulp","watch":"gulp watch","lint":"jshint *.js lib","test":"mocha; jshint *.js lib","test-coveralls":"istanbul cover _mocha -- -R spec && cat coverage/lcov.info | coveralls --verbose"},"repository":{"type":"git","url":"git+https://github.com/Thinkium-Blockchain/web3.js.git"},"homepage":"https://github.com/Thinkium-Blockchain/web3.js","bugs":{"url":"https://github.com/Thinkium-Blockchain/web3.js/issues"},"keywords":["ethereum","javascript","API"],"license":"LGPL-3.0","gitHead":"a48f1a8523b47a66339e6f445a86314fe2ea13e7","_id":"thinkium-web3js@1.0.11","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-7waZRpEhzRoe0VuiQsaSxDluBMjA9t/TyuhylNIKQJ8rBGlsyufrOb8HATrfvApMmrVmU/ExsYZlyGGi3tUEsw==","shasum":"f7e785d473a08d323408a18e6d768ade28ec7bc3","tarball":"https://registry.npmjs.org/thinkium-web3js/-/thinkium-web3js-1.0.11.tgz","fileCount":197,"unpackedSize":4505260,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfkXwoCRA9TVsSAnZWagAAQvwP+wZUemsDN8nOSB49Mcif\ngpzvZIekOQciNtXIlm1qpqNWjFX14HEEjR5psyHNLkNWPpzZteU5EbdFjRwy\nowOWpsbxft7TG7XSsv3j3mfb7af7L09okuip3rS9m7xlsezm3MdokeOyjhm7\nf8322B5Ezxn0pB+QSOw+yMT8gDNLRgIipXGZvuR3d3h4wXo+wYO5Nht9N6r/\noVOsach2LGWmI+nCY5mPDYLSQltQOBZiH96ZDbpXvRFqLUeg+LF75fwVq+Bf\n0LrtUcr1NHnGhyD2chHrBwzXw0hSTs7tKtXjJLvbTJZshCorz4f3XYsUanWV\nQTxCsPsxRu5JygiEDdsMxNspfPSvcdbYDnGMsArTSVMo4yjLrsHE02MsO4VT\n/2pVaH9FqTmtCVorRsPiIo88+lcCII9zCxIgpfJFyCjp4dwgCzw4UBPjDZCi\n37mA2ZgG7FzzIZpMWo51zEwrYOOvZq4DQBUfGtOqkEXeUdanmz0y87EmOsWj\n0o+hTCqari3pi8wRTsw+ZPlcsLHOpy/2czRgAlqgxgAOsUO2FVHEhcerLZjh\nHa6XYuFVws6WFw6shZJjRf+SrJlHI1KUshFQk+MzKK+l4AjiEusKXMN4UYEk\n/BT0Ni/hE9asPYJUNDkZySCibMeXGIFnNj3PJEnsZ6jXdtl1sUQs0YhimUh/\nhEFP\r\n=PzHK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCvfcRZlHFOJ9lxiPajj0d3xu3iqMtwD6NzFIjBLOA+7AIgKaQAuum1RYnpRk9+0B3OT7afzFasvuTZuUffjoWiFBc="}]},"maintainers":[{"name":"fankouzu","email":"cuijin@aitj.com"}],"_npmUser":{"name":"fankouzu","email":"cuijin@aitj.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/thinkium-web3js_1.0.11_1603370023507_0.16338531392277278"},"_hasShrinkwrap":false},"1.0.12":{"name":"thinkium-web3js","version":"1.0.12","description":"Ethereum JavaScript API, middleware to talk to a ethereum node over RPC","main":"./index.js","directories":{"lib":"./lib"},"dependencies":{"bignumber.js":"^8.1.1","bip39":"^3.0.2","crypto-js":"^3.1.4","describe":"^1.2.0","ethereumjs-util":"^6.1.0","ethjs-util":"^0.1.6","mongodb":"^3.1.10","secp256k1":"^4.0.2","solc":"^0.5.0","utf8":"^2.1.1","xhr2-cookies":"^1.1.0","xmlhttprequest":"*"},"browser":{"xmlhttprequest":"./lib/utils/browser-xhr.js"},"devDependencies":{"bower":">=1.4.1","browserify":">=10.0","cached-path-relative":">=1.0.2","chai":"^3.5.0","coveralls":"^3.0.2","del":">=2.0.2","exorcist":"^0.4.0","gulp":"^4.0.0","gulp-jshint":">=1.5.0","gulp-rename":">=1.2.0","gulp-replace":"^0.5.3","gulp-streamify":"0.0.5","gulp-uglify":">=1.2.0","gulp-uglify-es":"^1.0.4","handlebars":">=4.0.14","hdkey":"^2.0.1","istanbul":"^0.4.4","js-yaml":">=3.13.1","jshint":"^2.9.6","lodash":">=4.17.13","lodash.merge":">=4.6.2","lodash.template":">=4.5.0","mocha":"^5.2.0","sandboxed-module":"^2.0.2","vinyl-source-stream":"^2.0.0"},"scripts":{"build":"gulp","watch":"gulp watch","lint":"jshint *.js lib","test":"mocha; jshint *.js lib","test-coveralls":"istanbul cover _mocha -- -R spec && cat coverage/lcov.info | coveralls --verbose"},"repository":{"type":"git","url":"git+https://github.com/Thinkium-Blockchain/web3.js.git"},"homepage":"https://github.com/Thinkium-Blockchain/web3.js","bugs":{"url":"https://github.com/Thinkium-Blockchain/web3.js/issues"},"keywords":["ethereum","javascript","API"],"license":"LGPL-3.0","gitHead":"a48f1a8523b47a66339e6f445a86314fe2ea13e7","_id":"thinkium-web3js@1.0.12","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-ssTVyYE/XaBfbVyWjinf/V5amXybuT7Q5FrVI8EP083Qmeg6NB0AMQP2je2/mMGvrPrJ2PPxIgx0Oa7olAoyQw==","shasum":"fdaac8a5d66e667c8ec252ef5782d87b41445e6f","tarball":"https://registry.npmjs.org/thinkium-web3js/-/thinkium-web3js-1.0.12.tgz","fileCount":197,"unpackedSize":4505287,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfkX3PCRA9TVsSAnZWagAA5uUP/RVHDiGv2xqoUVClTJsM\nMkqRTnyZU5CTmqnEo91WamgYGuT94n90gpTXSeMK3OcuCZEEVnrdTvrJWG+C\n1orgPIFIPUMKJs75ltYb558On2UQiNyCkie1UDv2jRRp2cnPlQavRLMcPmo5\nQiVsPgvYAiJKp9XPDP8n3DFjMHwiYDyEpmaSVK5N6sSKiUaTsEzIoKN0TWzt\nKBplh6aK8NMo364cSUFmLnKGg03xY3NfYJaL6Ha62SzBql1CVDVUFxhXMf0L\nc7H/X9h/QYwO3JNfNeBtKAWI7xpisGBb7GCanIfBezi6Qw/dEsn0MqIVrlRB\n+ZAOHpwhlOn+xVE+g6YNsff9mpjpjzP+DxrNrAmgDS6iM27ktE4o44zS05uu\ndNtTVrew5pSTr/buugpKu59LcrTKuGy5stGpLjEUopIK+EHwZTofihxRJr2U\nEBiOZJT3af9A3ueyZCQ1p5/wR/PbNU8xbra6hlQwJeduiPtjI5A2E889IrG1\nPsvFErcgPdvCA9hMKIHB8wJeufobioahUAFTUio24bo8m6za53ostU9OO08Q\noyeMeEoTUYe1y417NDv5QW6nLvfndCIPRy7h+azKP2RRelPDrZP4s8ETFybH\n/YndGi4QypgnMt8n+rDgOXB1MrL04z3Nf+PDAUZnigrRxe5VUWKW3w1jUWnA\nzNW4\r\n=sI6Y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDZuFgx1BON65OY7cH5auqRmqUN9nIfsYyJnGvt6GPZDwIhALpS7Vr8GBgb1wOSbUAI8xbmHp/wbEGwLC3xaX5jd0WG"}]},"maintainers":[{"name":"fankouzu","email":"cuijin@aitj.com"}],"_npmUser":{"name":"fankouzu","email":"cuijin@aitj.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/thinkium-web3js_1.0.12_1603370446625_0.713862421216442"},"_hasShrinkwrap":false},"1.0.13":{"name":"thinkium-web3js","version":"1.0.13","description":"Ethereum JavaScript API, middleware to talk to a ethereum node over RPC","main":"./index.js","directories":{"lib":"./lib"},"dependencies":{"bignumber.js":"^8.1.1","bip39":"^3.0.2","crypto-js":"^3.1.4","describe":"^1.2.0","ethereumjs-util":"^6.1.0","ethjs-util":"^0.1.6","mongodb":"^3.1.10","secp256k1":"^3.7.1","solc":"^0.5.0","utf8":"^2.1.1","xhr2-cookies":"^1.1.0","xmlhttprequest":"*"},"browser":{"xmlhttprequest":"./lib/utils/browser-xhr.js"},"devDependencies":{"bower":">=1.4.1","browserify":">=10.0","cached-path-relative":">=1.0.2","chai":"^3.5.0","coveralls":"^3.0.2","del":">=2.0.2","exorcist":"^0.4.0","gulp":"^4.0.0","gulp-jshint":">=1.5.0","gulp-rename":">=1.2.0","gulp-replace":"^0.5.3","gulp-streamify":"0.0.5","gulp-uglify":">=1.2.0","gulp-uglify-es":"^1.0.4","handlebars":">=4.0.14","hdkey":"^2.0.1","istanbul":"^0.4.4","js-yaml":">=3.13.1","jshint":"^2.9.6","lodash":">=4.17.13","lodash.merge":">=4.6.2","lodash.template":">=4.5.0","mocha":"^5.2.0","sandboxed-module":"^2.0.2","vinyl-source-stream":"^2.0.0"},"scripts":{"build":"gulp","watch":"gulp watch","lint":"jshint *.js lib","test":"mocha; jshint *.js lib","test-coveralls":"istanbul cover _mocha -- -R spec && cat coverage/lcov.info | coveralls --verbose"},"repository":{"type":"git","url":"git+https://github.com/Thinkium-Blockchain/web3.js.git"},"homepage":"https://github.com/Thinkium-Blockchain/web3.js","bugs":{"url":"https://github.com/Thinkium-Blockchain/web3.js/issues"},"keywords":["ethereum","javascript","API"],"license":"LGPL-3.0","gitHead":"d62df2d3bf358fd5767cad91f3a758254e1747c0","_id":"thinkium-web3js@1.0.13","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Nhz89pZ8nsuTfbIL+PwFiIS/AJEwLfizvmQ0qtMGtAl50BB8BSGDZ94CZ2AEitbE76/x8Z7tnGV8SjDxpxKctg==","shasum":"de3a253567db5aef5c7ddfb22ab2d2565d9e7846","tarball":"https://registry.npmjs.org/thinkium-web3js/-/thinkium-web3js-1.0.13.tgz","fileCount":197,"unpackedSize":4505287,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfkX8DCRA9TVsSAnZWagAA+14P/215euT8WZbmkY/ykyny\neZK2yP9hpVifc8URh2Z9ZsdnSR2AYKwegqSXJMskfr0EeqPhhO0y0S8ddDZt\nHNhMECJQlJKz4C9XzG3Tr2BKYBAHwl3AKIfxohxmyvdqgRp8UxSnKcTs6N5S\nPGHwCJpcku+8tLnYpmmBYatmKK/5dfVNvzrQDN7QgaeGZYkn2eYX27SSOFig\nx/Com0fyt1qPz2dnN/JMvBE6R3AoI+9wS+Omyq7lGCCmurPe8bqJPfIj45iG\nZ4azMbySibx2wz1DSC+S3re8GNKxlp+xA01LK8vZ/0b4GdEGRaPmi8fJejCu\ncE2EFaT01/sSqv8teeXmrkPehFy8DWoCQZFlBj0OBy6Cd2SHOlUmJFC0ywKu\nHBTsVys0DtQg9j2hIbJJIf1IZ4zltVrldQxGlTSiFG6HxtttVWb3d1RMtM1h\n4gTGvNoOs9X3Glh2V0EDwP5OTF+0NkkPXvp+aYKYhTjsolQC2A1e0Uh8Zvui\n1cSEcjsBjkWL5AxBqkMJzmxivoAOYfsI8Ux8LCuHESx6diqq5C1yyOb2VLsC\nHsu4n4x39Gyjr0V2HRBMF0GwETfNCpiXJsBZXsAWY045W+lp0nOjdsfREA2e\ndW83e8lIEGoMTeOj+sDzjaJBtGGO5uI455iWjMoqxpqYqmPiisaAK2X/Co6v\nv8Xw\r\n=psjQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFzq8X7yOrEs+0HP/wTcevalJg67V7ZQ+jmNmkzFmVckAiB1G7xpYiTWnpB3lhG+njt80AWu9B9AvMs8rHJueG+dfQ=="}]},"maintainers":[{"name":"fankouzu","email":"cuijin@aitj.com"}],"_npmUser":{"name":"fankouzu","email":"cuijin@aitj.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/thinkium-web3js_1.0.13_1603370755267_0.5833466410372536"},"_hasShrinkwrap":false},"1.0.14":{"name":"thinkium-web3js","version":"1.0.14","description":"Ethereum JavaScript API, middleware to talk to a ethereum node over RPC","main":"./index.js","directories":{"lib":"./lib"},"dependencies":{"bignumber.js":"^8.1.1","bip39":"^3.0.2","crypto-js":"^3.1.4","describe":"^1.2.0","ethereumjs-util":"^6.1.0","ethjs-util":"^0.1.6","mongodb":"^3.1.10","secp256k1":"^3.7.1","solc":"^0.5.0","utf8":"^2.1.1","xhr2-cookies":"^1.1.0","xmlhttprequest":"*"},"browser":{"xmlhttprequest":"./lib/utils/browser-xhr.js"},"devDependencies":{"bower":">=1.4.1","browserify":">=10.0","cached-path-relative":">=1.0.2","chai":"^3.5.0","coveralls":"^3.0.2","del":">=2.0.2","exorcist":"^0.4.0","gulp":"^4.0.0","gulp-jshint":">=1.5.0","gulp-rename":">=1.2.0","gulp-replace":"^0.5.3","gulp-streamify":"0.0.5","gulp-uglify":">=1.2.0","gulp-uglify-es":"^1.0.4","handlebars":">=4.0.14","hdkey":"^2.0.1","istanbul":"^0.4.4","js-yaml":">=3.13.1","jshint":"^2.9.6","lodash":">=4.17.13","lodash.merge":">=4.6.2","lodash.template":">=4.5.0","mocha":"^5.2.0","sandboxed-module":"^2.0.2","vinyl-source-stream":"^2.0.0"},"scripts":{"build":"gulp","watch":"gulp watch","lint":"jshint *.js lib","test":"mocha; jshint *.js lib","test-coveralls":"istanbul cover _mocha -- -R spec && cat coverage/lcov.info | coveralls --verbose"},"repository":{"type":"git","url":"git+https://github.com/Thinkium-Blockchain/web3.js.git"},"homepage":"https://github.com/Thinkium-Blockchain/web3.js","bugs":{"url":"https://github.com/Thinkium-Blockchain/web3.js/issues"},"keywords":["ethereum","javascript","API"],"license":"LGPL-3.0","gitHead":"8ed0f39b208aa97cac128e5e0d7439a500b000be","_id":"thinkium-web3js@1.0.14","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-T87TfinWKSYxNsarcMboDmE+ZaSEPUbXgyJXeYET0AL7a0OE/R/ygswkDNS27/Sp1UXzaah8JDMPmbGJzPjggQ==","shasum":"5132880918876e72890735200b53f39dacb1ee64","tarball":"https://registry.npmjs.org/thinkium-web3js/-/thinkium-web3js-1.0.14.tgz","fileCount":198,"unpackedSize":4517239,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmWryCRA9TVsSAnZWagAANFAQAI08SH4B8/JKmJso/1H3\nzJX/jJ2WK8uaF2G4JRCeQBCitWC3iGl74qPaUSWXvwPXeNj+kc87DGsa42WP\nm3qwXPbvGrEJVwxwXhSXRqp5sZoZPgwr2UdcbtMkkSJHzUm8OXFl3WH2JhHe\nD/N9ua5Ci7wiKbCGQ4ifuc75lfOJk//NH49G3O8H56bhAEBTDdrBfq35evj3\n+gHui+ywVG0XUJWK9/9jNJIeDLszUNcyatqgsGyhKJt24FwIKGotQ4XnhEOd\nDr4CArH+AdZVWWhqERZJIUt70KUKHjJMYnz44C264uPv38ApXxfGljaJ3Hq1\nhS9D78/5xJnvtjRQJvBf9ZkuZYileAvF4dqz1wNU8UohQNm1EAoWScI/w8lp\nUlPudrIm4lp/CJUGFLLuKj6hsQM5Q8Rea/pSj1GQSCTQ0YRO8derPmyPow1g\nGjhEZ1H06ESQGjmIOGVvSdIcm6fPJNpV0yFlC/8T3CXqdkQKVgMxzo2fMBpn\n+K+L5yuNnadyRpRhTWMtf7x4uXQ25OX5U+UZvIOEb2zLbY7o4VtNf4c9heJt\nfgog87kcudebdzwSY/LkyuYqt6Lfdr/1NuowW++YW3Qmogy2/Kp/uJ4no601\nX0jrN+t7gqwEgwnL16hgYCuPaCNDQotgx72nx+8fg3VXcj2t14eqRFzzd+yH\nhgVs\r\n=WoSj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFKyoE6DofOw3tf8XxwW5jTEm44aWBKnEo51XCYfYiIWAiEAphKEMz6Xp/oaAGZncll0q1pVEmQrlQ/1XY50EWb47no="}]},"maintainers":[{"name":"fankouzu","email":"cuijin@aitj.com"}],"_npmUser":{"name":"fankouzu","email":"cuijin@aitj.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/thinkium-web3js_1.0.14_1603889906400_0.6244552619886916"},"_hasShrinkwrap":false},"1.0.16-0":{"name":"thinkium-web3js","version":"1.0.16-0","description":"Thinkium JavaScript API, middleware to talk to a thinkium node over RPC","main":"./index.js","directories":{"lib":"./lib"},"dependencies":{"bignumber.js":"^8.1.1","bip39":"^3.0.2","crypto-js":"^3.1.4","describe":"^1.2.0","ethereumjs-util":"^6.1.0","ethjs-util":"^0.1.6","mongodb":"^3.1.10","secp256k1":"^3.7.1","solc":"^0.5.0","utf8":"^2.1.1","xhr2-cookies":"^1.1.0","xmlhttprequest":"*"},"browser":{"xmlhttprequest":"./lib/utils/browser-xhr.js"},"devDependencies":{"bower":">=1.4.1","browserify":">=10.0","cached-path-relative":">=1.0.2","chai":"^3.5.0","coveralls":"^3.0.2","del":">=2.0.2","exorcist":"^0.4.0","gulp":"^4.0.0","gulp-jshint":">=1.5.0","gulp-rename":">=1.2.0","gulp-replace":"^0.5.3","gulp-streamify":"0.0.5","gulp-uglify":">=1.2.0","gulp-uglify-es":"^1.0.4","handlebars":">=4.0.14","hdkey":"^2.0.1","istanbul":"^0.4.4","js-yaml":">=3.13.1","jshint":"^2.9.6","lodash":">=4.17.13","lodash.merge":">=4.6.2","lodash.template":">=4.5.0","mocha":"^5.2.0","sandboxed-module":"^2.0.2","vinyl-source-stream":"^2.0.0"},"scripts":{"build":"gulp","watch":"gulp watch","lint":"jshint *.js lib","test":"mocha; jshint *.js lib","test-coveralls":"istanbul cover _mocha -- -R spec && cat coverage/lcov.info | coveralls --verbose","beta":"rm -f package-lock.json && npm version prerelease && npm publish --tag beta"},"repository":{"type":"git","url":"git+https://github.com/Thinkium-Blockchain/web3.js.git"},"homepage":"https://github.com/Thinkium-Blockchain/web3.js","bugs":{"url":"https://github.com/Thinkium-Blockchain/web3.js/issues"},"keywords":["thinkium","javascript","API"],"license":"LGPL-3.0","readme":"# Installation\n\n### npm\n\n```bash\nnpm install thinkium-web3js\n```\n\n### Yarn\n\n```bash\nyarn add thinkium-web3js\n```\n\n### As a Browser module\n\n* Include `web3.min.js` in your html file. (not required for the meteor package)\n\n# Usage\n\nUse the `web3` object directly from the global namespace:\n\n```js\nvar Web3 = require('thinkium-web3js');\nvar web3 = new Web3();\nconsole.log(web3); // {thk: .., shh: ...} // It's here!\n```\n\nSet a provider (`HttpProvider` using [HTTP Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication)):\n\n```js\nlet rpcUrl = 'https://rpcproxy.thinkium.vip';     //rpc proxy\nweb3.setProvider(new web3.providers.HttpProvider(rpcUrl));\n```\n\nThere you go, now you can use it:\n\n```js\nvar account = web3.thk.GetAccount(chainId,address);\nvar balance = account.balance;\n```\n\nYou can find more examples in the [`example`](https://github.com/Thinkium-Blockchain/web3.js/tree/master/example) directory.\n\n# TUKE Web3.js SDK接口文档\n\n# 1. 获取账户余额(web3.thk.getAccount)\n\n请求参数\n           \n\n| 参数名  |  类型  | 是否必须 |   含义   |\n| :-----: | :----: | :------: | :------: |\n| chainId | string |   true   |   链id   |\n| address | string |   true   | 账户地址 |\n\n响应参数:\n\n|   参数名    |  类型  | 是否必须 |                 含义                 |\n| :---------: | :----: | :------: | :----------------------------------: |\n|   address   | string |   true   |               账户地址               |\n|    nonce    |  int   |   true   |  交易的发起者在之前进行过的交易数量  |\n|   balance   | bigint |   true   |               账户余额               |\n| storageRoot | string |  false   | 合约存储数据的hash(没有合约返回null) |\n|  codeHash   | string |  false   |   合约代码的hash(没有合约返回null)   |\n\n请求示例:\n\n```javascript\nvar response = web3.thk.GetAccount(\"2\",\"0x2c7536e3605d9c16a7a3d7b1898e529396a65c23\");\n```\n\nresponse:\n```json\n{\n  \t\"address\": \"0x2c7536e3605d9c16a7a3d7b1898e529396a65c23\",\n\t\"balance\": 9.99999985e+26,\n\t\"codeHash\": null,\n\t\"nonce\": 43,\n\t\"storageRoot\": null\n}\n```\n\n# 2. 执行一笔交易(web3.thk.SendTx)\n\n请求参数：\n           \n\n|   参数名    |  类型  | 是否必须 |                含义                |\n| :---------: | :----: | :------: | :--------------------------------: |\n|   chainId   | string |   true   |                链id                |\n|    from     | string |   true   |          交易发起账户地址          |\n|     to      | string |   true   |          交易接受账户地址          |\n|    nonce    | string |   true   | 交易的发起者在之前进行过的交易数量 |\n|    value    | string |   true   |              转账金额              |\n|    input    | string |   true   |          调用合约时的参数          |\n| fromChainId | string |   true   |           交易发起链 id            |\n|  toChainId  | string |   true   |           交易接受链 id            |\n|     sig     | string |   true   |              交易签名              |\n|     pub     | string |   true   |                公钥                |\n\n响应参数:\n           \n\n| 参数名 |  类型  | 是否必须 |   含义   |\n| :----: | :----: | :------: | :------: |\n| TXhash | string |   true   | 交易hash |\n\n请求示例:\n\n```javascript\nvar response = web3.thk.SendTx({\n  chainId: '2',\n  fromChainId: '2',\n  toChainId: '2',\n  from: '0x0000000000000000000000000000000000000000',\n  to: '0x0e50cea0402d2a396b0db1c5d08155bd219cc52e',\n  nonce: '1',\n  value: '0',\n  input:'0xc3bea9af000000000000000000000000ca35b7d915458ef540ade6068dfe2f44e8fa733c',\n  sig:'0x7d5c7b6b28dd66bada7cfb153fe03433deb331cc74ca82de3ddf49708f1174895404682fcb9bcb30fdb7f6d041b78c56d87e18df1ca6e7e2bd75e38a6a1c8d631c',\n  pub:'0x044e3b81af9c2234cad09d679ce6035ed1392347ce64ce405f5dcd36228a25de6e47fd35c4215d1edf53e6f83de344615ce719bdb0fd878f6ed76f06dd277956de' \n});\n```\n\nresponse:\n```json\n{\n    \"TXhash\": \"0x22024c2e429196ac76d0e557ac0cf6141f5b500c56fde845582b837c9dab236b\"\n}\n```\n\n# 3. 通过交易hash获取交易详情(web3.thk.GetTransactionByHash)\n\n请求参数：\n           \n\n| 参数名  |  类型  | 是否必须 |   含义   |\n| :-----: | :----: | :------: | :------: |\n| chainId | string |   true   |   链id   |\n|  hash   | string |   true   | 交易hash |\n\n响应参数:\n           \n\n|     参数名      |    类型     | 是否必须 |                    含义                     |\n| :-------------: | :---------: | :------: | :-----------------------------------------: |\n|   Transaction   |    dict     |   true   |                  交易详情                   |\n|      root       |   string    |   true   | 保存了创建该receipt对象时，“账户”的当时状态 |\n|     status      |     int     |   true   |          交易状态: 1:成功, 0:失败           |\n|      logs       | array[dict] |  false   |         这个交易产生的日志对象数组          |\n| transactionHash |   string    |   true   |                  交易hash                   |\n| contractAddress |   string    |   true   |                合约账户地址                 |\n|       out       |   string    |   true   |              调用返回结果数据               |\n|     gasUsed     |     int     |   true   |              实际使用的gas个数              |\n|     gasFee      |   String    |   true   |            实际使用总共的gas费用            |\n\nTx:\n           \n\n| 参数名  |  类型  | 是否必须 |                含义                |\n| :-----: | :----: | :------: | :--------------------------------: |\n| chainID |  int   |   true   |                链id                |\n|  from   | string |   true   |          交易发起账户地址          |\n|   to    | string |   true   |          交易接受账户地址          |\n|  nonce  | string |   true   | 交易的发起者在之前进行过的交易数量 |\n|   val   | string |   true   |              转账金额              |\n|  input  | string |   true   |          调用合约时的参数          |\n\n请求示例:\n\n```javascript\nvar response = web3.thk.GetTransactionByHash('1', '0xca222630130bad1555ad633d67d2beefbf405d36fdc3e1abd4260f201284292c');\n```\n\nresponse:\n```json\n{\n   \"tx\": {\n        \"chainid\": 1,\n        \"from\": \"0x853d5281d92cc5c8d0d1bce1f2f7b125ca4e09e7\",\n        \"to\": \"0x2f9bbce6f7d314fbe2b59901d0653a443bc11edd\",\n        \"nonce\": 24,\n        \"value\": 40000000000000000000,\n        \"input\": \"0x88ffe867\",\n        \"hash\": \"\",\n        \"uselocal\": false,\n        \"extra\": \"0x\",\n        \"timestamp\": 0\n    },\n    \"root\": \"eyJmZWUiOiI3MDM1NTIwMDAwMDAwMDAwMCIsInJvb3QiOm51bGx9\",\n    \"status\": 1,\n    \"logs\": [\n        {\n            \"address\": \"0x2f9bbce6f7d314fbe2b59901d0653a443bc11edd\",\n            \"blockNumber\": \"0x5aacf3\",\n            \"data\": \"0x000000000000000000000000853d5281d92cc5c8d0d1bce1f2f7b125ca4e09e70000000000000000000000000000000000000000000000022b1c8c1227a00000000000000000000000000000000000000000000000000000000000005e65d45a\",\n            \"logIndex\": \"0x0\",\n            \"topics\": [\n                \"0xaba4f973c8f45a52365c8348704e79653e4b58ebd452f2d2115423a62ef7a3e1\"\n            ],\n            \"transactionHash\": \"0xca222630130bad1555ad633d67d2beefbf405d36fdc3e1abd4260f201284292c\",\n            \"transactionIndex\": \"0x0\"\n        }\n    ],\n    \"transactionHash\": \"0xca222630130bad1555ad633d67d2beefbf405d36fdc3e1abd4260f201284292c\",\n    \"contractAddress\": \"0x0000000000000000000000000000000000000000\",\n    \"out\": \"0x\",\n    \"gasUsed\": 175888,\n    \"gasFee\": \"70355200000000000\",\n    \"blockHeight\": 5942515\n}\n```\n\n# 4. 获取链信息(web3.thk.GetStats)\n\n请求参数\n           \n\n| 参数名  |  类型  | 是否必须 | 含义 |\n| :-----: | :----: | :------: | :--: |\n| chainId | string |   true   | 链id |\n\n响应参数:\n           \n\n|      参数名       |  类型  | 是否必须 |          含义          |\n| :---------------: | :----: | :------: | :--------------------: |\n|   currentheight   | bigint |   true   |        交易详情        |\n|      txcount      |  int   |   true   |        总交易数        |\n|        tps        |  int   |   true   |       每秒交易数       |\n|   tpsLastEpoch    |  int   |   true   |     上一时期交易数     |\n|       lives       |  int   |   true   |     链的已存活时间     |\n|   accountcount    |  int   |   true   |         账户数         |\n|    epochlength    |  int   |   true   |   当前时期包含多少块   |\n|   epochduration   |  int   |   true   |    当前时期运行时间    |\n| lastepochduration |  int   |   true   |   上一时期的运行时间   |\n|    currentcomm    | array  |   true   | 当前这条链的委员会成员 |\n|     gaslimit      |  Int   |   True   |      gas默认个数       |\n|     gasprice      | String |   true   |          价格          |\n\n请求示例:\n\n```javascript\nvar response = web3.thk.GetStats('103')\n```\n\nresponse\n```json\n{\n    \"accountcount\": 0,\n    \"currentcomm\": [\n        \"0xbfebdb4661c93456c29dcc22ea32340b6a0e400bef924923a53dfe22ad90cbd5069135ef591d65515aa40ef34970599cc7c331667db7f744e89fe8ec305ede9a\",\n        \"0x0df134ddc7bebb8abe61d8649a3054c107908719a4c5fa49be9ffb32037f84a0768d91bcd33e28c8c410760146eead90a72db6880c2d6eb5cac2f10d2be3563f\",\n        \"0x37e7ab457bf4d38a96c06f0fc616e001a0eac9f7b7e8407f97bfd39b30569f069541a27cae9e681aff9d50616970b6b554d0893b25561453f58dc6e174e8e70a\",\n        \"0x8c9cba550f746efcd98635fa6b300cd25ac08b54dda8f067dcba07bb4026c51478a1ac2dd5db3c89179ceab5f10d2f59d6d83f1f9ff652000a0c390b3fbc382e\",\n        \"0xfa1688066b16f61c72b02af5834a9bb79b746a962c8ed82d6f4afce1c5f7ac1987f291b6063e438d3b6c12856a677901878302b1a5865c837252f1db18cdbd2f\",\n        \"0x58c484fbb8d825e92b8e8d62c469e327fc8a55f2d521bb041d352ffb1a4e68cf1675c834e87daeea941f268601086c37df270a1048472a424b30af53053a34f7\",\n        \"0xcdda504db1913c22e961c3f1dfb07941f22b7a0f3b4d3e2a48bc69ad67c0061c21d793e75c35b8f8dcc3a733b8c051fed1ca8d157cea26a65c0bb3c00f8a59f5\",\n        \"0x70d6885ebb21b83377fcd6387f820b087753e5cbfc0bdb6dcd1b3f116680bbebf615441c55db54e36e587131fc9b645fca412b7c6b428d17bb8c24a1f3ae42c7\",\n        \"0xcd2eb869ab358cb7f56f0abcf50623eb46bdf63ef52986fdd377948a87b6e2bf667649b658f6e1705b81e9d4a3380dfdcaa122ab69686ad0d30959aadfa999e5\",\n        \"0x89b0bbcc4df1e4f1be61a527144491be88d86e09db48238ccb07cbd9af19728ff8143318d679184ee058cd57458206ae955d16e16ed5267bdb0819bf6c22c986\",\n        \"0x9b2c2ffb7e950275b1451a1833e885f555b3c05b02a0cb869427bf252c2eb44d2ac46de7c770f2c621b2118681d3fcfcdf8b38bccdb38622748fdba1b97e2780\",\n        \"0x7fa9213bf8027e846d2eb6e5b17f6caea7f80a1c0522f85927744e388afa756b21edcaab7d439b6661024225af1f9a5c3f8eab12a8a60402dc08147f697fe988\",\n        \"0x2010f9c48b2af6679a0821efb657a96fbd8d2621ad20e97ed93eaabaea408baf086ad0009ab235c490e66a11e3ea1924aeaba2955ea7d3f2f9cbd933d41df362\",\n        \"0xc1f4b9c3b129d88ff072aca7c958c57dbbcd3e1e47718990efa799989a5c16893b70bdc1d3af728169bc9cae5f0c1c22ae37c9aa3026789e1e68fb2f68920909\",\n        \"0xd9b5f2c6fafe7391e182a98194b972961a8b4e24afa0152f4da0df9f84bbadb496451dc0b7ff4332e311914a93f7c5f60f07953edcbeef8ccc1637157ee0d5c5\",\n        \"0x73bf86fbc73b5e6f12613a4eeeb8883a6af2d646bab8dd47e117f89d5a5c2369fc908b9003a1db5e4187a11245d61b23b73c2572326048d33860b5b0be9c03c1\",\n        \"0x59c9add6f7ae1d1cc5e79579f309b720b37da127f171ba0e65a3e083bb27698ff22ca505f3298acf70106344b1d07104db15e317f14822e341ecdc21a1e87929\",\n        \"0xb7023c7412e51ff1afa679756b354cf74578c93fbbad8eee2c0a2e60347eb4b857e6e45ab41444010e408e9548d749577c1e6f0301d0d14ee0d3844647761cd7\",\n        \"0x482c7b2e66aabbee8fad39d64faab09f2d0059e1193a5470ec21875cdbd17ce4986f180ab498620d768ef3cba031ee0b534eba21a4c581e3e0842548c5527748\",\n        \"0xe14da122de07cf0d1553fd91b729e6db6a68a103cf6eff190757f6b3bc34bcc88d2f7877d03ccb3e2be980dbe3b65dca6c10d9ae2823ecb4f8d88770b019f22f\",\n        \"0x7af07f8cfa74b9367a10b86eac1883fdbc9eab7814675d8bd7138ec6aa805dda80aa115c9ffe416429f87efb008d30f9c1eaf9c2a8cce274a3f05a7ed0b082ad\",\n        \"0x338035e5aa2c7ce1320c272c0c782c150a589f686767b483f044c746acd65d85af26b4a475ded3adc46cc1b2283f7b1f79ef877d3fef8f275a36e9c2a7bd23b9\",\n        \"0x842409950306aebbcc580bbfd044067e6bc2530cb3f426c1eea1c3b1fd48487e6e01d5392e5b5e2bde9145931c4451b22d779d805237d7b23ce934ecc3447065\",\n        \"0xf9828acc66c3e41ccc00a3683bf5417712a4914f12c1c709eec572483b189feebfcd5e718075e8bd56803243e8a637308c1e535fbe82ef8e6377a45aeeae56c8\",\n        \"0xccc192ed5565d43671c6c1acaf53fd95b9010abf2ba4263854756d6bcfa4d7d2e1fbd43bc1f63cab2f1c74e3956b6ce0d38ebcd555c8e3085a05037be7670731\",\n        \"0x567beb3b4827fbd138ee88592791efadb2a1ced4a57bf6f775b5950566169f19d16904f3c4a1f1f758843a5fba9e5052b97afa8f07de443869dee58700f72dc4\",\n        \"0x67023c6cffb20c1a213f2e038427936adc674c09d54ef1afb1dcfdc8b40a48a80f1ccb51718d3b5bd5d1303e2f365a364d31ce8b6de9f14f18fcde4d43ddfcad\",\n        \"0x250f3081d864de9796f4f9c505accc293f9ff7822c9d1ac4a5840981f486159121560eff795ae974c83971fb1f27e2984924934e9da43c9eda8423474398cd4f\"\n    ],\n    \"currentheight\": 1590270,\n    \"epochduration\": 2911,\n    \"epochlength\": 1000,\n    \"gaslimit\": 2500000,\n    \"gasprice\": \"400000000000\",\n    \"lastepochduration\": 2757,\n    \"lives\": 818243,\n    \"tps\": 0,\n    \"tpsLastEpoch\": 0,\n    \"txcount\": 2\n}\n```\n\n# 5. 获取指定账户在对应链上一定高度范围内的交易信息(web3.thk.GetTransactions)\n\n请求参数\n           \n\n|   参数名    |  类型  | 是否必须 |      含义      |\n| :---------: | :----: | :------: | :------------: |\n|   chainId   | string |   true   |      链id      |\n|   address   | string |   true   |     链地址     |\n| startHeight | string |   true   | 查询的起始块高 |\n|  endHeight  | string |   true   | 查询的截止块高 |\n\n响应参数:\n           \n\n|  参数名   |  类型  | 是否必须 |                含义                |\n| :-------: | :----: | :------: | :--------------------------------: |\n|  chainId  |  int   |   true   |                链id                |\n|   from    | string |   true   |          交易发起账户地址          |\n|    to     | string |   true   |          交易接受账户地址          |\n|   nonce   |  int   |   true   | 交易的发起者在之前进行过的交易数量 |\n|   value   |  int   |   true   |              转账金额              |\n| timestamp |  int   |   true   |            交易的时间戳            |\n|   input   | string |   true   |          调用合约时的参数          |\n|   hash    | string |   true   |              交易hash              |\n\n请求示例:\n\n```javascript\nvar response = web3.thk.GetTransactions('2',\"4fa1c4e6182b6b7f3bca273390cf587b50b47311\", 50, 70);\n\n```\n\nresponse:\n```json\n[\n    {\n        \"chainid\": 2,\n        \"from\": \"0x2c7536e3605d9c16a7a3d7b1898e529396a65c23\",\n        \"to\": \"0x0000000000000000000000000000000000020000\",\n        \"nonce\": 0,\n        \"value\": 0,\n        \"input\":\n        \"0x000000022c7536e3605d9c16a7a3d7b1898e529396a65c230000000000000000000000034fa1c4e6182b6b7f3bca273390cf587b50b4731100000000000456440101\",\n        \"hash\":\n        \"0x0ea5dad47833fc6286357b6bd6c1a4e910def5f4432a1a59bde0f816c3dd18e0\",\n        \"timestamp\": 1560425588\n    },\n    {\n        \"chainid\": 2,\n        \"from\": \"0x2c7536e3605d9c16a7a3d7b1898e529396a65c23\",\n        \"to\": \"0x133c5bfef5d486052b061b44af113f20057341a8\",\n        \"nonce\": 1,\n        \"value\": 0,\n        \"input\":\n        \"0xa9059cbb00000000000000000000000066261e3faf00ef1537b22f37d8db85f57066f58f0000000000000000000000000000000000000000000000000000000000004e20\",\n        \"hash\":\n        \"0x1dbbda2d229db82ff12b3bea82d49225e6bebd645def4c06da157ddbe5660066\",\n        \"timestamp\": 1560425596\n    }\n]\n\n```\n\n# 6. 调用交易（web3.thk.CallTransaction）\n\n请求参数\n           \n\n|   参数名    |  类型  | 是否必须 |                含义                |\n| :---------: | :----: | :------: | :--------------------------------: |\n|   chainId   | string |   true   |                链id                |\n| fromChainId | string |   true   |       交易发起账户地址的链id       |\n|  toChainId  | string |   true   |       交易接受账户地址的链id       |\n|    from     | string |   true   |          交易发起账户地址          |\n|     to      | string |   true   |          交易接受账户地址          |\n|    nonce    | string |   true   | 交易的发起者在之前进行过的交易数量 |\n|    value    | string |   true   |              转账金额              |\n|    input    | string |   true   |          调用合约时的参数          |\n\n响应参数:\n           \n\n|     参数名      |    类型     | 是否必须 |                    含义                     |\n| :-------------: | :---------: | :------: | :-----------------------------------------: |\n|   Transaction   |    dict     |   true   |                  交易详情                   |\n|      root       |   string    |   true   | 保存了创建该receipt对象时，“账户”的当时状态 |\n|     status      |     int     |   true   |          交易状态: 1:成功, 0:失败           |\n|      logs       | array[dict] |   true   |         这个交易产生的日志对象数组          |\n| transactionHash |   string    |   true   |                  交易hash                   |\n| contractAddress |   string    |   true   |                合约账户地址                 |\n|       out       |   string    |   true   |              调用返回结果数据               |\n\nTransaction:\n\n| 参数名  |  类型  | 是否必须 |                含义                |\n| :-----: | :----: | :------: | :--------------------------------: |\n| chainId | string |   true   |                链id                |\n|  from   | string |   true   |          交易发起账户地址          |\n|   to    | string |   true   |          交易接受账户地址          |\n|  nonce  | string |   true   | 交易的发起者在之前进行过的交易数量 |\n|   val   | string |   true   |              转账金额              |\n|  input  | string |   true   |          调用合约时的参数          |\n\n请求示例:\n\n```javascript\nvar response = web3.thk.CallTransaction({\n    chainId:'2',\n    fromChainId:'2',\n    toChainId:'2', \n    from:'0x0000000000000000000000000000000000000000',\n    to:'0x0e50cea0402d2a396b0db1c5d08155bd219cc52e',\n    nonce:'22',\n    value:'0',\n    input:'0xe98b7f4d0000000000000000000000000000000000000000000000000000000000000001'\n});\n\n```\n\nresponse:\n```json\n{\n    \"Transaction\": {\n        \"chainID\": 2,\n        \"from\": \"0x0000000000000000000000000000000000000000\",\n        \"to\": \"0x0e50cea0402d2a396b0db1c5d08155bd219cc52e\",\n        \"nonce\": 2,\n        \"value\": 0,\n        \"input\": \"0xe98b7f4d0000000000000000000000000000000000000000000000000000000000000001\",\n        \"hash\": '',\n\t\t\"timestamp\": 0\n    },\n    \"root\": null,\n    \"status\": 0,\n    \"logs\": null,\n    \"transactionHash\": \"0x9936cab441360985fc9e27904f0767c1c39fe8e0edb83709a0cdad52470a4592\",\n    \"contractAddress\": \"0x0000000000000000000000000000000000000000\",\n    \"out\": \"0x\"\n}\n\n```\n\n# 7. 获取指定块高信息(web3.thk.GetBlockHeader)\n\n请求参数\n           \n\n| 参数名  |  类型  | 是否必须 |     含义     |\n| :-----: | :----: | :------: | :----------: |\n| chainId | string |   true   |     链id     |\n| height  | string |   true   | 查询块的块高 |\n\n响应参数:\n           \n\n|    参数名    |  类型  | 是否必须 |          含义          |\n| :----------: | :----: | :------: | :--------------------: |\n|     hash     | string |   true   |       此块的hash       |\n| previoushash | string |   true   |       父块的hash       |\n|   chainid    |  int   |   true   |          链id          |\n|    height    |  int   |   true   |      查询块的块高      |\n|  mergeroot   | string |   true   | 合并其他链转账数据hash |\n|  deltaroot   | string |   true   |    跨链转账数据hash    |\n|  stateroot   | string |   true   |        状态hash        |\n|   txcount    |  int   |   true   |        交易总数        |\n|  timestamp   |  int   |   true   |         时间戳         |\n\n请求示例:\n\n```javascript\nvar response = web3.thk.GetBlockHeader('2', '30');\n\n```\n\nresponse:\n```json\n{\n    \"hash\": \"0x71603186004fd46d32cda0780c4f4cf77ce13b396b1b8132b2c632173441b9d2\",\n    \"previoushash\": \"0xd0f6e9c89eb6be655632911e3743b5a994423c3526653dc55b62ebea3ff56c43\",\n    \"chainid\": 2,\n    \"height\": 30,\n    \"mergeroot\": \"0xdddfde85423a0d7da064c1b5a8cc1ff18d4a209027ef95ecceae0e6ed8f7c1af\",\n    \"deltaroot\": \"0xdddfde85423a0d7da064c1b5a8cc1ff18d4a209027ef95ecceae0e6ed8f7c1af\",\n    \"stateroot\": \"0x0b672749b02da6bf8f3aa50238140ce7fae5af3e926d4eb06d4cfb707a90702e\",\n    \"txcount\": 1,\n    \"timestamp\": 1547777358\n}\n\n```\n\n# 8. 获取指定块的交易(web3.thk.GetBlockTxs)\n\n请求参数\n       \n\n| 参数名  |  类型  | 是否必须 |     含义     |\n| :-----: | :----: | :------: | :----------: |\n| chainId | string |   true   |     链id     |\n| height  | string |   true   | 查询块的块高 |\n|  page   | string |   true   |     页码     |\n|  size   | string |   true   |   页的大小   |\n\n响应参数:\n           \n\n|     参数名     | 类型  | 是否必须 |   含义   |\n| :------------: | :---: | :------: | :------: |\n|   elections    | dict  |   true   | 交易详情 |\n| accountchanges | array |   true   | 交易信息 |\n\naccountchanges:\n\n|  参数名   |  类型  | 是否必须 |                含义                |\n| :-------: | :----: | :------: | :--------------------------------: |\n|  chainId  | string |   true   |                链id                |\n|  height   |  int   |   true   |           查询的起始块高           |\n|   from    | string |   true   |          交易发起账户地址          |\n|    to     | string |   true   |          交易接受账户地址          |\n|   nonce   |  int   |   true   | 交易的发起者在之前进行过的交易数量 |\n|   value   |  int   |   true   |              转账金额              |\n| timestamp |  int   |   true   |            交易的时间戳            |\n\n请求示例:\n\n```javascript\nvar response = web3.thk.GetBlockTxs('2', '30','1','10');\n\n```\n\nresponse:\n```json\n{\n    \"elections\": null,\n    \"accountchanges\": [\n        {\n            \"chainId\": 2,\n            \"height\": 30,\n            \"from\": \"0x4fa1c4e6182b6b7f3bca273390cf587b50b47311\",\n            \"to\": \"0x4fa1c4e6182b6b7f3bca273390cf587b50b47311\",\n            \"nonce\": 30,\n            \"value\": 1,\n            \"input\": \"0x\",\n\t\t\t\"hash\": \"0x4bff6fad0cd46599289e4e465987cfc94278363b12eca3f37572be8c2ce1b061\",\n            \"timestamp\": 1547777358\n        }\n    ]\n}\n\n```\n\n# 9. 编译合约(solc.compile)\n\n**thinkium-web3js项目 test/contract/deploy_test.js 文件有示例**\n\n请求参数\n\n```javascript\nvar input = {\n    language: 'Solidity',\n    sources: {\n        'test.sol': {      //合约文件名称\n          content: contractContent     //合约文件内容\n        }\n    },\n    settings: {\n        outputSelection: {\n            '*': {\n              '*': ['*']\n            }\n        }\n    }\n};\n```\n\n请求示例:\n\n```javascript\n\nvar solc = require('solc');\n\nfunction compileContract(contractContent) {    //合约可能有多个\n    const input = {\n        language: 'Solidity',\n        sources: {\n            'test.sol': {\n                content: contractContent\n            }\n        },\n        settings: {\n            outputSelection: {\n                '*': {\n                    '*': ['*']\n                }\n            }\n        }\n    };\n\n    const output = JSON.parse(solc.compile(JSON.stringify(input)));\n    // for (var contractName in output.contracts['test.sol']) {\n    //     console.log(contractName + ': ' + output.contracts['test.sol'][contractName]);\n    // }\n    return output.contracts['test.sol']\n}\n\nlet contents = `pragma solidity >= 0.5.0;\n                contract HelloWorld {\n                    uint256 age = 17;\n                    string nickname = \"Hello\";\n                    function getAge() public view returns (uint256 data){\n                        return age;\n                    }\n                    function getNickname() public view returns (string memory data){\n                        return nickname;\n                    }\n                    function setNickname(string memory data) public {\n                        nickname = data;\n                    }\n                }`;\n// 1、编译合约\nconst deployResult = compileContract(contents)['HelloWorld'];\n\n//最后获取合约abi 和 byteCode 字节码\nconst contractAbi = deployResult.abi;\nconst contractByteCode = deployResult.evm.bytecode.object.slice(0, 2) === '0x' ? deployResult.evm.bytecode.object : '0x' + deployResult.evm.bytecode.object;\n\n```\n\n# 10.1 部署合约（web3.thk.contract(abi).new({data: code});）\n\n**thinkium-web3js项目 test/contract/deploy_test.js 文件有示例**\n\n请求参数\n\n```javascript\n//最后获取合约abi 和 byteCode 字节码\nconst contractAbi = deployResult.abi;\nconst contractByteCode = deployResult.evm.bytecode.object.slice(0, 2) === '0x' ? deployResult.evm.bytecode.object : '0x' + deployResult.evm.bytecode.object;\n```\n\n请求示例:\n\n```javascript\n//部署合约 参数为合约abi 和 byteCode 字节码\nfunction deployContract(abi, codes) {\n    let contracts = web3.thk.contract(abi).new({data: codes});\n    console.log(\"contracts: \" + JSON.stringify(contracts, null, 1));\n    if (contracts.transactionHash) {\n        sleep(5);\n        const res = web3.thk.GetTransactionByHash(web3.thk.defaultChainId, contracts.transactionHash);\n        return res.contractAddress\n    }\n    return '';\n}\n\n// 2、发布合约\nconst contractAddress = deployContract(contractAbi, contractByteCode);\nconsole.log('contractAddress: ', contractAddress); //返回的为部署后的合约地址\nconsole.log('contractAbi: ', contractAbi);\n```\n\n# 10.2 调用合约方法 (web3.thk.contract(abi,contractAddress).at(contractAddress))\n\n```javascript\n//获取合约对象，调用合约方法，参数为合约abi 和 合约地址\nfunction fromAbi(abi, address) {\n    return web3.thk.contract(abi, address).at(address);\n}\n\n// 3、调用合约\n// 获取合约对象， 通过该对象可以调用合约内的方法\nconst helloWorld = fromAbi(contractAbi, contractAddress);\n\n// 调用合约内的 setNickname 和 getNickname方法\nhelloWorld.setNickname(\"world\");\nsleep(5); // 合约内的修改方法需要等待hash成功后，此处等待5秒，酌情修改等待时长\nconsole.log(\"contract function res:\", helloWorld.getNickname());\n```\n\n# 11. ping（web3.thk.Ping）\n\n请求参数\n           \n\n| 参数名  |  类型  | 是否必须 |  含义   |\n| :-----: | :----: | :------: | :-----: |\n| address | string |   true   | ip+端口 |\n\n响应参数:\n           \n\n|    参数名     |  类型  | 是否必须 |      含义      |\n| :-----------: | :----: | :------: | :------------: |\n|    nodeId     | string |   true   |     节点id     |\n|    version    | string |   true   |      版本      |\n|  isDataNode   |  bool  |   true   | 是否是数据节点 |\n|  dataNodeOf   |  int   |   true   |    数据节点    |\n|  lastMsgTime  | int64  |   true   | 上一个信息时间 |\n| lastEventTime | int64  |   true   | 上一个事件时间 |\n| lastBlockTime | int64  |   true   |  上一个块时间  |\n|   overflow    |  bool  |   true   |      溢出      |\n|  lastBlocks   |  map   |   true   |   最后一个块   |\n|    opTypes    |  map   |   true   |      类型      |\n\n请求示例:\n\n```javascript\nvar response = web3.thk.Ping(\"192.168.1.13:22010\")\n```\n\nresponse:\n```json\n{\n    \"nodeId\":\n    \"0x5e17128ba224a96d6e84be0c7f899febea26c55c78940610d78a0d22dbd0ab03cc3233491de0b5eb770dbf850b509bd191723df4fc40520bcbab565d46543d6e\",\n    \"version\": \"V1.0.0\",\n    \"isDataNode\": true,\n    \"dataNodeOf\": 0,\n    \"lastMsgTime\": 1560850367,\n    \"lastEventTime\": 1560850367,\n    \"lastBlockTime\": 1560850367,\n    \"overflow\": false,\n    \"lastBlocks\": {\n    \t\"0\": 159927\n    },\n    \"opTypes\": {\n        \"0\": [\n        \t\"DATA\"\n        ]\n    }\n}\n\n```\n\n# 12. 生成支票的证明(web3.thk.RpcMakeVccProof)\n\n请求参数\n           \n\n|   参数名    | 类型 | 是否必须 |   含义   |\n| :---------: | :--: | :------: | :------: |\n| transaction | dict |   true   | 交易对象 |\n\ntransaction：\n           \n\n|    参数名    |  类型  | 是否必须 |                含义                |\n| :----------: | :----: | :------: | :--------------------------------: |\n|   chainId    | string |   true   |                链id                |\n| fromChainId  | string |   true   |       交易发起账户地址的链id       |\n|  toChainId   | string |   true   |       交易接受账户地址的链id       |\n|     from     | string |   true   |          交易发起账户地址          |\n|      to      | string |   true   |          交易接受账户地址          |\n|    nonce     | string |   true   | 交易的发起者在之前进行过的交易数量 |\n|    value     | string |   true   |              转账金额              |\n| ExpireHeight |  int   |   true   |              过期高度              |\n\n响应参数:\n           \n\n| 参数名 |  类型  | 是否必须 |      含义      |\n| :----: | :----: | :------: | :------------: |\n| input  | string |   true   | 生成的支票证明 |\n\n请求示例:\n\n```javascript\nlet obj = {\n    chainId: '2',\n    from: '0x2c7536e3605d9c16a7a3d7b1898e529396a65c23',\n    to: '0x2c7536e3605d9c16a7a3d7b1898e529396a65c23',\n    fromChainId: '2',\n    toChainId: '3',\n    value: '1000000000000000',\n    expireheight: '54223',\n    nonce: '47'\n};\nvar response = web3.thk.RpcMakeVccProof(obj)\n\n```\n\nresponse:\n```json\n{\n    \"input\": \"0x95000000022c7536e3605d9c16a7a3d7b1898e529396a65c23000000000000002f000000032c7536e3605d9c16a7a3d7b1898e529396a65c23000000000000d3cf07038d7ea4c6800002a2d30bc06dc891383f7c61c310c9109aae0407508ced3f5562670b13cc5f093777a65a0193941093a1b6df76df5387752a24b904aac80067c3aa0ea7eb1b40074d4a30889e0083412744c2000080809409934080c20202808100018187aa9f339cf1ba6ffe6986f68c639a835fac453ac37d0df6e72091b1cd1cd30001019424930080c20000c02c83b4898418ce3324a2deeacf5848d49981f8ad2ad60c810c23e78e840dbc1781000524ac33cdd9e9bf0cbdfc4d357d81d5d1638dd7516ec38d779300f5f6e76d9b7ee0eccda334e611eb97288b59a36e78b25eb15746f593036a56ab50f89174f60062e715f8969d49b1ada75ce66977ab01219068e1adcf104eb328442fa3002759eca078605c1b0ad6ff4323f7c23307585d3dddd504f96e7a7f722f9802d2a1b7130047aeaaba37848d7c13a6df0328565e15ba9401b2485ac662423afcc01bb4000110\"\n}\n\n```\n\n# 13. 生成取消支票的证明(web3.thk.MakeCCCExistenceProof)\n\n请求参数\n           \n\n|   参数名    | 类型 | 是否必须 |   含义   |\n| :---------: | :--: | :------: | :------: |\n| transaction | dict |   true   | 交易对象 |\n\ntransaction：\n           \n\n|    参数名    |  类型  | 是否必须 |                含义                |\n| :----------: | :----: | :------: | :--------------------------------: |\n|   chainId    | string |   true   |                链id                |\n| fromChainId  | string |   true   |       交易发起账户地址的链id       |\n|  toChainId   | string |   true   |       交易接受账户地址的链id       |\n|     from     | string |   true   |          交易发起账户地址          |\n|      to      | string |   true   |          交易接受账户地址          |\n|    nonce     | string |   true   | 交易的发起者在之前进行过的交易数量 |\n|    value     | string |   true   |              转账金额              |\n| ExpireHeight |  int   |   true   |              过期高度              |\n\n响应参数:\n           \n\n|  参数名   |  类型  | 是否必须 |      含义      |\n| :-------: | :----: | :------: | :------------: |\n|   input   | string |   true   | 生成的支票证明 |\n| existence |  bool  |   true   |  是否存过支票  |\n\n请求示例:\n\n```javascript\nlet obj = {\n    chainId: '2',\n    from: '0x2c7536e3605d9c16a7a3d7b1898e529396a65c23',\n    to: '0x2c7536e3605d9c16a7a3d7b1898e529396a65c23',\n    fromChainId: '2',\n    toChainId: '3',\n    value: '1000000000000000',\n    expireheight: '54223',\n    nonce: '47'\n}\nvar response = web3.thk.MakeCCCExistenceProof(obj)\n\n```\n\nresponse:\n```json\n{\n    \"existence\": false,\n    \"input\": \"0x95000000022c7536e3605d9c16a7a3d7b1898e529396a65c23000000000000002f000000032c7536e3605d9c16a7a3d7b1898e529396a65c23000000000000d3cf07038d7ea4c6800002a2d30bc06dc891383f7c61c310c9109aae0407508ced3f5562670b13cc5f093777a65a0193941093a1b6df76df5387752a24b904aac80067c3aa0ea7eb1b40074d4a30889e0083412744c2000080809409934080c20202808100018187aa9f339cf1ba6ffe6986f68c639a835fac453ac37d0df6e72091b1cd1cd30001019424930080c20000c02c83b4898418ce3324a2deeacf5848d49981f8ad2ad60c810c23e78e840dbc1781000524ac33cdd9e9bf0cbdfc4d357d81d5d1638dd7516ec38d779300f5f6e76d9b7ee0eccda334e611eb97288b59a36e78b25eb15746f593036a56ab50f89174f60062e715f8969d49b1ada75ce66977ab01219068e1adcf104eb328442fa3002759eca078605c1b0ad6ff4323f7c23307585d3dddd504f96e7a7f722f9802d2a1b7130047aeaaba37848d7c13a6df0328565e15ba9401b2485ac662423afcc01bb4000110\"\n}\n```\n\n# 14. 获取链结构（ web3.thk.GetChainInfo）\n\n请求参数\n           \n\n|  参数名  |  类型  | 是否必须 |            含义            |\n| :------: | :----: | :------: | :------------------------: |\n| chainIds | string |   true   | 链id（备注：传空代表所有） |\n\n响应参数:\n           \n\n| 参数名 |    类型     | 是否必须 |    含义    |\n| :----: | :---------: | :------: | :--------: |\n|   []   | []chainInfo |   true   | 链信息数组 |\n\nchainInfo：\n           \n\n|  参数名   |    类型    | 是否必须 |    含义    |\n| :-------: | :--------: | :------: | :--------: |\n|  chainId  |    int     |   true   |    链id    |\n| datanodes | []dataNode |   true   | 数据节点群 |\n|   mode    |    int     |   true   |    模式    |\n|  parent   |    int     |   true   |     父     |\n\ndataNode：\n           \n\n|    参数名    |  类型  | 是否必须 |     含义     |\n| :----------: | :----: | :------: | :----------: |\n|  dataNodeId  |  int   |   true   |  数据节点id  |\n|  dataNodeIp  | string |   true   |  数据节点ip  |\n| dataNodePort |  int   |   true   | 数据节点端口 |\n\n请求示例:\n\n```javascript\nvar response = web3.thk.GetChainInfo([])\n```\n\nresponse:\n```json\n[\n    {\n        \"chainId\": 0,\n        \"datanodes\": [\n            {\n                \"dataNodeId\": \"0x5e17128ba224a96d6e84be0c7f899febea26c55c78940610d78a0d22dbd0ab03cc3233491d0b5eb770dbf850b509bd191723df4fc40520bcbab565d46543d6e\",\n                \"dataNodeIp\": \"192.168.1.13\",\n                \"dataNodePort\": 22010\n            }\n        ],\n        \"mode\": 5,\n        \"parent\": 1048576\n    },\n    {\n        \"chainId\": 1,\n        \"datanodes\": [\n            {\n                \"dataNodeId\": \"0x96dc94580e0eadd78691807f6eac9759b9964daa8b46da4378902b040e0eb102cb48413308d2131e9e5557321f30ba9287794f689854e6d2e63928a082e79286\",\n                \"dataNodeIp\": \"192.168.1.13\",\n                \"dataNodePort\": 22014\n            }\n        ],\n        \"mode\": 6,\n        \"parent\": 0\n    },\n    {\n        \"chainId\": 2,\n        \"datanodes\": [\n            {\n                \"dataNodeId\":\"0xa93b150f11c422d8700554859281be8e34a91a859e0e021af186002c7e4a2661ea2467a63b417030d68e2fdddeb4342943dff13225da77124abf912fd092f71f\",\n                \"dataNodeIp\": \"192.168.1.13\",\n                \"dataNodePort\": 22018\n            }\n        ],\n        \"mode\": 6,\n        \"parent\": 0\n    },\n    {\n        \"chainId\": 3,\n        \"datanodes\": [\n            {\n                \"dataNodeId\": \"0x783f4b2490461ecfd8ee8d3451e434de06bacb0ffff56de53a33fe545589094fa0b929eeaa62dc5203d1e831ccdd37d206d0b85b193921efb223bf0cb2f37b4c\",\n                \"dataNodeIp\": \"192.168.1.13\",\n                \"dataNodePort\": 22022\n            }\n        ],\n        \"mode\": 7,\n        \"parent\": 1\n    },\n    {\n        \"chainId\": 4,\n        \"datanodes\": [\n            {\n                \"dataNodeId\": \"0x44c98ab831f3ca4553e491bba06753e959ceb55d43e18bc76539572feb1e0dbaf2fbfc19f571d6544e82be1c7c39760f6a023d4be4dcb9473dd580c731d03926                \",\n                \"dataNodeIp\": \"192.168.1.13\",\n                \"dataNodePort\": 22026\n            }\n        ],\n        \"mode\": 7,\n        \"parent\": 1\n    }\n]\n```\n\n# 15. 获取委员会详情（web3.thk.GetCommittee）\n\n请求参数\n           \n\n| 参数名  |  类型  | 是否必须 |   含义   |\n| :-----: | :----: | :------: | :------: |\n| chainId | string |   true   |   链id   |\n|  epoch  | string |   true   | 参选轮次 |\n\n响应参数:\n           \n\n|    参数名     |   类型   | 是否必须 |    含义    |\n| :-----------: | :------: | :------: | :--------: |\n| MemberDetails | []string |   true   | 委员会详情 |\n\n请求示例:\n\n```javascript\nvar response = web3.thk.GetCommittee(\"1\",\"411\")\n\n```\n\nresponse:\n```json\n[\n    \"0xe90a151759bf070969aae664e00502bb08568c85a73874492a3ec480c5178d5da29c790896fc62106e32d172819dec94202ff90f3b7ba3e6adf38508bc58cf43\",\n    \"0x3224de0da639511fec588d2e28f4472476b1600d003a10e38e0456426337624aaecd6636e5ce7ff95fc10746471ce7b680f664ccbf17057ca18c761706afa391\",\n    \"0xad88dc0c0cf7d9e4a62f97e81f33556f65abba96b3c7108a732ff20f1a23530ca7730a6885d91ac718e1bb6ebad5e18bf8b7a58b91cbf717b48b723c7ceedef6\",\n    \"0x8c7872c0c96a9f5b396120a0a45706678ab7a34c34a146ce9329c894f8cb9de41ec10edbf6b9c85796fd9e91d8d651a53578f164c8ee71a2d2cbfef9d5a4c6a4\",\n    \"0xdb3e5b5ea24e1d760a59cf22cfafeed5a4e57af2108fc0df3bf457a82f754264b3fdf9d77fcab306a9809ebcd76de91e382d912a90e3f37edf4eb04f3f036d0b\",\n    \"0x4ce2edd98452036c804f3f2eeef157672be2ccf647369eb42eb49ab9f428821f9990efde3cf7f16e4c64616c10b673077f4278c6dd2fc6021da8ad0085a522a2\", \n    \"0xd1f889690f8c75bbada89a4c8893b8bf6fe29be3b5c3d8a2d772024a340d59d375f39ed88498666a57da10af885ad63a414f8a10153fb739eb1ebfcef57cc883\"\n]\n\n```\n\n# 16. 新建一个合约对象(web3.thk.contract)\n\n请求参数\n           \n\n| 参数名  |  类型  | 是否必须 |                        含义                        |\n| :-----: | :----: | :------: | :------------------------------------------------: |\n|   abi   | string |   true   | abi数组(合约中的response[\"info\"][\"abiDefinition\"]) |\n| address | string |   true   |                      合约地址                      |\n\n请求示例:\n\n```javascript\n// myCon对象可以直接调用合约内方法\nvar myCon = web3.thk.contract(getcontract[\"<stdin>:\" + cotractName][\"info\"][\"abiDefinition\"]).at(contractAddress);\n// 调用方法前手动设置账户\nweb3.thk.setCaller(\"0x0000000000000000000000000000000000000000\");\nweb3.thk.setVal(\"0\");\n// 调用合约内set方法\nmyCon.set(2);\n//调用合约内get方法, 需调用set方法后几秒钟再调用get\nmyCon.get();\n```\n\n","readmeFilename":"README.md","gitHead":"e1be6f401f67112582c3e9f03b8d723dbed375a2","_id":"thinkium-web3js@1.0.16-0","_nodeVersion":"14.8.0","_npmVersion":"6.14.7","dist":{"integrity":"sha512-TGMf+L1BGZpW59ufgQi1v+2tAjy7C6fpM0FqKJALOdbTXnk/fOXkeGYrJvskbTCqnfBCSGtlAA8PmTzIZ8xRPA==","shasum":"b99e38095c1a7692df888fe6aee73666c8f4c4bb","tarball":"https://registry.npmjs.org/thinkium-web3js/-/thinkium-web3js-1.0.16-0.tgz","fileCount":199,"unpackedSize":3026421,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfpl2sCRA9TVsSAnZWagAAxr8P/jALI0HMlSPchMTmHSMz\nYkm2jaqwuWfa4TFftAvZEbrMltVvTbeHx8E8NFt2FhB+Otr6+I24qeqDEABJ\n44xByQMPz/dalrpLnbP4lF5NichfJcyG1Xod7Kq0c86DDK4mUhBq3yTzBi+p\ngRdw2UAl4INoshu/HM93vEGFMSVnfr4m9QlMuTutIZCU0999L8LeTLt+MlSC\npsI+b8qweur7QIWLnmZ9KWeYl3zy+UtAZVYo1UnmweLNC6iDn9vdB45zUiLW\n2m+K7z5XbE//uShyMgQI5oPqxHg2MWQ5Yw+lxcyqzMtvltJoyxREkLQrVCsv\nUZXGsngrN7/7Jo0ufLLDbhjAs4NZ3NYnJd2x485+Lt5BcmCi5icGjNQvS82K\n/I/Ium4eKMRP5rYYDYlNDPkXcEN6hPYPcztAALilzR1xgIHaJAKUxHLrazTS\nUZl1L2gmn9PHkIrXK0wmds0DiPDT0tj9RscIJ/aytgWXVD0Jw3lKRwTRbqjS\n4P8HD4F60pPQUjEt7mDZ8oWvVQ9VN0KRxYwuS5uWDmZfXKzwXj3eL503n3gT\niow3VWRYHceVLiPL5+kNVAvvwORgWxa6RvrVeEox5F3pO7kxxmO6Ot3tP81G\n+j+Wes1xOvr4hzLfOLRkX2OlhYimdhmCGO/qItiJLQO+qysczI7sUsIUVHt8\nZPJT\r\n=5/o9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGHdXiUuPsLA05fH4sbZHZaSy0ATzC8qVF52pX2GN+C3AiEAtgI7TAXQ9cjOcf/ZfhgHhovkkEPDr5/XMzG0PP7sY2g="}]},"_npmUser":{"name":"fankouzu","email":"cuijin@aitj.com"},"maintainers":[{"name":"fankouzu","email":"cuijin@aitj.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/thinkium-web3js_1.0.16-0_1604738475350_0.39940935703928404"},"_hasShrinkwrap":false},"1.0.16-1":{"name":"thinkium-web3js","version":"1.0.16-1","description":"Thinkium JavaScript API, middleware to talk to a thinkium node over RPC","main":"./index.js","directories":{"lib":"./lib"},"dependencies":{"bignumber.js":"^8.1.1","bip39":"^3.0.2","crypto-js":"^3.1.4","describe":"^1.2.0","ethereumjs-util":"^6.1.0","ethjs-util":"^0.1.6","mongodb":"^3.1.10","secp256k1":"^3.7.1","solc":"^0.5.0","utf8":"^2.1.1","xhr2-cookies":"^1.1.0","xmlhttprequest":"*"},"browser":{"xmlhttprequest":"./lib/utils/browser-xhr.js"},"devDependencies":{"bower":">=1.4.1","browserify":">=10.0","cached-path-relative":">=1.0.2","chai":"^3.5.0","coveralls":"^3.0.2","del":">=2.0.2","exorcist":"^0.4.0","gulp":"^4.0.0","gulp-jshint":">=1.5.0","gulp-rename":">=1.2.0","gulp-replace":"^0.5.3","gulp-streamify":"0.0.5","gulp-uglify":">=1.2.0","gulp-uglify-es":"^1.0.4","handlebars":">=4.0.14","hdkey":"^2.0.1","istanbul":"^0.4.4","js-yaml":">=3.13.1","jshint":"^2.9.6","lodash":">=4.17.13","lodash.merge":">=4.6.2","lodash.template":">=4.5.0","mocha":"^5.2.0","sandboxed-module":"^2.0.2","vinyl-source-stream":"^2.0.0"},"scripts":{"build":"gulp","watch":"gulp watch","lint":"jshint *.js lib","test":"mocha; jshint *.js lib","test-coveralls":"istanbul cover _mocha -- -R spec && cat coverage/lcov.info | coveralls --verbose","beta":"rm -f package-lock.json && npm version prerelease && npm publish --tag beta"},"repository":{"type":"git","url":"git+https://github.com/Thinkium-Blockchain/web3.js.git"},"homepage":"https://github.com/Thinkium-Blockchain/web3.js","bugs":{"url":"https://github.com/Thinkium-Blockchain/web3.js/issues"},"keywords":["thinkium","javascript","API"],"license":"LGPL-3.0","readme":"# Installation\n\n### npm\n\n```bash\nnpm install thinkium-web3js\n```\n\n### Yarn\n\n```bash\nyarn add thinkium-web3js\n```\n\n### As a Browser module\n\n* Include `web3.min.js` in your html file. (not required for the meteor package)\n\n# Usage\n\nUse the `web3` object directly from the global namespace:\n\n```js\nvar Web3 = require('thinkium-web3js');\nvar web3 = new Web3();\nconsole.log(web3); // {thk: .., shh: ...} // It's here!\n```\n\nSet a provider (`HttpProvider` using [HTTP Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication)):\n\n```js\nlet rpcUrl = 'https://rpcproxy.thinkium.vip';     //rpc proxy\nweb3.setProvider(new web3.providers.HttpProvider(rpcUrl));\n```\n\nThere you go, now you can use it:\n\n```js\nvar account = web3.thk.GetAccount(chainId,address);\nvar balance = account.balance;\n```\n\nYou can find more examples in the [`example`](https://github.com/Thinkium-Blockchain/web3.js/tree/master/example) directory.\n\n# TUKE Web3.js SDK接口文档\n\n# 1. 获取账户余额(web3.thk.getAccount)\n\n请求参数\n           \n\n| 参数名  |  类型  | 是否必须 |   含义   |\n| :-----: | :----: | :------: | :------: |\n| chainId | string |   true   |   链id   |\n| address | string |   true   | 账户地址 |\n\n响应参数:\n\n|   参数名    |  类型  | 是否必须 |                 含义                 |\n| :---------: | :----: | :------: | :----------------------------------: |\n|   address   | string |   true   |               账户地址               |\n|    nonce    |  int   |   true   |  交易的发起者在之前进行过的交易数量  |\n|   balance   | bigint |   true   |               账户余额               |\n| storageRoot | string |  false   | 合约存储数据的hash(没有合约返回null) |\n|  codeHash   | string |  false   |   合约代码的hash(没有合约返回null)   |\n\n请求示例:\n\n```javascript\nvar response = web3.thk.GetAccount(\"2\",\"0x2c7536e3605d9c16a7a3d7b1898e529396a65c23\");\n```\n\nresponse:\n```json\n{\n  \t\"address\": \"0x2c7536e3605d9c16a7a3d7b1898e529396a65c23\",\n\t\"balance\": 9.99999985e+26,\n\t\"codeHash\": null,\n\t\"nonce\": 43,\n\t\"storageRoot\": null\n}\n```\n\n# 2. 执行一笔交易(web3.thk.SendTx)\n\n请求参数：\n           \n\n|   参数名    |  类型  | 是否必须 |                含义                |\n| :---------: | :----: | :------: | :--------------------------------: |\n|   chainId   | string |   true   |                链id                |\n|    from     | string |   true   |          交易发起账户地址          |\n|     to      | string |   true   |          交易接受账户地址          |\n|    nonce    | string |   true   | 交易的发起者在之前进行过的交易数量 |\n|    value    | string |   true   |              转账金额              |\n|    input    | string |   true   |          调用合约时的参数          |\n| fromChainId | string |   true   |           交易发起链 id            |\n|  toChainId  | string |   true   |           交易接受链 id            |\n|     sig     | string |   true   |              交易签名              |\n|     pub     | string |   true   |                公钥                |\n\n响应参数:\n           \n\n| 参数名 |  类型  | 是否必须 |   含义   |\n| :----: | :----: | :------: | :------: |\n| TXhash | string |   true   | 交易hash |\n\n请求示例:\n\n```javascript\nvar response = web3.thk.SendTx({\n  chainId: '2',\n  fromChainId: '2',\n  toChainId: '2',\n  from: '0x0000000000000000000000000000000000000000',\n  to: '0x0e50cea0402d2a396b0db1c5d08155bd219cc52e',\n  nonce: '1',\n  value: '0',\n  input:'0xc3bea9af000000000000000000000000ca35b7d915458ef540ade6068dfe2f44e8fa733c',\n  sig:'0x7d5c7b6b28dd66bada7cfb153fe03433deb331cc74ca82de3ddf49708f1174895404682fcb9bcb30fdb7f6d041b78c56d87e18df1ca6e7e2bd75e38a6a1c8d631c',\n  pub:'0x044e3b81af9c2234cad09d679ce6035ed1392347ce64ce405f5dcd36228a25de6e47fd35c4215d1edf53e6f83de344615ce719bdb0fd878f6ed76f06dd277956de' \n});\n```\n\nresponse:\n```json\n{\n    \"TXhash\": \"0x22024c2e429196ac76d0e557ac0cf6141f5b500c56fde845582b837c9dab236b\"\n}\n```\n\n# 3. 通过交易hash获取交易详情(web3.thk.GetTransactionByHash)\n\n请求参数：\n           \n\n| 参数名  |  类型  | 是否必须 |   含义   |\n| :-----: | :----: | :------: | :------: |\n| chainId | string |   true   |   链id   |\n|  hash   | string |   true   | 交易hash |\n\n响应参数:\n           \n\n|     参数名      |    类型     | 是否必须 |                    含义                     |\n| :-------------: | :---------: | :------: | :-----------------------------------------: |\n|   Transaction   |    dict     |   true   |                  交易详情                   |\n|      root       |   string    |   true   | 保存了创建该receipt对象时，“账户”的当时状态 |\n|     status      |     int     |   true   |          交易状态: 1:成功, 0:失败           |\n|      logs       | array[dict] |  false   |         这个交易产生的日志对象数组          |\n| transactionHash |   string    |   true   |                  交易hash                   |\n| contractAddress |   string    |   true   |                合约账户地址                 |\n|       out       |   string    |   true   |              调用返回结果数据               |\n|     gasUsed     |     int     |   true   |              实际使用的gas个数              |\n|     gasFee      |   String    |   true   |            实际使用总共的gas费用            |\n\nTx:\n           \n\n| 参数名  |  类型  | 是否必须 |                含义                |\n| :-----: | :----: | :------: | :--------------------------------: |\n| chainID |  int   |   true   |                链id                |\n|  from   | string |   true   |          交易发起账户地址          |\n|   to    | string |   true   |          交易接受账户地址          |\n|  nonce  | string |   true   | 交易的发起者在之前进行过的交易数量 |\n|   val   | string |   true   |              转账金额              |\n|  input  | string |   true   |          调用合约时的参数          |\n\n请求示例:\n\n```javascript\nvar response = web3.thk.GetTransactionByHash('1', '0xca222630130bad1555ad633d67d2beefbf405d36fdc3e1abd4260f201284292c');\n```\n\nresponse:\n```json\n{\n   \"tx\": {\n        \"chainid\": 1,\n        \"from\": \"0x853d5281d92cc5c8d0d1bce1f2f7b125ca4e09e7\",\n        \"to\": \"0x2f9bbce6f7d314fbe2b59901d0653a443bc11edd\",\n        \"nonce\": 24,\n        \"value\": 40000000000000000000,\n        \"input\": \"0x88ffe867\",\n        \"hash\": \"\",\n        \"uselocal\": false,\n        \"extra\": \"0x\",\n        \"timestamp\": 0\n    },\n    \"root\": \"eyJmZWUiOiI3MDM1NTIwMDAwMDAwMDAwMCIsInJvb3QiOm51bGx9\",\n    \"status\": 1,\n    \"logs\": [\n        {\n            \"address\": \"0x2f9bbce6f7d314fbe2b59901d0653a443bc11edd\",\n            \"blockNumber\": \"0x5aacf3\",\n            \"data\": \"0x000000000000000000000000853d5281d92cc5c8d0d1bce1f2f7b125ca4e09e70000000000000000000000000000000000000000000000022b1c8c1227a00000000000000000000000000000000000000000000000000000000000005e65d45a\",\n            \"logIndex\": \"0x0\",\n            \"topics\": [\n                \"0xaba4f973c8f45a52365c8348704e79653e4b58ebd452f2d2115423a62ef7a3e1\"\n            ],\n            \"transactionHash\": \"0xca222630130bad1555ad633d67d2beefbf405d36fdc3e1abd4260f201284292c\",\n            \"transactionIndex\": \"0x0\"\n        }\n    ],\n    \"transactionHash\": \"0xca222630130bad1555ad633d67d2beefbf405d36fdc3e1abd4260f201284292c\",\n    \"contractAddress\": \"0x0000000000000000000000000000000000000000\",\n    \"out\": \"0x\",\n    \"gasUsed\": 175888,\n    \"gasFee\": \"70355200000000000\",\n    \"blockHeight\": 5942515\n}\n```\n\n# 4. 获取链信息(web3.thk.GetStats)\n\n请求参数\n           \n\n| 参数名  |  类型  | 是否必须 | 含义 |\n| :-----: | :----: | :------: | :--: |\n| chainId | string |   true   | 链id |\n\n响应参数:\n           \n\n|      参数名       |  类型  | 是否必须 |          含义          |\n| :---------------: | :----: | :------: | :--------------------: |\n|   currentheight   | bigint |   true   |        交易详情        |\n|      txcount      |  int   |   true   |        总交易数        |\n|        tps        |  int   |   true   |       每秒交易数       |\n|   tpsLastEpoch    |  int   |   true   |     上一时期交易数     |\n|       lives       |  int   |   true   |     链的已存活时间     |\n|   accountcount    |  int   |   true   |         账户数         |\n|    epochlength    |  int   |   true   |   当前时期包含多少块   |\n|   epochduration   |  int   |   true   |    当前时期运行时间    |\n| lastepochduration |  int   |   true   |   上一时期的运行时间   |\n|    currentcomm    | array  |   true   | 当前这条链的委员会成员 |\n|     gaslimit      |  Int   |   True   |      gas默认个数       |\n|     gasprice      | String |   true   |          价格          |\n\n请求示例:\n\n```javascript\nvar response = web3.thk.GetStats('103')\n```\n\nresponse\n```json\n{\n    \"accountcount\": 0,\n    \"currentcomm\": [\n        \"0xbfebdb4661c93456c29dcc22ea32340b6a0e400bef924923a53dfe22ad90cbd5069135ef591d65515aa40ef34970599cc7c331667db7f744e89fe8ec305ede9a\",\n        \"0x0df134ddc7bebb8abe61d8649a3054c107908719a4c5fa49be9ffb32037f84a0768d91bcd33e28c8c410760146eead90a72db6880c2d6eb5cac2f10d2be3563f\",\n        \"0x37e7ab457bf4d38a96c06f0fc616e001a0eac9f7b7e8407f97bfd39b30569f069541a27cae9e681aff9d50616970b6b554d0893b25561453f58dc6e174e8e70a\",\n        \"0x8c9cba550f746efcd98635fa6b300cd25ac08b54dda8f067dcba07bb4026c51478a1ac2dd5db3c89179ceab5f10d2f59d6d83f1f9ff652000a0c390b3fbc382e\",\n        \"0xfa1688066b16f61c72b02af5834a9bb79b746a962c8ed82d6f4afce1c5f7ac1987f291b6063e438d3b6c12856a677901878302b1a5865c837252f1db18cdbd2f\",\n        \"0x58c484fbb8d825e92b8e8d62c469e327fc8a55f2d521bb041d352ffb1a4e68cf1675c834e87daeea941f268601086c37df270a1048472a424b30af53053a34f7\",\n        \"0xcdda504db1913c22e961c3f1dfb07941f22b7a0f3b4d3e2a48bc69ad67c0061c21d793e75c35b8f8dcc3a733b8c051fed1ca8d157cea26a65c0bb3c00f8a59f5\",\n        \"0x70d6885ebb21b83377fcd6387f820b087753e5cbfc0bdb6dcd1b3f116680bbebf615441c55db54e36e587131fc9b645fca412b7c6b428d17bb8c24a1f3ae42c7\",\n        \"0xcd2eb869ab358cb7f56f0abcf50623eb46bdf63ef52986fdd377948a87b6e2bf667649b658f6e1705b81e9d4a3380dfdcaa122ab69686ad0d30959aadfa999e5\",\n        \"0x89b0bbcc4df1e4f1be61a527144491be88d86e09db48238ccb07cbd9af19728ff8143318d679184ee058cd57458206ae955d16e16ed5267bdb0819bf6c22c986\",\n        \"0x9b2c2ffb7e950275b1451a1833e885f555b3c05b02a0cb869427bf252c2eb44d2ac46de7c770f2c621b2118681d3fcfcdf8b38bccdb38622748fdba1b97e2780\",\n        \"0x7fa9213bf8027e846d2eb6e5b17f6caea7f80a1c0522f85927744e388afa756b21edcaab7d439b6661024225af1f9a5c3f8eab12a8a60402dc08147f697fe988\",\n        \"0x2010f9c48b2af6679a0821efb657a96fbd8d2621ad20e97ed93eaabaea408baf086ad0009ab235c490e66a11e3ea1924aeaba2955ea7d3f2f9cbd933d41df362\",\n        \"0xc1f4b9c3b129d88ff072aca7c958c57dbbcd3e1e47718990efa799989a5c16893b70bdc1d3af728169bc9cae5f0c1c22ae37c9aa3026789e1e68fb2f68920909\",\n        \"0xd9b5f2c6fafe7391e182a98194b972961a8b4e24afa0152f4da0df9f84bbadb496451dc0b7ff4332e311914a93f7c5f60f07953edcbeef8ccc1637157ee0d5c5\",\n        \"0x73bf86fbc73b5e6f12613a4eeeb8883a6af2d646bab8dd47e117f89d5a5c2369fc908b9003a1db5e4187a11245d61b23b73c2572326048d33860b5b0be9c03c1\",\n        \"0x59c9add6f7ae1d1cc5e79579f309b720b37da127f171ba0e65a3e083bb27698ff22ca505f3298acf70106344b1d07104db15e317f14822e341ecdc21a1e87929\",\n        \"0xb7023c7412e51ff1afa679756b354cf74578c93fbbad8eee2c0a2e60347eb4b857e6e45ab41444010e408e9548d749577c1e6f0301d0d14ee0d3844647761cd7\",\n        \"0x482c7b2e66aabbee8fad39d64faab09f2d0059e1193a5470ec21875cdbd17ce4986f180ab498620d768ef3cba031ee0b534eba21a4c581e3e0842548c5527748\",\n        \"0xe14da122de07cf0d1553fd91b729e6db6a68a103cf6eff190757f6b3bc34bcc88d2f7877d03ccb3e2be980dbe3b65dca6c10d9ae2823ecb4f8d88770b019f22f\",\n        \"0x7af07f8cfa74b9367a10b86eac1883fdbc9eab7814675d8bd7138ec6aa805dda80aa115c9ffe416429f87efb008d30f9c1eaf9c2a8cce274a3f05a7ed0b082ad\",\n        \"0x338035e5aa2c7ce1320c272c0c782c150a589f686767b483f044c746acd65d85af26b4a475ded3adc46cc1b2283f7b1f79ef877d3fef8f275a36e9c2a7bd23b9\",\n        \"0x842409950306aebbcc580bbfd044067e6bc2530cb3f426c1eea1c3b1fd48487e6e01d5392e5b5e2bde9145931c4451b22d779d805237d7b23ce934ecc3447065\",\n        \"0xf9828acc66c3e41ccc00a3683bf5417712a4914f12c1c709eec572483b189feebfcd5e718075e8bd56803243e8a637308c1e535fbe82ef8e6377a45aeeae56c8\",\n        \"0xccc192ed5565d43671c6c1acaf53fd95b9010abf2ba4263854756d6bcfa4d7d2e1fbd43bc1f63cab2f1c74e3956b6ce0d38ebcd555c8e3085a05037be7670731\",\n        \"0x567beb3b4827fbd138ee88592791efadb2a1ced4a57bf6f775b5950566169f19d16904f3c4a1f1f758843a5fba9e5052b97afa8f07de443869dee58700f72dc4\",\n        \"0x67023c6cffb20c1a213f2e038427936adc674c09d54ef1afb1dcfdc8b40a48a80f1ccb51718d3b5bd5d1303e2f365a364d31ce8b6de9f14f18fcde4d43ddfcad\",\n        \"0x250f3081d864de9796f4f9c505accc293f9ff7822c9d1ac4a5840981f486159121560eff795ae974c83971fb1f27e2984924934e9da43c9eda8423474398cd4f\"\n    ],\n    \"currentheight\": 1590270,\n    \"epochduration\": 2911,\n    \"epochlength\": 1000,\n    \"gaslimit\": 2500000,\n    \"gasprice\": \"400000000000\",\n    \"lastepochduration\": 2757,\n    \"lives\": 818243,\n    \"tps\": 0,\n    \"tpsLastEpoch\": 0,\n    \"txcount\": 2\n}\n```\n\n# 5. 获取指定账户在对应链上一定高度范围内的交易信息(web3.thk.GetTransactions)\n\n请求参数\n           \n\n|   参数名    |  类型  | 是否必须 |      含义      |\n| :---------: | :----: | :------: | :------------: |\n|   chainId   | string |   true   |      链id      |\n|   address   | string |   true   |     链地址     |\n| startHeight | string |   true   | 查询的起始块高 |\n|  endHeight  | string |   true   | 查询的截止块高 |\n\n响应参数:\n           \n\n|  参数名   |  类型  | 是否必须 |                含义                |\n| :-------: | :----: | :------: | :--------------------------------: |\n|  chainId  |  int   |   true   |                链id                |\n|   from    | string |   true   |          交易发起账户地址          |\n|    to     | string |   true   |          交易接受账户地址          |\n|   nonce   |  int   |   true   | 交易的发起者在之前进行过的交易数量 |\n|   value   |  int   |   true   |              转账金额              |\n| timestamp |  int   |   true   |            交易的时间戳            |\n|   input   | string |   true   |          调用合约时的参数          |\n|   hash    | string |   true   |              交易hash              |\n\n请求示例:\n\n```javascript\nvar response = web3.thk.GetTransactions('2',\"4fa1c4e6182b6b7f3bca273390cf587b50b47311\", 50, 70);\n\n```\n\nresponse:\n```json\n[\n    {\n        \"chainid\": 2,\n        \"from\": \"0x2c7536e3605d9c16a7a3d7b1898e529396a65c23\",\n        \"to\": \"0x0000000000000000000000000000000000020000\",\n        \"nonce\": 0,\n        \"value\": 0,\n        \"input\":\n        \"0x000000022c7536e3605d9c16a7a3d7b1898e529396a65c230000000000000000000000034fa1c4e6182b6b7f3bca273390cf587b50b4731100000000000456440101\",\n        \"hash\":\n        \"0x0ea5dad47833fc6286357b6bd6c1a4e910def5f4432a1a59bde0f816c3dd18e0\",\n        \"timestamp\": 1560425588\n    },\n    {\n        \"chainid\": 2,\n        \"from\": \"0x2c7536e3605d9c16a7a3d7b1898e529396a65c23\",\n        \"to\": \"0x133c5bfef5d486052b061b44af113f20057341a8\",\n        \"nonce\": 1,\n        \"value\": 0,\n        \"input\":\n        \"0xa9059cbb00000000000000000000000066261e3faf00ef1537b22f37d8db85f57066f58f0000000000000000000000000000000000000000000000000000000000004e20\",\n        \"hash\":\n        \"0x1dbbda2d229db82ff12b3bea82d49225e6bebd645def4c06da157ddbe5660066\",\n        \"timestamp\": 1560425596\n    }\n]\n\n```\n\n# 6. 调用交易（web3.thk.CallTransaction）\n\n请求参数\n           \n\n|   参数名    |  类型  | 是否必须 |                含义                |\n| :---------: | :----: | :------: | :--------------------------------: |\n|   chainId   | string |   true   |                链id                |\n| fromChainId | string |   true   |       交易发起账户地址的链id       |\n|  toChainId  | string |   true   |       交易接受账户地址的链id       |\n|    from     | string |   true   |          交易发起账户地址          |\n|     to      | string |   true   |          交易接受账户地址          |\n|    nonce    | string |   true   | 交易的发起者在之前进行过的交易数量 |\n|    value    | string |   true   |              转账金额              |\n|    input    | string |   true   |          调用合约时的参数          |\n\n响应参数:\n           \n\n|     参数名      |    类型     | 是否必须 |                    含义                     |\n| :-------------: | :---------: | :------: | :-----------------------------------------: |\n|   Transaction   |    dict     |   true   |                  交易详情                   |\n|      root       |   string    |   true   | 保存了创建该receipt对象时，“账户”的当时状态 |\n|     status      |     int     |   true   |          交易状态: 1:成功, 0:失败           |\n|      logs       | array[dict] |   true   |         这个交易产生的日志对象数组          |\n| transactionHash |   string    |   true   |                  交易hash                   |\n| contractAddress |   string    |   true   |                合约账户地址                 |\n|       out       |   string    |   true   |              调用返回结果数据               |\n\nTransaction:\n\n| 参数名  |  类型  | 是否必须 |                含义                |\n| :-----: | :----: | :------: | :--------------------------------: |\n| chainId | string |   true   |                链id                |\n|  from   | string |   true   |          交易发起账户地址          |\n|   to    | string |   true   |          交易接受账户地址          |\n|  nonce  | string |   true   | 交易的发起者在之前进行过的交易数量 |\n|   val   | string |   true   |              转账金额              |\n|  input  | string |   true   |          调用合约时的参数          |\n\n请求示例:\n\n```javascript\nvar response = web3.thk.CallTransaction({\n    chainId:'2',\n    fromChainId:'2',\n    toChainId:'2', \n    from:'0x0000000000000000000000000000000000000000',\n    to:'0x0e50cea0402d2a396b0db1c5d08155bd219cc52e',\n    nonce:'22',\n    value:'0',\n    input:'0xe98b7f4d0000000000000000000000000000000000000000000000000000000000000001'\n});\n\n```\n\nresponse:\n```json\n{\n    \"Transaction\": {\n        \"chainID\": 2,\n        \"from\": \"0x0000000000000000000000000000000000000000\",\n        \"to\": \"0x0e50cea0402d2a396b0db1c5d08155bd219cc52e\",\n        \"nonce\": 2,\n        \"value\": 0,\n        \"input\": \"0xe98b7f4d0000000000000000000000000000000000000000000000000000000000000001\",\n        \"hash\": '',\n\t\t\"timestamp\": 0\n    },\n    \"root\": null,\n    \"status\": 0,\n    \"logs\": null,\n    \"transactionHash\": \"0x9936cab441360985fc9e27904f0767c1c39fe8e0edb83709a0cdad52470a4592\",\n    \"contractAddress\": \"0x0000000000000000000000000000000000000000\",\n    \"out\": \"0x\"\n}\n\n```\n\n# 7. 获取指定块高信息(web3.thk.GetBlockHeader)\n\n请求参数\n           \n\n| 参数名  |  类型  | 是否必须 |     含义     |\n| :-----: | :----: | :------: | :----------: |\n| chainId | string |   true   |     链id     |\n| height  | string |   true   | 查询块的块高 |\n\n响应参数:\n           \n\n|    参数名    |  类型  | 是否必须 |          含义          |\n| :----------: | :----: | :------: | :--------------------: |\n|     hash     | string |   true   |       此块的hash       |\n| previoushash | string |   true   |       父块的hash       |\n|   chainid    |  int   |   true   |          链id          |\n|    height    |  int   |   true   |      查询块的块高      |\n|  mergeroot   | string |   true   | 合并其他链转账数据hash |\n|  deltaroot   | string |   true   |    跨链转账数据hash    |\n|  stateroot   | string |   true   |        状态hash        |\n|   txcount    |  int   |   true   |        交易总数        |\n|  timestamp   |  int   |   true   |         时间戳         |\n\n请求示例:\n\n```javascript\nvar response = web3.thk.GetBlockHeader('2', '30');\n\n```\n\nresponse:\n```json\n{\n    \"hash\": \"0x71603186004fd46d32cda0780c4f4cf77ce13b396b1b8132b2c632173441b9d2\",\n    \"previoushash\": \"0xd0f6e9c89eb6be655632911e3743b5a994423c3526653dc55b62ebea3ff56c43\",\n    \"chainid\": 2,\n    \"height\": 30,\n    \"mergeroot\": \"0xdddfde85423a0d7da064c1b5a8cc1ff18d4a209027ef95ecceae0e6ed8f7c1af\",\n    \"deltaroot\": \"0xdddfde85423a0d7da064c1b5a8cc1ff18d4a209027ef95ecceae0e6ed8f7c1af\",\n    \"stateroot\": \"0x0b672749b02da6bf8f3aa50238140ce7fae5af3e926d4eb06d4cfb707a90702e\",\n    \"txcount\": 1,\n    \"timestamp\": 1547777358\n}\n\n```\n\n# 8. 获取指定块的交易(web3.thk.GetBlockTxs)\n\n请求参数\n       \n\n| 参数名  |  类型  | 是否必须 |     含义     |\n| :-----: | :----: | :------: | :----------: |\n| chainId | string |   true   |     链id     |\n| height  | string |   true   | 查询块的块高 |\n|  page   | string |   true   |     页码     |\n|  size   | string |   true   |   页的大小   |\n\n响应参数:\n           \n\n|     参数名     | 类型  | 是否必须 |   含义   |\n| :------------: | :---: | :------: | :------: |\n|   elections    | dict  |   true   | 交易详情 |\n| accountchanges | array |   true   | 交易信息 |\n\naccountchanges:\n\n|  参数名   |  类型  | 是否必须 |                含义                |\n| :-------: | :----: | :------: | :--------------------------------: |\n|  chainId  | string |   true   |                链id                |\n|  height   |  int   |   true   |           查询的起始块高           |\n|   from    | string |   true   |          交易发起账户地址          |\n|    to     | string |   true   |          交易接受账户地址          |\n|   nonce   |  int   |   true   | 交易的发起者在之前进行过的交易数量 |\n|   value   |  int   |   true   |              转账金额              |\n| timestamp |  int   |   true   |            交易的时间戳            |\n\n请求示例:\n\n```javascript\nvar response = web3.thk.GetBlockTxs('2', '30','1','10');\n\n```\n\nresponse:\n```json\n{\n    \"elections\": null,\n    \"accountchanges\": [\n        {\n            \"chainId\": 2,\n            \"height\": 30,\n            \"from\": \"0x4fa1c4e6182b6b7f3bca273390cf587b50b47311\",\n            \"to\": \"0x4fa1c4e6182b6b7f3bca273390cf587b50b47311\",\n            \"nonce\": 30,\n            \"value\": 1,\n            \"input\": \"0x\",\n\t\t\t\"hash\": \"0x4bff6fad0cd46599289e4e465987cfc94278363b12eca3f37572be8c2ce1b061\",\n            \"timestamp\": 1547777358\n        }\n    ]\n}\n\n```\n\n# 9. 编译合约(solc.compile)\n\n**thinkium-web3js项目 test/contract/deploy_test.js 文件有示例**\n\n请求参数\n\n```javascript\nvar input = {\n    language: 'Solidity',\n    sources: {\n        'test.sol': {      //合约文件名称\n          content: contractContent     //合约文件内容\n        }\n    },\n    settings: {\n        outputSelection: {\n            '*': {\n              '*': ['*']\n            }\n        }\n    }\n};\n```\n\n请求示例:\n\n```javascript\n\nvar solc = require('solc');\n\nfunction compileContract(contractContent) {    //合约可能有多个\n    const input = {\n        language: 'Solidity',\n        sources: {\n            'test.sol': {\n                content: contractContent\n            }\n        },\n        settings: {\n            outputSelection: {\n                '*': {\n                    '*': ['*']\n                }\n            }\n        }\n    };\n\n    const output = JSON.parse(solc.compile(JSON.stringify(input)));\n    // for (var contractName in output.contracts['test.sol']) {\n    //     console.log(contractName + ': ' + output.contracts['test.sol'][contractName]);\n    // }\n    return output.contracts['test.sol']\n}\n\nlet contents = `pragma solidity >= 0.5.0;\n                contract HelloWorld {\n                    uint256 age = 17;\n                    string nickname = \"Hello\";\n                    function getAge() public view returns (uint256 data){\n                        return age;\n                    }\n                    function getNickname() public view returns (string memory data){\n                        return nickname;\n                    }\n                    function setNickname(string memory data) public {\n                        nickname = data;\n                    }\n                }`;\n// 1、编译合约\nconst deployResult = compileContract(contents)['HelloWorld'];\n\n//最后获取合约abi 和 byteCode 字节码\nconst contractAbi = deployResult.abi;\nconst contractByteCode = deployResult.evm.bytecode.object.slice(0, 2) === '0x' ? deployResult.evm.bytecode.object : '0x' + deployResult.evm.bytecode.object;\n\n```\n\n# 10.1 部署合约（web3.thk.contract(abi).new({data: code});）\n\n**thinkium-web3js项目 test/contract/deploy_test.js 文件有示例**\n\n请求参数\n\n```javascript\n//最后获取合约abi 和 byteCode 字节码\nconst contractAbi = deployResult.abi;\nconst contractByteCode = deployResult.evm.bytecode.object.slice(0, 2) === '0x' ? deployResult.evm.bytecode.object : '0x' + deployResult.evm.bytecode.object;\n```\n\n请求示例:\n\n```javascript\n//部署合约 参数为合约abi 和 byteCode 字节码\nfunction deployContract(abi, codes) {\n    let contracts = web3.thk.contract(abi).new({data: codes});\n    console.log(\"contracts: \" + JSON.stringify(contracts, null, 1));\n    if (contracts.transactionHash) {\n        sleep(5);\n        const res = web3.thk.GetTransactionByHash(web3.thk.defaultChainId, contracts.transactionHash);\n        return res.contractAddress\n    }\n    return '';\n}\n\n// 2、发布合约\nconst contractAddress = deployContract(contractAbi, contractByteCode);\nconsole.log('contractAddress: ', contractAddress); //返回的为部署后的合约地址\nconsole.log('contractAbi: ', contractAbi);\n```\n\n# 10.2 调用合约方法 (web3.thk.contract(abi,contractAddress).at(contractAddress))\n\n```javascript\n//获取合约对象，调用合约方法，参数为合约abi 和 合约地址\nfunction fromAbi(abi, address) {\n    return web3.thk.contract(abi, address).at(address);\n}\n\n// 3、调用合约\n// 获取合约对象， 通过该对象可以调用合约内的方法\nconst helloWorld = fromAbi(contractAbi, contractAddress);\n\n// 调用合约内的 setNickname 和 getNickname方法\nhelloWorld.setNickname(\"world\");\nsleep(5); // 合约内的修改方法需要等待hash成功后，此处等待5秒，酌情修改等待时长\nconsole.log(\"contract function res:\", helloWorld.getNickname());\n```\n\n# 11. ping（web3.thk.Ping）\n\n请求参数\n           \n\n| 参数名  |  类型  | 是否必须 |  含义   |\n| :-----: | :----: | :------: | :-----: |\n| address | string |   true   | ip+端口 |\n\n响应参数:\n           \n\n|    参数名     |  类型  | 是否必须 |      含义      |\n| :-----------: | :----: | :------: | :------------: |\n|    nodeId     | string |   true   |     节点id     |\n|    version    | string |   true   |      版本      |\n|  isDataNode   |  bool  |   true   | 是否是数据节点 |\n|  dataNodeOf   |  int   |   true   |    数据节点    |\n|  lastMsgTime  | int64  |   true   | 上一个信息时间 |\n| lastEventTime | int64  |   true   | 上一个事件时间 |\n| lastBlockTime | int64  |   true   |  上一个块时间  |\n|   overflow    |  bool  |   true   |      溢出      |\n|  lastBlocks   |  map   |   true   |   最后一个块   |\n|    opTypes    |  map   |   true   |      类型      |\n\n请求示例:\n\n```javascript\nvar response = web3.thk.Ping(\"192.168.1.13:22010\")\n```\n\nresponse:\n```json\n{\n    \"nodeId\":\n    \"0x5e17128ba224a96d6e84be0c7f899febea26c55c78940610d78a0d22dbd0ab03cc3233491de0b5eb770dbf850b509bd191723df4fc40520bcbab565d46543d6e\",\n    \"version\": \"V1.0.0\",\n    \"isDataNode\": true,\n    \"dataNodeOf\": 0,\n    \"lastMsgTime\": 1560850367,\n    \"lastEventTime\": 1560850367,\n    \"lastBlockTime\": 1560850367,\n    \"overflow\": false,\n    \"lastBlocks\": {\n    \t\"0\": 159927\n    },\n    \"opTypes\": {\n        \"0\": [\n        \t\"DATA\"\n        ]\n    }\n}\n\n```\n\n# 12. 生成支票的证明(web3.thk.RpcMakeVccProof)\n\n请求参数\n           \n\n|   参数名    | 类型 | 是否必须 |   含义   |\n| :---------: | :--: | :------: | :------: |\n| transaction | dict |   true   | 交易对象 |\n\ntransaction：\n           \n\n|    参数名    |  类型  | 是否必须 |                含义                |\n| :----------: | :----: | :------: | :--------------------------------: |\n|   chainId    | string |   true   |                链id                |\n| fromChainId  | string |   true   |       交易发起账户地址的链id       |\n|  toChainId   | string |   true   |       交易接受账户地址的链id       |\n|     from     | string |   true   |          交易发起账户地址          |\n|      to      | string |   true   |          交易接受账户地址          |\n|    nonce     | string |   true   | 交易的发起者在之前进行过的交易数量 |\n|    value     | string |   true   |              转账金额              |\n| ExpireHeight |  int   |   true   |              过期高度              |\n\n响应参数:\n           \n\n| 参数名 |  类型  | 是否必须 |      含义      |\n| :----: | :----: | :------: | :------------: |\n| input  | string |   true   | 生成的支票证明 |\n\n请求示例:\n\n```javascript\nlet obj = {\n    chainId: '2',\n    from: '0x2c7536e3605d9c16a7a3d7b1898e529396a65c23',\n    to: '0x2c7536e3605d9c16a7a3d7b1898e529396a65c23',\n    fromChainId: '2',\n    toChainId: '3',\n    value: '1000000000000000',\n    expireheight: '54223',\n    nonce: '47'\n};\nvar response = web3.thk.RpcMakeVccProof(obj)\n\n```\n\nresponse:\n```json\n{\n    \"input\": \"0x95000000022c7536e3605d9c16a7a3d7b1898e529396a65c23000000000000002f000000032c7536e3605d9c16a7a3d7b1898e529396a65c23000000000000d3cf07038d7ea4c6800002a2d30bc06dc891383f7c61c310c9109aae0407508ced3f5562670b13cc5f093777a65a0193941093a1b6df76df5387752a24b904aac80067c3aa0ea7eb1b40074d4a30889e0083412744c2000080809409934080c20202808100018187aa9f339cf1ba6ffe6986f68c639a835fac453ac37d0df6e72091b1cd1cd30001019424930080c20000c02c83b4898418ce3324a2deeacf5848d49981f8ad2ad60c810c23e78e840dbc1781000524ac33cdd9e9bf0cbdfc4d357d81d5d1638dd7516ec38d779300f5f6e76d9b7ee0eccda334e611eb97288b59a36e78b25eb15746f593036a56ab50f89174f60062e715f8969d49b1ada75ce66977ab01219068e1adcf104eb328442fa3002759eca078605c1b0ad6ff4323f7c23307585d3dddd504f96e7a7f722f9802d2a1b7130047aeaaba37848d7c13a6df0328565e15ba9401b2485ac662423afcc01bb4000110\"\n}\n\n```\n\n# 13. 生成取消支票的证明(web3.thk.MakeCCCExistenceProof)\n\n请求参数\n           \n\n|   参数名    | 类型 | 是否必须 |   含义   |\n| :---------: | :--: | :------: | :------: |\n| transaction | dict |   true   | 交易对象 |\n\ntransaction：\n           \n\n|    参数名    |  类型  | 是否必须 |                含义                |\n| :----------: | :----: | :------: | :--------------------------------: |\n|   chainId    | string |   true   |                链id                |\n| fromChainId  | string |   true   |       交易发起账户地址的链id       |\n|  toChainId   | string |   true   |       交易接受账户地址的链id       |\n|     from     | string |   true   |          交易发起账户地址          |\n|      to      | string |   true   |          交易接受账户地址          |\n|    nonce     | string |   true   | 交易的发起者在之前进行过的交易数量 |\n|    value     | string |   true   |              转账金额              |\n| ExpireHeight |  int   |   true   |              过期高度              |\n\n响应参数:\n           \n\n|  参数名   |  类型  | 是否必须 |      含义      |\n| :-------: | :----: | :------: | :------------: |\n|   input   | string |   true   | 生成的支票证明 |\n| existence |  bool  |   true   |  是否存过支票  |\n\n请求示例:\n\n```javascript\nlet obj = {\n    chainId: '2',\n    from: '0x2c7536e3605d9c16a7a3d7b1898e529396a65c23',\n    to: '0x2c7536e3605d9c16a7a3d7b1898e529396a65c23',\n    fromChainId: '2',\n    toChainId: '3',\n    value: '1000000000000000',\n    expireheight: '54223',\n    nonce: '47'\n}\nvar response = web3.thk.MakeCCCExistenceProof(obj)\n\n```\n\nresponse:\n```json\n{\n    \"existence\": false,\n    \"input\": \"0x95000000022c7536e3605d9c16a7a3d7b1898e529396a65c23000000000000002f000000032c7536e3605d9c16a7a3d7b1898e529396a65c23000000000000d3cf07038d7ea4c6800002a2d30bc06dc891383f7c61c310c9109aae0407508ced3f5562670b13cc5f093777a65a0193941093a1b6df76df5387752a24b904aac80067c3aa0ea7eb1b40074d4a30889e0083412744c2000080809409934080c20202808100018187aa9f339cf1ba6ffe6986f68c639a835fac453ac37d0df6e72091b1cd1cd30001019424930080c20000c02c83b4898418ce3324a2deeacf5848d49981f8ad2ad60c810c23e78e840dbc1781000524ac33cdd9e9bf0cbdfc4d357d81d5d1638dd7516ec38d779300f5f6e76d9b7ee0eccda334e611eb97288b59a36e78b25eb15746f593036a56ab50f89174f60062e715f8969d49b1ada75ce66977ab01219068e1adcf104eb328442fa3002759eca078605c1b0ad6ff4323f7c23307585d3dddd504f96e7a7f722f9802d2a1b7130047aeaaba37848d7c13a6df0328565e15ba9401b2485ac662423afcc01bb4000110\"\n}\n```\n\n# 14. 获取链结构（ web3.thk.GetChainInfo）\n\n请求参数\n           \n\n|  参数名  |  类型  | 是否必须 |            含义            |\n| :------: | :----: | :------: | :------------------------: |\n| chainIds | string |   true   | 链id（备注：传空代表所有） |\n\n响应参数:\n           \n\n| 参数名 |    类型     | 是否必须 |    含义    |\n| :----: | :---------: | :------: | :--------: |\n|   []   | []chainInfo |   true   | 链信息数组 |\n\nchainInfo：\n           \n\n|  参数名   |    类型    | 是否必须 |    含义    |\n| :-------: | :--------: | :------: | :--------: |\n|  chainId  |    int     |   true   |    链id    |\n| datanodes | []dataNode |   true   | 数据节点群 |\n|   mode    |    int     |   true   |    模式    |\n|  parent   |    int     |   true   |     父     |\n\ndataNode：\n           \n\n|    参数名    |  类型  | 是否必须 |     含义     |\n| :----------: | :----: | :------: | :----------: |\n|  dataNodeId  |  int   |   true   |  数据节点id  |\n|  dataNodeIp  | string |   true   |  数据节点ip  |\n| dataNodePort |  int   |   true   | 数据节点端口 |\n\n请求示例:\n\n```javascript\nvar response = web3.thk.GetChainInfo([])\n```\n\nresponse:\n```json\n[\n    {\n        \"chainId\": 0,\n        \"datanodes\": [\n            {\n                \"dataNodeId\": \"0x5e17128ba224a96d6e84be0c7f899febea26c55c78940610d78a0d22dbd0ab03cc3233491d0b5eb770dbf850b509bd191723df4fc40520bcbab565d46543d6e\",\n                \"dataNodeIp\": \"192.168.1.13\",\n                \"dataNodePort\": 22010\n            }\n        ],\n        \"mode\": 5,\n        \"parent\": 1048576\n    },\n    {\n        \"chainId\": 1,\n        \"datanodes\": [\n            {\n                \"dataNodeId\": \"0x96dc94580e0eadd78691807f6eac9759b9964daa8b46da4378902b040e0eb102cb48413308d2131e9e5557321f30ba9287794f689854e6d2e63928a082e79286\",\n                \"dataNodeIp\": \"192.168.1.13\",\n                \"dataNodePort\": 22014\n            }\n        ],\n        \"mode\": 6,\n        \"parent\": 0\n    },\n    {\n        \"chainId\": 2,\n        \"datanodes\": [\n            {\n                \"dataNodeId\":\"0xa93b150f11c422d8700554859281be8e34a91a859e0e021af186002c7e4a2661ea2467a63b417030d68e2fdddeb4342943dff13225da77124abf912fd092f71f\",\n                \"dataNodeIp\": \"192.168.1.13\",\n                \"dataNodePort\": 22018\n            }\n        ],\n        \"mode\": 6,\n        \"parent\": 0\n    },\n    {\n        \"chainId\": 3,\n        \"datanodes\": [\n            {\n                \"dataNodeId\": \"0x783f4b2490461ecfd8ee8d3451e434de06bacb0ffff56de53a33fe545589094fa0b929eeaa62dc5203d1e831ccdd37d206d0b85b193921efb223bf0cb2f37b4c\",\n                \"dataNodeIp\": \"192.168.1.13\",\n                \"dataNodePort\": 22022\n            }\n        ],\n        \"mode\": 7,\n        \"parent\": 1\n    },\n    {\n        \"chainId\": 4,\n        \"datanodes\": [\n            {\n                \"dataNodeId\": \"0x44c98ab831f3ca4553e491bba06753e959ceb55d43e18bc76539572feb1e0dbaf2fbfc19f571d6544e82be1c7c39760f6a023d4be4dcb9473dd580c731d03926                \",\n                \"dataNodeIp\": \"192.168.1.13\",\n                \"dataNodePort\": 22026\n            }\n        ],\n        \"mode\": 7,\n        \"parent\": 1\n    }\n]\n```\n\n# 15. 获取委员会详情（web3.thk.GetCommittee）\n\n请求参数\n           \n\n| 参数名  |  类型  | 是否必须 |   含义   |\n| :-----: | :----: | :------: | :------: |\n| chainId | string |   true   |   链id   |\n|  epoch  | string |   true   | 参选轮次 |\n\n响应参数:\n           \n\n|    参数名     |   类型   | 是否必须 |    含义    |\n| :-----------: | :------: | :------: | :--------: |\n| MemberDetails | []string |   true   | 委员会详情 |\n\n请求示例:\n\n```javascript\nvar response = web3.thk.GetCommittee(\"1\",\"411\")\n\n```\n\nresponse:\n```json\n[\n    \"0xe90a151759bf070969aae664e00502bb08568c85a73874492a3ec480c5178d5da29c790896fc62106e32d172819dec94202ff90f3b7ba3e6adf38508bc58cf43\",\n    \"0x3224de0da639511fec588d2e28f4472476b1600d003a10e38e0456426337624aaecd6636e5ce7ff95fc10746471ce7b680f664ccbf17057ca18c761706afa391\",\n    \"0xad88dc0c0cf7d9e4a62f97e81f33556f65abba96b3c7108a732ff20f1a23530ca7730a6885d91ac718e1bb6ebad5e18bf8b7a58b91cbf717b48b723c7ceedef6\",\n    \"0x8c7872c0c96a9f5b396120a0a45706678ab7a34c34a146ce9329c894f8cb9de41ec10edbf6b9c85796fd9e91d8d651a53578f164c8ee71a2d2cbfef9d5a4c6a4\",\n    \"0xdb3e5b5ea24e1d760a59cf22cfafeed5a4e57af2108fc0df3bf457a82f754264b3fdf9d77fcab306a9809ebcd76de91e382d912a90e3f37edf4eb04f3f036d0b\",\n    \"0x4ce2edd98452036c804f3f2eeef157672be2ccf647369eb42eb49ab9f428821f9990efde3cf7f16e4c64616c10b673077f4278c6dd2fc6021da8ad0085a522a2\", \n    \"0xd1f889690f8c75bbada89a4c8893b8bf6fe29be3b5c3d8a2d772024a340d59d375f39ed88498666a57da10af885ad63a414f8a10153fb739eb1ebfcef57cc883\"\n]\n\n```\n\n# 16. 新建一个合约对象(web3.thk.contract)\n\n请求参数\n           \n\n| 参数名  |  类型  | 是否必须 |                        含义                        |\n| :-----: | :----: | :------: | :------------------------------------------------: |\n|   abi   | string |   true   | abi数组(合约中的response[\"info\"][\"abiDefinition\"]) |\n| address | string |   true   |                      合约地址                      |\n\n请求示例:\n\n```javascript\n// myCon对象可以直接调用合约内方法\nvar myCon = web3.thk.contract(getcontract[\"<stdin>:\" + cotractName][\"info\"][\"abiDefinition\"]).at(contractAddress);\n// 调用方法前手动设置账户\nweb3.thk.setCaller(\"0x0000000000000000000000000000000000000000\");\nweb3.thk.setVal(\"0\");\n// 调用合约内set方法\nmyCon.set(2);\n//调用合约内get方法, 需调用set方法后几秒钟再调用get\nmyCon.get();\n```\n\n","readmeFilename":"README.md","gitHead":"55aeb2206d2dcaecbeb0bcd6daa5ca0ce24ad2dd","_id":"thinkium-web3js@1.0.16-1","_nodeVersion":"14.8.0","_npmVersion":"6.14.7","dist":{"integrity":"sha512-LjNtIHbYwGpoFw58h9vueA6W92MtaiYwIpRTcbQpyhEzqdcGHkZmvrvW+SgTHvRbrELUsxxoQV4uWG6/3miHUA==","shasum":"a924ea55d53a78732ba6b7e58652e10c325b4584","tarball":"https://registry.npmjs.org/thinkium-web3js/-/thinkium-web3js-1.0.16-1.tgz","fileCount":199,"unpackedSize":3026027,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqOohCRA9TVsSAnZWagAA5UEP/jXkz4dbcfOM6ISNPyOk\niOW683xSliT+2qVkb1A5mMH1gf9a+bRL1th1yCDsKEz5VGOKkAX0Wn7jS2Su\n7xRe1+yHkKPJC1iKrb3bFo06vw61R8tnKBd2yXMYClcfffDShEzs6oUxEKbl\nsrMPb+8vCIULXnS7encNRxidjxyMEuqnQ0pmNJ4I6Ajhm5Ev4+A9cK158fS9\nAnriI+p5z6dUO1jcR7uWOsl5i9TrUxNwRAekstF0Yl2I/1nVRHvfM2MQwn3k\nEkF6OVjjlxFjFaGvfi/qRJs57mLKKDKkBe/TGsTzyfn0/z3u6u/g3eB5ZR9s\nnQLmNEg5QqK8Te3n3dS2dtMP4qzXuUo/sLhvkW3DjHmytyrd5TUCWbcz1VRF\n1gnsIh4neh7DKJYE2ZyFg3uVo38KlSMPzc4mNRKLPlgMEUot4KjJIeaYnu70\nBix0MN9cbEU9QFzqJTarTBuOyk5qmLpvuf8lAmV7tYbF+97iMouFFtOEfDCT\n8SfR87NTrnqjKJc9nwQ5yKOKeVReRicyStK1QKIatEjBuj3d4X38efmjVlqs\n+9W5KoOfX4/akZVXYE+xIJKcu2XLy1ouKzXQ3D3CiHOjFGCqHqZEJW5VdwYc\ngofnjqv4uTtc55IOBeiY2cOwi55HmfqWr+PniAwwlq0nzt46yz00uyadf77E\nVDqH\r\n=p7iF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD3UTUQmwI+DfzVEUWW7uvuYB6gMlg6VCGQBdfPeE7yyQIhAPzsOgq03nGS/JXX15jCM672Jhd3qwbbygiN+EriUrWk"}]},"_npmUser":{"name":"fankouzu","email":"cuijin@aitj.com"},"maintainers":[{"name":"fankouzu","email":"cuijin@aitj.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/thinkium-web3js_1.0.16-1_1604905504512_0.29390785677106535"},"_hasShrinkwrap":false},"1.0.16-2":{"name":"thinkium-web3js","version":"1.0.16-2","description":"Thinkium JavaScript API, middleware to talk to a thinkium node over RPC","main":"./index.js","directories":{"lib":"./lib"},"dependencies":{"bignumber.js":"^8.1.1","bip39":"^3.0.2","crypto-js":"^3.1.4","describe":"^1.2.0","ethereumjs-util":"^6.1.0","ethjs-util":"^0.1.6","mongodb":"^3.1.10","secp256k1":"^3.7.1","solc":"^0.5.0","utf8":"^2.1.1","xhr2-cookies":"^1.1.0","xmlhttprequest":"*"},"browser":{"xmlhttprequest":"./lib/utils/browser-xhr.js"},"devDependencies":{"bower":">=1.4.1","browserify":">=10.0","cached-path-relative":">=1.0.2","chai":"^3.5.0","coveralls":"^3.0.2","del":">=2.0.2","exorcist":"^0.4.0","gulp":"^4.0.0","gulp-jshint":">=1.5.0","gulp-rename":">=1.2.0","gulp-replace":"^0.5.3","gulp-streamify":"0.0.5","gulp-uglify":">=1.2.0","gulp-uglify-es":"^1.0.4","handlebars":">=4.0.14","hdkey":"^2.0.1","istanbul":"^0.4.4","js-yaml":">=3.13.1","jshint":"^2.9.6","lodash":">=4.17.13","lodash.merge":">=4.6.2","lodash.template":">=4.5.0","mocha":"^5.2.0","sandboxed-module":"^2.0.2","vinyl-source-stream":"^2.0.0"},"scripts":{"build":"gulp","watch":"gulp watch","lint":"jshint *.js lib","test":"mocha; jshint *.js lib","test-coveralls":"istanbul cover _mocha -- -R spec && cat coverage/lcov.info | coveralls --verbose","beta":"rm -f package-lock.json && npm version prerelease && npm publish --tag beta"},"repository":{"type":"git","url":"git+https://github.com/Thinkium-Blockchain/web3.js.git"},"homepage":"https://github.com/Thinkium-Blockchain/web3.js","bugs":{"url":"https://github.com/Thinkium-Blockchain/web3.js/issues"},"keywords":["thinkium","javascript","API"],"license":"LGPL-3.0","readme":"# Installation\n\n### npm\n\n```bash\nnpm install thinkium-web3js\n```\n\n### Yarn\n\n```bash\nyarn add thinkium-web3js\n```\n\n### As a Browser module\n\n* Include `web3.min.js` in your html file. (not required for the meteor package)\n\n# Usage\n\nUse the `web3` object directly from the global namespace:\n\n```js\nvar Web3 = require('thinkium-web3js');\nvar web3 = new Web3();\nconsole.log(web3); // {thk: .., shh: ...} // It's here!\n```\n\nSet a provider (`HttpProvider` using [HTTP Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication)):\n\n```js\nlet rpcUrl = 'https://rpcproxy.thinkium.vip';     //rpc proxy\nweb3.setProvider(new web3.providers.HttpProvider(rpcUrl));\n```\n\nThere you go, now you can use it:\n\n```js\nvar account = web3.thk.GetAccount(chainId,address);\nvar balance = account.balance;\n```\n\nYou can find more examples in the [`example`](https://github.com/Thinkium-Blockchain/web3.js/tree/master/example) directory.\n\n# TUKE Web3.js SDK接口文档\n\n# 1. 获取账户余额(web3.thk.getAccount)\n\n请求参数\n           \n\n| 参数名  |  类型  | 是否必须 |   含义   |\n| :-----: | :----: | :------: | :------: |\n| chainId | string |   true   |   链id   |\n| address | string |   true   | 账户地址 |\n\n响应参数:\n\n|   参数名    |  类型  | 是否必须 |                 含义                 |\n| :---------: | :----: | :------: | :----------------------------------: |\n|   address   | string |   true   |               账户地址               |\n|    nonce    |  int   |   true   |  交易的发起者在之前进行过的交易数量  |\n|   balance   | bigint |   true   |               账户余额               |\n| storageRoot | string |  false   | 合约存储数据的hash(没有合约返回null) |\n|  codeHash   | string |  false   |   合约代码的hash(没有合约返回null)   |\n\n请求示例:\n\n```javascript\nvar response = web3.thk.GetAccount(\"2\",\"0x2c7536e3605d9c16a7a3d7b1898e529396a65c23\");\n```\n\nresponse:\n```json\n{\n  \t\"address\": \"0x2c7536e3605d9c16a7a3d7b1898e529396a65c23\",\n\t\"balance\": 9.99999985e+26,\n\t\"codeHash\": null,\n\t\"nonce\": 43,\n\t\"storageRoot\": null\n}\n```\n\n# 2. 执行一笔交易(web3.thk.SendTx)\n\n请求参数：\n           \n\n|   参数名    |  类型  | 是否必须 |                含义                |\n| :---------: | :----: | :------: | :--------------------------------: |\n|   chainId   | string |   true   |                链id                |\n|    from     | string |   true   |          交易发起账户地址          |\n|     to      | string |   true   |          交易接受账户地址          |\n|    nonce    | string |   true   | 交易的发起者在之前进行过的交易数量 |\n|    value    | string |   true   |              转账金额              |\n|    input    | string |   true   |          调用合约时的参数          |\n| fromChainId | string |   true   |           交易发起链 id            |\n|  toChainId  | string |   true   |           交易接受链 id            |\n|     sig     | string |   true   |              交易签名              |\n|     pub     | string |   true   |                公钥                |\n\n响应参数:\n           \n\n| 参数名 |  类型  | 是否必须 |   含义   |\n| :----: | :----: | :------: | :------: |\n| TXhash | string |   true   | 交易hash |\n\n请求示例:\n\n```javascript\nvar response = web3.thk.SendTx({\n  chainId: '2',\n  fromChainId: '2',\n  toChainId: '2',\n  from: '0x0000000000000000000000000000000000000000',\n  to: '0x0e50cea0402d2a396b0db1c5d08155bd219cc52e',\n  nonce: '1',\n  value: '0',\n  input:'0xc3bea9af000000000000000000000000ca35b7d915458ef540ade6068dfe2f44e8fa733c',\n  sig:'0x7d5c7b6b28dd66bada7cfb153fe03433deb331cc74ca82de3ddf49708f1174895404682fcb9bcb30fdb7f6d041b78c56d87e18df1ca6e7e2bd75e38a6a1c8d631c',\n  pub:'0x044e3b81af9c2234cad09d679ce6035ed1392347ce64ce405f5dcd36228a25de6e47fd35c4215d1edf53e6f83de344615ce719bdb0fd878f6ed76f06dd277956de' \n});\n```\n\nresponse:\n```json\n{\n    \"TXhash\": \"0x22024c2e429196ac76d0e557ac0cf6141f5b500c56fde845582b837c9dab236b\"\n}\n```\n\n# 3. 通过交易hash获取交易详情(web3.thk.GetTransactionByHash)\n\n请求参数：\n           \n\n| 参数名  |  类型  | 是否必须 |   含义   |\n| :-----: | :----: | :------: | :------: |\n| chainId | string |   true   |   链id   |\n|  hash   | string |   true   | 交易hash |\n\n响应参数:\n           \n\n|     参数名      |    类型     | 是否必须 |                    含义                     |\n| :-------------: | :---------: | :------: | :-----------------------------------------: |\n|   Transaction   |    dict     |   true   |                  交易详情                   |\n|      root       |   string    |   true   | 保存了创建该receipt对象时，“账户”的当时状态 |\n|     status      |     int     |   true   |          交易状态: 1:成功, 0:失败           |\n|      logs       | array[dict] |  false   |         这个交易产生的日志对象数组          |\n| transactionHash |   string    |   true   |                  交易hash                   |\n| contractAddress |   string    |   true   |                合约账户地址                 |\n|       out       |   string    |   true   |              调用返回结果数据               |\n|     gasUsed     |     int     |   true   |              实际使用的gas个数              |\n|     gasFee      |   String    |   true   |            实际使用总共的gas费用            |\n\nTx:\n           \n\n| 参数名  |  类型  | 是否必须 |                含义                |\n| :-----: | :----: | :------: | :--------------------------------: |\n| chainID |  int   |   true   |                链id                |\n|  from   | string |   true   |          交易发起账户地址          |\n|   to    | string |   true   |          交易接受账户地址          |\n|  nonce  | string |   true   | 交易的发起者在之前进行过的交易数量 |\n|   val   | string |   true   |              转账金额              |\n|  input  | string |   true   |          调用合约时的参数          |\n\n请求示例:\n\n```javascript\nvar response = web3.thk.GetTransactionByHash('1', '0xca222630130bad1555ad633d67d2beefbf405d36fdc3e1abd4260f201284292c');\n```\n\nresponse:\n```json\n{\n   \"tx\": {\n        \"chainid\": 1,\n        \"from\": \"0x853d5281d92cc5c8d0d1bce1f2f7b125ca4e09e7\",\n        \"to\": \"0x2f9bbce6f7d314fbe2b59901d0653a443bc11edd\",\n        \"nonce\": 24,\n        \"value\": 40000000000000000000,\n        \"input\": \"0x88ffe867\",\n        \"hash\": \"\",\n        \"uselocal\": false,\n        \"extra\": \"0x\",\n        \"timestamp\": 0\n    },\n    \"root\": \"eyJmZWUiOiI3MDM1NTIwMDAwMDAwMDAwMCIsInJvb3QiOm51bGx9\",\n    \"status\": 1,\n    \"logs\": [\n        {\n            \"address\": \"0x2f9bbce6f7d314fbe2b59901d0653a443bc11edd\",\n            \"blockNumber\": \"0x5aacf3\",\n            \"data\": \"0x000000000000000000000000853d5281d92cc5c8d0d1bce1f2f7b125ca4e09e70000000000000000000000000000000000000000000000022b1c8c1227a00000000000000000000000000000000000000000000000000000000000005e65d45a\",\n            \"logIndex\": \"0x0\",\n            \"topics\": [\n                \"0xaba4f973c8f45a52365c8348704e79653e4b58ebd452f2d2115423a62ef7a3e1\"\n            ],\n            \"transactionHash\": \"0xca222630130bad1555ad633d67d2beefbf405d36fdc3e1abd4260f201284292c\",\n            \"transactionIndex\": \"0x0\"\n        }\n    ],\n    \"transactionHash\": \"0xca222630130bad1555ad633d67d2beefbf405d36fdc3e1abd4260f201284292c\",\n    \"contractAddress\": \"0x0000000000000000000000000000000000000000\",\n    \"out\": \"0x\",\n    \"gasUsed\": 175888,\n    \"gasFee\": \"70355200000000000\",\n    \"blockHeight\": 5942515\n}\n```\n\n# 4. 获取链信息(web3.thk.GetStats)\n\n请求参数\n           \n\n| 参数名  |  类型  | 是否必须 | 含义 |\n| :-----: | :----: | :------: | :--: |\n| chainId | string |   true   | 链id |\n\n响应参数:\n           \n\n|      参数名       |  类型  | 是否必须 |          含义          |\n| :---------------: | :----: | :------: | :--------------------: |\n|   currentheight   | bigint |   true   |        交易详情        |\n|      txcount      |  int   |   true   |        总交易数        |\n|        tps        |  int   |   true   |       每秒交易数       |\n|   tpsLastEpoch    |  int   |   true   |     上一时期交易数     |\n|       lives       |  int   |   true   |     链的已存活时间     |\n|   accountcount    |  int   |   true   |         账户数         |\n|    epochlength    |  int   |   true   |   当前时期包含多少块   |\n|   epochduration   |  int   |   true   |    当前时期运行时间    |\n| lastepochduration |  int   |   true   |   上一时期的运行时间   |\n|    currentcomm    | array  |   true   | 当前这条链的委员会成员 |\n|     gaslimit      |  Int   |   True   |      gas默认个数       |\n|     gasprice      | String |   true   |          价格          |\n\n请求示例:\n\n```javascript\nvar response = web3.thk.GetStats('103')\n```\n\nresponse\n```json\n{\n    \"accountcount\": 0,\n    \"currentcomm\": [\n        \"0xbfebdb4661c93456c29dcc22ea32340b6a0e400bef924923a53dfe22ad90cbd5069135ef591d65515aa40ef34970599cc7c331667db7f744e89fe8ec305ede9a\",\n        \"0x0df134ddc7bebb8abe61d8649a3054c107908719a4c5fa49be9ffb32037f84a0768d91bcd33e28c8c410760146eead90a72db6880c2d6eb5cac2f10d2be3563f\",\n        \"0x37e7ab457bf4d38a96c06f0fc616e001a0eac9f7b7e8407f97bfd39b30569f069541a27cae9e681aff9d50616970b6b554d0893b25561453f58dc6e174e8e70a\",\n        \"0x8c9cba550f746efcd98635fa6b300cd25ac08b54dda8f067dcba07bb4026c51478a1ac2dd5db3c89179ceab5f10d2f59d6d83f1f9ff652000a0c390b3fbc382e\",\n        \"0xfa1688066b16f61c72b02af5834a9bb79b746a962c8ed82d6f4afce1c5f7ac1987f291b6063e438d3b6c12856a677901878302b1a5865c837252f1db18cdbd2f\",\n        \"0x58c484fbb8d825e92b8e8d62c469e327fc8a55f2d521bb041d352ffb1a4e68cf1675c834e87daeea941f268601086c37df270a1048472a424b30af53053a34f7\",\n        \"0xcdda504db1913c22e961c3f1dfb07941f22b7a0f3b4d3e2a48bc69ad67c0061c21d793e75c35b8f8dcc3a733b8c051fed1ca8d157cea26a65c0bb3c00f8a59f5\",\n        \"0x70d6885ebb21b83377fcd6387f820b087753e5cbfc0bdb6dcd1b3f116680bbebf615441c55db54e36e587131fc9b645fca412b7c6b428d17bb8c24a1f3ae42c7\",\n        \"0xcd2eb869ab358cb7f56f0abcf50623eb46bdf63ef52986fdd377948a87b6e2bf667649b658f6e1705b81e9d4a3380dfdcaa122ab69686ad0d30959aadfa999e5\",\n        \"0x89b0bbcc4df1e4f1be61a527144491be88d86e09db48238ccb07cbd9af19728ff8143318d679184ee058cd57458206ae955d16e16ed5267bdb0819bf6c22c986\",\n        \"0x9b2c2ffb7e950275b1451a1833e885f555b3c05b02a0cb869427bf252c2eb44d2ac46de7c770f2c621b2118681d3fcfcdf8b38bccdb38622748fdba1b97e2780\",\n        \"0x7fa9213bf8027e846d2eb6e5b17f6caea7f80a1c0522f85927744e388afa756b21edcaab7d439b6661024225af1f9a5c3f8eab12a8a60402dc08147f697fe988\",\n        \"0x2010f9c48b2af6679a0821efb657a96fbd8d2621ad20e97ed93eaabaea408baf086ad0009ab235c490e66a11e3ea1924aeaba2955ea7d3f2f9cbd933d41df362\",\n        \"0xc1f4b9c3b129d88ff072aca7c958c57dbbcd3e1e47718990efa799989a5c16893b70bdc1d3af728169bc9cae5f0c1c22ae37c9aa3026789e1e68fb2f68920909\",\n        \"0xd9b5f2c6fafe7391e182a98194b972961a8b4e24afa0152f4da0df9f84bbadb496451dc0b7ff4332e311914a93f7c5f60f07953edcbeef8ccc1637157ee0d5c5\",\n        \"0x73bf86fbc73b5e6f12613a4eeeb8883a6af2d646bab8dd47e117f89d5a5c2369fc908b9003a1db5e4187a11245d61b23b73c2572326048d33860b5b0be9c03c1\",\n        \"0x59c9add6f7ae1d1cc5e79579f309b720b37da127f171ba0e65a3e083bb27698ff22ca505f3298acf70106344b1d07104db15e317f14822e341ecdc21a1e87929\",\n        \"0xb7023c7412e51ff1afa679756b354cf74578c93fbbad8eee2c0a2e60347eb4b857e6e45ab41444010e408e9548d749577c1e6f0301d0d14ee0d3844647761cd7\",\n        \"0x482c7b2e66aabbee8fad39d64faab09f2d0059e1193a5470ec21875cdbd17ce4986f180ab498620d768ef3cba031ee0b534eba21a4c581e3e0842548c5527748\",\n        \"0xe14da122de07cf0d1553fd91b729e6db6a68a103cf6eff190757f6b3bc34bcc88d2f7877d03ccb3e2be980dbe3b65dca6c10d9ae2823ecb4f8d88770b019f22f\",\n        \"0x7af07f8cfa74b9367a10b86eac1883fdbc9eab7814675d8bd7138ec6aa805dda80aa115c9ffe416429f87efb008d30f9c1eaf9c2a8cce274a3f05a7ed0b082ad\",\n        \"0x338035e5aa2c7ce1320c272c0c782c150a589f686767b483f044c746acd65d85af26b4a475ded3adc46cc1b2283f7b1f79ef877d3fef8f275a36e9c2a7bd23b9\",\n        \"0x842409950306aebbcc580bbfd044067e6bc2530cb3f426c1eea1c3b1fd48487e6e01d5392e5b5e2bde9145931c4451b22d779d805237d7b23ce934ecc3447065\",\n        \"0xf9828acc66c3e41ccc00a3683bf5417712a4914f12c1c709eec572483b189feebfcd5e718075e8bd56803243e8a637308c1e535fbe82ef8e6377a45aeeae56c8\",\n        \"0xccc192ed5565d43671c6c1acaf53fd95b9010abf2ba4263854756d6bcfa4d7d2e1fbd43bc1f63cab2f1c74e3956b6ce0d38ebcd555c8e3085a05037be7670731\",\n        \"0x567beb3b4827fbd138ee88592791efadb2a1ced4a57bf6f775b5950566169f19d16904f3c4a1f1f758843a5fba9e5052b97afa8f07de443869dee58700f72dc4\",\n        \"0x67023c6cffb20c1a213f2e038427936adc674c09d54ef1afb1dcfdc8b40a48a80f1ccb51718d3b5bd5d1303e2f365a364d31ce8b6de9f14f18fcde4d43ddfcad\",\n        \"0x250f3081d864de9796f4f9c505accc293f9ff7822c9d1ac4a5840981f486159121560eff795ae974c83971fb1f27e2984924934e9da43c9eda8423474398cd4f\"\n    ],\n    \"currentheight\": 1590270,\n    \"epochduration\": 2911,\n    \"epochlength\": 1000,\n    \"gaslimit\": 2500000,\n    \"gasprice\": \"400000000000\",\n    \"lastepochduration\": 2757,\n    \"lives\": 818243,\n    \"tps\": 0,\n    \"tpsLastEpoch\": 0,\n    \"txcount\": 2\n}\n```\n\n# 5. 获取指定账户在对应链上一定高度范围内的交易信息(web3.thk.GetTransactions)\n\n请求参数\n           \n\n|   参数名    |  类型  | 是否必须 |      含义      |\n| :---------: | :----: | :------: | :------------: |\n|   chainId   | string |   true   |      链id      |\n|   address   | string |   true   |     链地址     |\n| startHeight | string |   true   | 查询的起始块高 |\n|  endHeight  | string |   true   | 查询的截止块高 |\n\n响应参数:\n           \n\n|  参数名   |  类型  | 是否必须 |                含义                |\n| :-------: | :----: | :------: | :--------------------------------: |\n|  chainId  |  int   |   true   |                链id                |\n|   from    | string |   true   |          交易发起账户地址          |\n|    to     | string |   true   |          交易接受账户地址          |\n|   nonce   |  int   |   true   | 交易的发起者在之前进行过的交易数量 |\n|   value   |  int   |   true   |              转账金额              |\n| timestamp |  int   |   true   |            交易的时间戳            |\n|   input   | string |   true   |          调用合约时的参数          |\n|   hash    | string |   true   |              交易hash              |\n\n请求示例:\n\n```javascript\nvar response = web3.thk.GetTransactions('2',\"4fa1c4e6182b6b7f3bca273390cf587b50b47311\", 50, 70);\n\n```\n\nresponse:\n```json\n[\n    {\n        \"chainid\": 2,\n        \"from\": \"0x2c7536e3605d9c16a7a3d7b1898e529396a65c23\",\n        \"to\": \"0x0000000000000000000000000000000000020000\",\n        \"nonce\": 0,\n        \"value\": 0,\n        \"input\":\n        \"0x000000022c7536e3605d9c16a7a3d7b1898e529396a65c230000000000000000000000034fa1c4e6182b6b7f3bca273390cf587b50b4731100000000000456440101\",\n        \"hash\":\n        \"0x0ea5dad47833fc6286357b6bd6c1a4e910def5f4432a1a59bde0f816c3dd18e0\",\n        \"timestamp\": 1560425588\n    },\n    {\n        \"chainid\": 2,\n        \"from\": \"0x2c7536e3605d9c16a7a3d7b1898e529396a65c23\",\n        \"to\": \"0x133c5bfef5d486052b061b44af113f20057341a8\",\n        \"nonce\": 1,\n        \"value\": 0,\n        \"input\":\n        \"0xa9059cbb00000000000000000000000066261e3faf00ef1537b22f37d8db85f57066f58f0000000000000000000000000000000000000000000000000000000000004e20\",\n        \"hash\":\n        \"0x1dbbda2d229db82ff12b3bea82d49225e6bebd645def4c06da157ddbe5660066\",\n        \"timestamp\": 1560425596\n    }\n]\n\n```\n\n# 6. 调用交易（web3.thk.CallTransaction）\n\n请求参数\n           \n\n|   参数名    |  类型  | 是否必须 |                含义                |\n| :---------: | :----: | :------: | :--------------------------------: |\n|   chainId   | string |   true   |                链id                |\n| fromChainId | string |   true   |       交易发起账户地址的链id       |\n|  toChainId  | string |   true   |       交易接受账户地址的链id       |\n|    from     | string |   true   |          交易发起账户地址          |\n|     to      | string |   true   |          交易接受账户地址          |\n|    nonce    | string |   true   | 交易的发起者在之前进行过的交易数量 |\n|    value    | string |   true   |              转账金额              |\n|    input    | string |   true   |          调用合约时的参数          |\n\n响应参数:\n           \n\n|     参数名      |    类型     | 是否必须 |                    含义                     |\n| :-------------: | :---------: | :------: | :-----------------------------------------: |\n|   Transaction   |    dict     |   true   |                  交易详情                   |\n|      root       |   string    |   true   | 保存了创建该receipt对象时，“账户”的当时状态 |\n|     status      |     int     |   true   |          交易状态: 1:成功, 0:失败           |\n|      logs       | array[dict] |   true   |         这个交易产生的日志对象数组          |\n| transactionHash |   string    |   true   |                  交易hash                   |\n| contractAddress |   string    |   true   |                合约账户地址                 |\n|       out       |   string    |   true   |              调用返回结果数据               |\n\nTransaction:\n\n| 参数名  |  类型  | 是否必须 |                含义                |\n| :-----: | :----: | :------: | :--------------------------------: |\n| chainId | string |   true   |                链id                |\n|  from   | string |   true   |          交易发起账户地址          |\n|   to    | string |   true   |          交易接受账户地址          |\n|  nonce  | string |   true   | 交易的发起者在之前进行过的交易数量 |\n|   val   | string |   true   |              转账金额              |\n|  input  | string |   true   |          调用合约时的参数          |\n\n请求示例:\n\n```javascript\nvar response = web3.thk.CallTransaction({\n    chainId:'2',\n    fromChainId:'2',\n    toChainId:'2', \n    from:'0x0000000000000000000000000000000000000000',\n    to:'0x0e50cea0402d2a396b0db1c5d08155bd219cc52e',\n    nonce:'22',\n    value:'0',\n    input:'0xe98b7f4d0000000000000000000000000000000000000000000000000000000000000001'\n});\n\n```\n\nresponse:\n```json\n{\n    \"Transaction\": {\n        \"chainID\": 2,\n        \"from\": \"0x0000000000000000000000000000000000000000\",\n        \"to\": \"0x0e50cea0402d2a396b0db1c5d08155bd219cc52e\",\n        \"nonce\": 2,\n        \"value\": 0,\n        \"input\": \"0xe98b7f4d0000000000000000000000000000000000000000000000000000000000000001\",\n        \"hash\": '',\n\t\t\"timestamp\": 0\n    },\n    \"root\": null,\n    \"status\": 0,\n    \"logs\": null,\n    \"transactionHash\": \"0x9936cab441360985fc9e27904f0767c1c39fe8e0edb83709a0cdad52470a4592\",\n    \"contractAddress\": \"0x0000000000000000000000000000000000000000\",\n    \"out\": \"0x\"\n}\n\n```\n\n# 7. 获取指定块高信息(web3.thk.GetBlockHeader)\n\n请求参数\n           \n\n| 参数名  |  类型  | 是否必须 |     含义     |\n| :-----: | :----: | :------: | :----------: |\n| chainId | string |   true   |     链id     |\n| height  | string |   true   | 查询块的块高 |\n\n响应参数:\n           \n\n|    参数名    |  类型  | 是否必须 |          含义          |\n| :----------: | :----: | :------: | :--------------------: |\n|     hash     | string |   true   |       此块的hash       |\n| previoushash | string |   true   |       父块的hash       |\n|   chainid    |  int   |   true   |          链id          |\n|    height    |  int   |   true   |      查询块的块高      |\n|  mergeroot   | string |   true   | 合并其他链转账数据hash |\n|  deltaroot   | string |   true   |    跨链转账数据hash    |\n|  stateroot   | string |   true   |        状态hash        |\n|   txcount    |  int   |   true   |        交易总数        |\n|  timestamp   |  int   |   true   |         时间戳         |\n\n请求示例:\n\n```javascript\nvar response = web3.thk.GetBlockHeader('2', '30');\n\n```\n\nresponse:\n```json\n{\n    \"hash\": \"0x71603186004fd46d32cda0780c4f4cf77ce13b396b1b8132b2c632173441b9d2\",\n    \"previoushash\": \"0xd0f6e9c89eb6be655632911e3743b5a994423c3526653dc55b62ebea3ff56c43\",\n    \"chainid\": 2,\n    \"height\": 30,\n    \"mergeroot\": \"0xdddfde85423a0d7da064c1b5a8cc1ff18d4a209027ef95ecceae0e6ed8f7c1af\",\n    \"deltaroot\": \"0xdddfde85423a0d7da064c1b5a8cc1ff18d4a209027ef95ecceae0e6ed8f7c1af\",\n    \"stateroot\": \"0x0b672749b02da6bf8f3aa50238140ce7fae5af3e926d4eb06d4cfb707a90702e\",\n    \"txcount\": 1,\n    \"timestamp\": 1547777358\n}\n\n```\n\n# 8. 获取指定块的交易(web3.thk.GetBlockTxs)\n\n请求参数\n       \n\n| 参数名  |  类型  | 是否必须 |     含义     |\n| :-----: | :----: | :------: | :----------: |\n| chainId | string |   true   |     链id     |\n| height  | string |   true   | 查询块的块高 |\n|  page   | string |   true   |     页码     |\n|  size   | string |   true   |   页的大小   |\n\n响应参数:\n           \n\n|     参数名     | 类型  | 是否必须 |   含义   |\n| :------------: | :---: | :------: | :------: |\n|   elections    | dict  |   true   | 交易详情 |\n| accountchanges | array |   true   | 交易信息 |\n\naccountchanges:\n\n|  参数名   |  类型  | 是否必须 |                含义                |\n| :-------: | :----: | :------: | :--------------------------------: |\n|  chainId  | string |   true   |                链id                |\n|  height   |  int   |   true   |           查询的起始块高           |\n|   from    | string |   true   |          交易发起账户地址          |\n|    to     | string |   true   |          交易接受账户地址          |\n|   nonce   |  int   |   true   | 交易的发起者在之前进行过的交易数量 |\n|   value   |  int   |   true   |              转账金额              |\n| timestamp |  int   |   true   |            交易的时间戳            |\n\n请求示例:\n\n```javascript\nvar response = web3.thk.GetBlockTxs('2', '30','1','10');\n\n```\n\nresponse:\n```json\n{\n    \"elections\": null,\n    \"accountchanges\": [\n        {\n            \"chainId\": 2,\n            \"height\": 30,\n            \"from\": \"0x4fa1c4e6182b6b7f3bca273390cf587b50b47311\",\n            \"to\": \"0x4fa1c4e6182b6b7f3bca273390cf587b50b47311\",\n            \"nonce\": 30,\n            \"value\": 1,\n            \"input\": \"0x\",\n\t\t\t\"hash\": \"0x4bff6fad0cd46599289e4e465987cfc94278363b12eca3f37572be8c2ce1b061\",\n            \"timestamp\": 1547777358\n        }\n    ]\n}\n\n```\n\n# 9. 编译合约(solc.compile)\n\n**thinkium-web3js项目 test/contract/deploy_test.js 文件有示例**\n\n请求参数\n\n```javascript\nvar input = {\n    language: 'Solidity',\n    sources: {\n        'test.sol': {      //合约文件名称\n          content: contractContent     //合约文件内容\n        }\n    },\n    settings: {\n        outputSelection: {\n            '*': {\n              '*': ['*']\n            }\n        }\n    }\n};\n```\n\n请求示例:\n\n```javascript\n\nvar solc = require('solc');\n\nfunction compileContract(contractContent) {    //合约可能有多个\n    const input = {\n        language: 'Solidity',\n        sources: {\n            'test.sol': {\n                content: contractContent\n            }\n        },\n        settings: {\n            outputSelection: {\n                '*': {\n                    '*': ['*']\n                }\n            }\n        }\n    };\n\n    const output = JSON.parse(solc.compile(JSON.stringify(input)));\n    // for (var contractName in output.contracts['test.sol']) {\n    //     console.log(contractName + ': ' + output.contracts['test.sol'][contractName]);\n    // }\n    return output.contracts['test.sol']\n}\n\nlet contents = `pragma solidity >= 0.5.0;\n                contract HelloWorld {\n                    uint256 age = 17;\n                    string nickname = \"Hello\";\n                    function getAge() public view returns (uint256 data){\n                        return age;\n                    }\n                    function getNickname() public view returns (string memory data){\n                        return nickname;\n                    }\n                    function setNickname(string memory data) public {\n                        nickname = data;\n                    }\n                }`;\n// 1、编译合约\nconst deployResult = compileContract(contents)['HelloWorld'];\n\n//最后获取合约abi 和 byteCode 字节码\nconst contractAbi = deployResult.abi;\nconst contractByteCode = deployResult.evm.bytecode.object.slice(0, 2) === '0x' ? deployResult.evm.bytecode.object : '0x' + deployResult.evm.bytecode.object;\n\n```\n\n# 10.1 部署合约（web3.thk.contract(abi).new({data: code});）\n\n**thinkium-web3js项目 test/contract/deploy_test.js 文件有示例**\n\n请求参数\n\n```javascript\n//最后获取合约abi 和 byteCode 字节码\nconst contractAbi = deployResult.abi;\nconst contractByteCode = deployResult.evm.bytecode.object.slice(0, 2) === '0x' ? deployResult.evm.bytecode.object : '0x' + deployResult.evm.bytecode.object;\n```\n\n请求示例:\n\n```javascript\n//部署合约 参数为合约abi 和 byteCode 字节码\nfunction deployContract(abi, codes) {\n    let contracts = web3.thk.contract(abi).new({data: codes});\n    console.log(\"contracts: \" + JSON.stringify(contracts, null, 1));\n    if (contracts.transactionHash) {\n        sleep(5);\n        const res = web3.thk.GetTransactionByHash(web3.thk.defaultChainId, contracts.transactionHash);\n        return res.contractAddress\n    }\n    return '';\n}\n\n// 2、发布合约\nconst contractAddress = deployContract(contractAbi, contractByteCode);\nconsole.log('contractAddress: ', contractAddress); //返回的为部署后的合约地址\nconsole.log('contractAbi: ', contractAbi);\n```\n\n# 10.2 调用合约方法 (web3.thk.contract(abi,contractAddress).at(contractAddress))\n\n```javascript\n//获取合约对象，调用合约方法，参数为合约abi 和 合约地址\nfunction fromAbi(abi, address) {\n    return web3.thk.contract(abi, address).at(address);\n}\n\n// 3、调用合约\n// 获取合约对象， 通过该对象可以调用合约内的方法\nconst helloWorld = fromAbi(contractAbi, contractAddress);\n\n// 调用合约内的 setNickname 和 getNickname方法\nhelloWorld.setNickname(\"world\");\nsleep(5); // 合约内的修改方法需要等待hash成功后，此处等待5秒，酌情修改等待时长\nconsole.log(\"contract function res:\", helloWorld.getNickname());\n```\n\n# 11. ping（web3.thk.Ping）\n\n请求参数\n           \n\n| 参数名  |  类型  | 是否必须 |  含义   |\n| :-----: | :----: | :------: | :-----: |\n| address | string |   true   | ip+端口 |\n\n响应参数:\n           \n\n|    参数名     |  类型  | 是否必须 |      含义      |\n| :-----------: | :----: | :------: | :------------: |\n|    nodeId     | string |   true   |     节点id     |\n|    version    | string |   true   |      版本      |\n|  isDataNode   |  bool  |   true   | 是否是数据节点 |\n|  dataNodeOf   |  int   |   true   |    数据节点    |\n|  lastMsgTime  | int64  |   true   | 上一个信息时间 |\n| lastEventTime | int64  |   true   | 上一个事件时间 |\n| lastBlockTime | int64  |   true   |  上一个块时间  |\n|   overflow    |  bool  |   true   |      溢出      |\n|  lastBlocks   |  map   |   true   |   最后一个块   |\n|    opTypes    |  map   |   true   |      类型      |\n\n请求示例:\n\n```javascript\nvar response = web3.thk.Ping(\"192.168.1.13:22010\")\n```\n\nresponse:\n```json\n{\n    \"nodeId\":\n    \"0x5e17128ba224a96d6e84be0c7f899febea26c55c78940610d78a0d22dbd0ab03cc3233491de0b5eb770dbf850b509bd191723df4fc40520bcbab565d46543d6e\",\n    \"version\": \"V1.0.0\",\n    \"isDataNode\": true,\n    \"dataNodeOf\": 0,\n    \"lastMsgTime\": 1560850367,\n    \"lastEventTime\": 1560850367,\n    \"lastBlockTime\": 1560850367,\n    \"overflow\": false,\n    \"lastBlocks\": {\n    \t\"0\": 159927\n    },\n    \"opTypes\": {\n        \"0\": [\n        \t\"DATA\"\n        ]\n    }\n}\n\n```\n\n# 12. 生成支票的证明(web3.thk.RpcMakeVccProof)\n\n请求参数\n           \n\n|   参数名    | 类型 | 是否必须 |   含义   |\n| :---------: | :--: | :------: | :------: |\n| transaction | dict |   true   | 交易对象 |\n\ntransaction：\n           \n\n|    参数名    |  类型  | 是否必须 |                含义                |\n| :----------: | :----: | :------: | :--------------------------------: |\n|   chainId    | string |   true   |                链id                |\n| fromChainId  | string |   true   |       交易发起账户地址的链id       |\n|  toChainId   | string |   true   |       交易接受账户地址的链id       |\n|     from     | string |   true   |          交易发起账户地址          |\n|      to      | string |   true   |          交易接受账户地址          |\n|    nonce     | string |   true   | 交易的发起者在之前进行过的交易数量 |\n|    value     | string |   true   |              转账金额              |\n| ExpireHeight |  int   |   true   |              过期高度              |\n\n响应参数:\n           \n\n| 参数名 |  类型  | 是否必须 |      含义      |\n| :----: | :----: | :------: | :------------: |\n| input  | string |   true   | 生成的支票证明 |\n\n请求示例:\n\n```javascript\nlet obj = {\n    chainId: '2',\n    from: '0x2c7536e3605d9c16a7a3d7b1898e529396a65c23',\n    to: '0x2c7536e3605d9c16a7a3d7b1898e529396a65c23',\n    fromChainId: '2',\n    toChainId: '3',\n    value: '1000000000000000',\n    expireheight: '54223',\n    nonce: '47'\n};\nvar response = web3.thk.RpcMakeVccProof(obj)\n\n```\n\nresponse:\n```json\n{\n    \"input\": \"0x95000000022c7536e3605d9c16a7a3d7b1898e529396a65c23000000000000002f000000032c7536e3605d9c16a7a3d7b1898e529396a65c23000000000000d3cf07038d7ea4c6800002a2d30bc06dc891383f7c61c310c9109aae0407508ced3f5562670b13cc5f093777a65a0193941093a1b6df76df5387752a24b904aac80067c3aa0ea7eb1b40074d4a30889e0083412744c2000080809409934080c20202808100018187aa9f339cf1ba6ffe6986f68c639a835fac453ac37d0df6e72091b1cd1cd30001019424930080c20000c02c83b4898418ce3324a2deeacf5848d49981f8ad2ad60c810c23e78e840dbc1781000524ac33cdd9e9bf0cbdfc4d357d81d5d1638dd7516ec38d779300f5f6e76d9b7ee0eccda334e611eb97288b59a36e78b25eb15746f593036a56ab50f89174f60062e715f8969d49b1ada75ce66977ab01219068e1adcf104eb328442fa3002759eca078605c1b0ad6ff4323f7c23307585d3dddd504f96e7a7f722f9802d2a1b7130047aeaaba37848d7c13a6df0328565e15ba9401b2485ac662423afcc01bb4000110\"\n}\n\n```\n\n# 13. 生成取消支票的证明(web3.thk.MakeCCCExistenceProof)\n\n请求参数\n           \n\n|   参数名    | 类型 | 是否必须 |   含义   |\n| :---------: | :--: | :------: | :------: |\n| transaction | dict |   true   | 交易对象 |\n\ntransaction：\n           \n\n|    参数名    |  类型  | 是否必须 |                含义                |\n| :----------: | :----: | :------: | :--------------------------------: |\n|   chainId    | string |   true   |                链id                |\n| fromChainId  | string |   true   |       交易发起账户地址的链id       |\n|  toChainId   | string |   true   |       交易接受账户地址的链id       |\n|     from     | string |   true   |          交易发起账户地址          |\n|      to      | string |   true   |          交易接受账户地址          |\n|    nonce     | string |   true   | 交易的发起者在之前进行过的交易数量 |\n|    value     | string |   true   |              转账金额              |\n| ExpireHeight |  int   |   true   |              过期高度              |\n\n响应参数:\n           \n\n|  参数名   |  类型  | 是否必须 |      含义      |\n| :-------: | :----: | :------: | :------------: |\n|   input   | string |   true   | 生成的支票证明 |\n| existence |  bool  |   true   |  是否存过支票  |\n\n请求示例:\n\n```javascript\nlet obj = {\n    chainId: '2',\n    from: '0x2c7536e3605d9c16a7a3d7b1898e529396a65c23',\n    to: '0x2c7536e3605d9c16a7a3d7b1898e529396a65c23',\n    fromChainId: '2',\n    toChainId: '3',\n    value: '1000000000000000',\n    expireheight: '54223',\n    nonce: '47'\n}\nvar response = web3.thk.MakeCCCExistenceProof(obj)\n\n```\n\nresponse:\n```json\n{\n    \"existence\": false,\n    \"input\": \"0x95000000022c7536e3605d9c16a7a3d7b1898e529396a65c23000000000000002f000000032c7536e3605d9c16a7a3d7b1898e529396a65c23000000000000d3cf07038d7ea4c6800002a2d30bc06dc891383f7c61c310c9109aae0407508ced3f5562670b13cc5f093777a65a0193941093a1b6df76df5387752a24b904aac80067c3aa0ea7eb1b40074d4a30889e0083412744c2000080809409934080c20202808100018187aa9f339cf1ba6ffe6986f68c639a835fac453ac37d0df6e72091b1cd1cd30001019424930080c20000c02c83b4898418ce3324a2deeacf5848d49981f8ad2ad60c810c23e78e840dbc1781000524ac33cdd9e9bf0cbdfc4d357d81d5d1638dd7516ec38d779300f5f6e76d9b7ee0eccda334e611eb97288b59a36e78b25eb15746f593036a56ab50f89174f60062e715f8969d49b1ada75ce66977ab01219068e1adcf104eb328442fa3002759eca078605c1b0ad6ff4323f7c23307585d3dddd504f96e7a7f722f9802d2a1b7130047aeaaba37848d7c13a6df0328565e15ba9401b2485ac662423afcc01bb4000110\"\n}\n```\n\n# 14. 获取链结构（ web3.thk.GetChainInfo）\n\n请求参数\n           \n\n|  参数名  |  类型  | 是否必须 |            含义            |\n| :------: | :----: | :------: | :------------------------: |\n| chainIds | string |   true   | 链id（备注：传空代表所有） |\n\n响应参数:\n           \n\n| 参数名 |    类型     | 是否必须 |    含义    |\n| :----: | :---------: | :------: | :--------: |\n|   []   | []chainInfo |   true   | 链信息数组 |\n\nchainInfo：\n           \n\n|  参数名   |    类型    | 是否必须 |    含义    |\n| :-------: | :--------: | :------: | :--------: |\n|  chainId  |    int     |   true   |    链id    |\n| datanodes | []dataNode |   true   | 数据节点群 |\n|   mode    |    int     |   true   |    模式    |\n|  parent   |    int     |   true   |     父     |\n\ndataNode：\n           \n\n|    参数名    |  类型  | 是否必须 |     含义     |\n| :----------: | :----: | :------: | :----------: |\n|  dataNodeId  |  int   |   true   |  数据节点id  |\n|  dataNodeIp  | string |   true   |  数据节点ip  |\n| dataNodePort |  int   |   true   | 数据节点端口 |\n\n请求示例:\n\n```javascript\nvar response = web3.thk.GetChainInfo([])\n```\n\nresponse:\n```json\n[\n    {\n        \"chainId\": 0,\n        \"datanodes\": [\n            {\n                \"dataNodeId\": \"0x5e17128ba224a96d6e84be0c7f899febea26c55c78940610d78a0d22dbd0ab03cc3233491d0b5eb770dbf850b509bd191723df4fc40520bcbab565d46543d6e\",\n                \"dataNodeIp\": \"192.168.1.13\",\n                \"dataNodePort\": 22010\n            }\n        ],\n        \"mode\": 5,\n        \"parent\": 1048576\n    },\n    {\n        \"chainId\": 1,\n        \"datanodes\": [\n            {\n                \"dataNodeId\": \"0x96dc94580e0eadd78691807f6eac9759b9964daa8b46da4378902b040e0eb102cb48413308d2131e9e5557321f30ba9287794f689854e6d2e63928a082e79286\",\n                \"dataNodeIp\": \"192.168.1.13\",\n                \"dataNodePort\": 22014\n            }\n        ],\n        \"mode\": 6,\n        \"parent\": 0\n    },\n    {\n        \"chainId\": 2,\n        \"datanodes\": [\n            {\n                \"dataNodeId\":\"0xa93b150f11c422d8700554859281be8e34a91a859e0e021af186002c7e4a2661ea2467a63b417030d68e2fdddeb4342943dff13225da77124abf912fd092f71f\",\n                \"dataNodeIp\": \"192.168.1.13\",\n                \"dataNodePort\": 22018\n            }\n        ],\n        \"mode\": 6,\n        \"parent\": 0\n    },\n    {\n        \"chainId\": 3,\n        \"datanodes\": [\n            {\n                \"dataNodeId\": \"0x783f4b2490461ecfd8ee8d3451e434de06bacb0ffff56de53a33fe545589094fa0b929eeaa62dc5203d1e831ccdd37d206d0b85b193921efb223bf0cb2f37b4c\",\n                \"dataNodeIp\": \"192.168.1.13\",\n                \"dataNodePort\": 22022\n            }\n        ],\n        \"mode\": 7,\n        \"parent\": 1\n    },\n    {\n        \"chainId\": 4,\n        \"datanodes\": [\n            {\n                \"dataNodeId\": \"0x44c98ab831f3ca4553e491bba06753e959ceb55d43e18bc76539572feb1e0dbaf2fbfc19f571d6544e82be1c7c39760f6a023d4be4dcb9473dd580c731d03926                \",\n                \"dataNodeIp\": \"192.168.1.13\",\n                \"dataNodePort\": 22026\n            }\n        ],\n        \"mode\": 7,\n        \"parent\": 1\n    }\n]\n```\n\n# 15. 获取委员会详情（web3.thk.GetCommittee）\n\n请求参数\n           \n\n| 参数名  |  类型  | 是否必须 |   含义   |\n| :-----: | :----: | :------: | :------: |\n| chainId | string |   true   |   链id   |\n|  epoch  | string |   true   | 参选轮次 |\n\n响应参数:\n           \n\n|    参数名     |   类型   | 是否必须 |    含义    |\n| :-----------: | :------: | :------: | :--------: |\n| MemberDetails | []string |   true   | 委员会详情 |\n\n请求示例:\n\n```javascript\nvar response = web3.thk.GetCommittee(\"1\",\"411\")\n\n```\n\nresponse:\n```json\n[\n    \"0xe90a151759bf070969aae664e00502bb08568c85a73874492a3ec480c5178d5da29c790896fc62106e32d172819dec94202ff90f3b7ba3e6adf38508bc58cf43\",\n    \"0x3224de0da639511fec588d2e28f4472476b1600d003a10e38e0456426337624aaecd6636e5ce7ff95fc10746471ce7b680f664ccbf17057ca18c761706afa391\",\n    \"0xad88dc0c0cf7d9e4a62f97e81f33556f65abba96b3c7108a732ff20f1a23530ca7730a6885d91ac718e1bb6ebad5e18bf8b7a58b91cbf717b48b723c7ceedef6\",\n    \"0x8c7872c0c96a9f5b396120a0a45706678ab7a34c34a146ce9329c894f8cb9de41ec10edbf6b9c85796fd9e91d8d651a53578f164c8ee71a2d2cbfef9d5a4c6a4\",\n    \"0xdb3e5b5ea24e1d760a59cf22cfafeed5a4e57af2108fc0df3bf457a82f754264b3fdf9d77fcab306a9809ebcd76de91e382d912a90e3f37edf4eb04f3f036d0b\",\n    \"0x4ce2edd98452036c804f3f2eeef157672be2ccf647369eb42eb49ab9f428821f9990efde3cf7f16e4c64616c10b673077f4278c6dd2fc6021da8ad0085a522a2\", \n    \"0xd1f889690f8c75bbada89a4c8893b8bf6fe29be3b5c3d8a2d772024a340d59d375f39ed88498666a57da10af885ad63a414f8a10153fb739eb1ebfcef57cc883\"\n]\n\n```\n\n# 16. 新建一个合约对象(web3.thk.contract)\n\n请求参数\n           \n\n| 参数名  |  类型  | 是否必须 |                        含义                        |\n| :-----: | :----: | :------: | :------------------------------------------------: |\n|   abi   | string |   true   | abi数组(合约中的response[\"info\"][\"abiDefinition\"]) |\n| address | string |   true   |                      合约地址                      |\n\n请求示例:\n\n```javascript\n// myCon对象可以直接调用合约内方法\nvar myCon = web3.thk.contract(getcontract[\"<stdin>:\" + cotractName][\"info\"][\"abiDefinition\"]).at(contractAddress);\n// 调用方法前手动设置账户\nweb3.thk.setCaller(\"0x0000000000000000000000000000000000000000\");\nweb3.thk.setVal(\"0\");\n// 调用合约内set方法\nmyCon.set(2);\n//调用合约内get方法, 需调用set方法后几秒钟再调用get\nmyCon.get();\n```\n\n","readmeFilename":"README.md","gitHead":"8e60dd5cb163793cbd38390fcb482620e4c40b3d","_id":"thinkium-web3js@1.0.16-2","_nodeVersion":"14.8.0","_npmVersion":"6.14.7","dist":{"integrity":"sha512-nqjNVOcVStiY+uSbj7B72s4VZFAXFES0r5ju6WWCIFTEABfbtIdcoXrdwux/sQW3cM/NoRBGe6E4ebs2ShnTgg==","shasum":"f00ff892da05a523cb28bc3bced5f98ea9ae1743","tarball":"https://registry.npmjs.org/thinkium-web3js/-/thinkium-web3js-1.0.16-2.tgz","fileCount":199,"unpackedSize":3026105,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfs491CRA9TVsSAnZWagAAVaIP/3fWBb7RZj98wio622yx\nCo1/VR83FbuET8QCfzazefJcllpnHPKrNLRLkQov7khpsKN+95qvkfONmJ/x\nOHVls8wmOn6jDsftAsHUhbi56bJXAxBi+vIUpGzSDMKeQkN34wnzc6+wp9Nz\nzAYCaPqfJFs4u1n4UV2OUkUMzOYadWJAzFK2+x1Mmvy//X2fHmboLK0HyDX/\n0oBYkCw7sUltlpaxxVUB8M0cDmBGFm0wwohkpb5RncYg+ozt1hHsiPyctHhB\ngC89esNW2W7jncWfLLQt+4g8WFteC3y+EJDIljydt6QncWKNzKib02cGVHTf\njsB/isYkBmgXbk4H43KZRFnfybOd2/0PeDO+WzoKtQ4vSbd9zQm+SVFLrh9w\nYIvEFWMGChIukc65V77tXwmDzLI7K+bUVI0X/pxIWFfM1lQ+VNRApq34hwFM\nM9/YnbQUieR79MUHuh82QM4wxnKL29grAxH3jJzLIsSLMV7ntWU5Hxbj1ze4\nDONi2rxysAgUk2tkr+EZJIYFs0DBps8o8OyTw7mMyI9D64eUqEkkg2ajbb2i\naxfhx8QWb+LSfQK4+CYVA9XkfgCnKZCDbOnLXm7AV4zzxRhXN7Zg8XUyTEcb\naNKKblK1vvO6hBUvD0vRbmaSGWXnR5tWqRtqlLMIQetxqtCnZCz1Gh9ZPcUQ\nbeAF\r\n=qz0X\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDCQbXbF7Tvx8hmaBqY4h8Z2RjOR9VrlMke4Tk9QVPvjwIgOJJHCDMQ60uZGSJP8I1+7kZvrUxLAPkDhbnyRGknEWA="}]},"_npmUser":{"name":"fankouzu","email":"cuijin@aitj.com"},"maintainers":[{"name":"fankouzu","email":"cuijin@aitj.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/thinkium-web3js_1.0.16-2_1605603189466_0.6104426524364264"},"_hasShrinkwrap":false},"1.0.15":{"name":"thinkium-web3js","version":"1.0.15","description":"Thinkium JavaScript API, middleware to talk to a thinkium node over RPC","main":"./index.js","directories":{"lib":"./lib"},"dependencies":{"bignumber.js":"^8.1.1","bip39":"^3.0.2","crypto-js":"^3.1.4","describe":"^1.2.0","ethereumjs-util":"^6.1.0","ethjs-util":"^0.1.6","mongodb":"^3.1.10","secp256k1":"^3.7.1","solc":"^0.5.0","utf8":"^2.1.1","xhr2-cookies":"^1.1.0","xmlhttprequest":"*"},"browser":{"xmlhttprequest":"./lib/utils/browser-xhr.js"},"devDependencies":{"bower":">=1.4.1","browserify":">=10.0","cached-path-relative":">=1.0.2","chai":"^3.5.0","coveralls":"^3.0.2","del":">=2.0.2","exorcist":"^0.4.0","gulp":"^4.0.0","gulp-jshint":">=1.5.0","gulp-rename":">=1.2.0","gulp-replace":"^0.5.3","gulp-streamify":"0.0.5","gulp-uglify":">=1.2.0","gulp-uglify-es":"^1.0.4","handlebars":">=4.0.14","hdkey":"^2.0.1","istanbul":"^0.4.4","js-yaml":">=3.13.1","jshint":"^2.9.6","lodash":">=4.17.13","lodash.merge":">=4.6.2","lodash.template":">=4.5.0","mocha":"^5.2.0","sandboxed-module":"^2.0.2","vinyl-source-stream":"^2.0.0"},"scripts":{"build":"gulp","watch":"gulp watch","lint":"jshint *.js lib","test":"mocha; jshint *.js lib","test-coveralls":"istanbul cover _mocha -- -R spec && cat coverage/lcov.info | coveralls --verbose","beta":"rm -f package-lock.json && npm version prerelease && npm publish --tag beta"},"repository":{"type":"git","url":"git+https://github.com/Thinkium-Blockchain/web3.js.git"},"homepage":"https://github.com/Thinkium-Blockchain/web3.js","bugs":{"url":"https://github.com/Thinkium-Blockchain/web3.js/issues"},"keywords":["thinkium","javascript","API"],"license":"LGPL-3.0","gitHead":"6da789540d01255ddf9c2b2ad40f67cae5c26d45","_id":"thinkium-web3js@1.0.15","_nodeVersion":"14.8.0","_npmVersion":"6.14.7","dist":{"integrity":"sha512-xTkaVMvHTU+ebPNiOXg93f/eFJDZmw9YqNTO14tyK99KMxXGN2bbZSBylzOfGtcHr7T4frJs/JntZpPIndvZoQ==","shasum":"6dc0cd8e41c7876f62e765a14010613b9591973d","tarball":"https://registry.npmjs.org/thinkium-web3js/-/thinkium-web3js-1.0.15.tgz","fileCount":199,"unpackedSize":4832384,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvLeNCRA9TVsSAnZWagAAxpwP/0ULaOCP38lVbIRM3acM\nm1CPAlpxw83KJsYE5BRwY+C7/MfQ883kzBC49u1MZQ2QrChVxNhQ9R7UxU7u\nqLzrH8u8ggBudgS/bphBtPwCrXt7HE6XBir474dpNaYz/MeN22ePj2anDQbf\ngooZUzYh4ZyDuPMwyqmBZRO3FmmvgiaSnlsxLSqbQi0kLgQNJU0xQwohyH0y\nRN4eolYeAkcySaG7p235bVsyvTuj9fWibku12vIumETwnxUWwdPYCZ1WfsdG\np3FwX7PpcDe4Z97vH2RC3G15TaUu1ArA3Tl97Qdf/IroHJ8eOC34TqHp47Gk\nGqPBRBUx0WsA1+VHOFsqqiLi0uwE3TnZRrMfsESbwkiS9MUjQce/E5T8Lc0m\nDnUJZA+vcW/Npw+BbOg5dFOOXYxzHaSlo7eVQVtYdJpCu3//Dh7CKqZjvr0g\nOuNeRB3r0WrJmK2xpaROL7J7Ey+7j6mswtn9qHxb5BYe/t7eVX9xlD/DS/iZ\n6sKBLKn/qVxDYN/AQZjMFTef6ST25JPH5GQ1Suwk1sWpZ1iWl/CFXSYgMet1\nyGRCWGUPcDhvAjtyLy7miKrAvLCf8pAcxmzSUtZLRzgeI3E345LCKiPdm7KV\nlUQMFKTREhDrldo6dTRfO3UOYs/7gIFyZkdKBTNlHfsn1YVFK7eE5xh0WJ6B\n/pD6\r\n=R+06\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGSbylUQ3pGOpW3WQoBu6XeWC+ULLdVDboGQXO3+TfQJAiEAraljv9wftk1l7HqgMf5VxRl8I/DKMy8Yi2/qxjKek1I="}]},"_npmUser":{"name":"fankouzu","email":"cuijin@aitj.com"},"maintainers":[{"name":"fankouzu","email":"cuijin@aitj.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/thinkium-web3js_1.0.15_1606203277334_0.3779775236155112"},"_hasShrinkwrap":false},"1.0.15-app":{"name":"thinkium-web3js","version":"1.0.15-app","description":"Thinkium JavaScript API, middleware to talk to a thinkium node over RPC","main":"./index.js","directories":{"lib":"./lib"},"dependencies":{"bignumber.js":"^8.1.1","bip39":"^3.0.2","crypto-js":"^3.1.4","describe":"^1.2.0","ethereumjs-util":"^6.1.0","ethjs-util":"^0.1.6","mongodb":"^3.1.10","secp256k1":"^3.7.1","solc":"^0.5.0","utf8":"^2.1.1","xhr2-cookies":"^1.1.0","xmlhttprequest":"*"},"browser":{"xmlhttprequest":"./lib/utils/browser-xhr.js"},"devDependencies":{"bower":">=1.4.1","browserify":">=10.0","cached-path-relative":">=1.0.2","chai":"^3.5.0","coveralls":"^3.0.2","del":">=2.0.2","exorcist":"^0.4.0","gulp":"^4.0.0","gulp-jshint":">=1.5.0","gulp-rename":">=1.2.0","gulp-replace":"^0.5.3","gulp-streamify":"0.0.5","gulp-uglify":">=1.2.0","gulp-uglify-es":"^1.0.4","handlebars":">=4.0.14","hdkey":"^2.0.1","istanbul":"^0.4.4","js-yaml":">=3.13.1","jshint":"^2.9.6","lodash":">=4.17.13","lodash.merge":">=4.6.2","lodash.template":">=4.5.0","mocha":"^5.2.0","sandboxed-module":"^2.0.2","vinyl-source-stream":"^2.0.0"},"scripts":{"build":"gulp","watch":"gulp watch","lint":"jshint *.js lib","test":"mocha; jshint *.js lib","test-coveralls":"istanbul cover _mocha -- -R spec && cat coverage/lcov.info | coveralls --verbose","beta":"rm -f package-lock.json && npm version prerelease && npm publish --tag beta"},"repository":{"type":"git","url":"git+https://github.com/Thinkium-Blockchain/web3.js.git"},"homepage":"https://github.com/Thinkium-Blockchain/web3.js","bugs":{"url":"https://github.com/Thinkium-Blockchain/web3.js/issues"},"keywords":["thinkium","javascript","API"],"license":"LGPL-3.0","gitHead":"e520a2f9f32f42ac5a133533699a52b2ddb414c6","_id":"thinkium-web3js@1.0.15-app","_nodeVersion":"14.8.0","_npmVersion":"6.14.7","dist":{"integrity":"sha512-bFmlnPLjWwZnbZd/7JOJiHksow8cQ9+F3b/ZJQt6GaTg9/DdKzzJ2OsAwJmVQBTOalVkwBwFVylFUypwE68OBQ==","shasum":"ed54d1235ef2d0837da8ecc0b22ca820b245d085","tarball":"https://registry.npmjs.org/thinkium-web3js/-/thinkium-web3js-1.0.15-app.tgz","fileCount":198,"unpackedSize":4396241,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvN9XCRA9TVsSAnZWagAATmQP/jraa9mtUCJ7PbtkxPAp\n6x8PXHi/z7snWW7K9yC8nhJXIWZ0E6EGFzwfpskqiAOAdti202M6GeHahLC5\nIrmQMWw4TfcF/SF71bNJyEZYsckwS/93OpzAYPOpnpP5zBBtWi/yCbObvTsg\n8pAG4YcN5TV1oyJxoUpTYRE4zeCkqtaTNcG2IhkgZMo8A4FCr4PaWSeeVWNX\nPPqlcM6NzQpXIdgO1z5a26LPEUAMoKIurth5G0oLfaTxQJvx8gGXrw9sUeHp\n2/Qb0Rzo8r2mKcyphNGkIKp9bCnGuJTxiM4YvZi33GhSN3y5EkTnZs/Ps+LX\nKDi8kTrx1Yw+UYNGny1s75F8SeVvx9Q9Haqc1g80X8T2LajkqyF/iHoUrReQ\n6zexxkEGcppw9eSvlhvAZAOaeH8ymnhNIsC8oZpo8toO+/t9EkOcVigUvvcg\ny5Gwv/oYt/KxkdUXhsOPshtVbQaUxfEnK5Z2m5OATZWsPnDggpV7qEopMZsA\nFg9xofmBVfitM+h6VQPuMia9yvfpLqTvDe1kf10/ld+rveJ4gYEHTA/aHI0/\nMkJmESdvqBlTu2lmH5PH7+UQUgfpsyGXKpRlABIQHvZNMzeizVvxzTH7g61n\nGMZtOdqgdZhBrqyzSpGana/oIM5fKzatkIyLErEsEXZP2xBq9qNLkXn3Yk1L\nRZgn\r\n=FEKS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBDcN6+qVbFbw60rUF2bkaSS5x1DwuTHHCzXx52U5pajAiEArXdbPO1nSRaL3Wmxh1JLIzF3fJF/iCuM4MGPm3onBGY="}]},"_npmUser":{"name":"fankouzu","email":"cuijin@aitj.com"},"maintainers":[{"name":"fankouzu","email":"cuijin@aitj.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/thinkium-web3js_1.0.15-app_1606213463210_0.10056144399906985"},"_hasShrinkwrap":false},"1.0.16-app":{"name":"thinkium-web3js","version":"1.0.16-app","description":"Thinkium JavaScript API, middleware to talk to a thinkium node over RPC","main":"./index.js","directories":{"lib":"./lib"},"dependencies":{"bignumber.js":"^8.1.1","bip39":"^3.0.2","crypto-js":"^3.1.4","describe":"^1.2.0","ethereumjs-util":"^6.1.0","ethjs-util":"^0.1.6","mongodb":"^3.1.10","secp256k1":"^3.7.1","solc":"^0.5.0","utf8":"^2.1.1","xhr2-cookies":"^1.1.0","xmlhttprequest":"*"},"browser":{"xmlhttprequest":"./lib/utils/browser-xhr.js"},"devDependencies":{"bower":">=1.4.1","browserify":">=10.0","cached-path-relative":">=1.0.2","chai":"^3.5.0","coveralls":"^3.0.2","del":">=2.0.2","exorcist":"^0.4.0","gulp":"^4.0.0","gulp-jshint":">=1.5.0","gulp-rename":">=1.2.0","gulp-replace":"^0.5.3","gulp-streamify":"0.0.5","gulp-uglify":">=1.2.0","gulp-uglify-es":"^1.0.4","handlebars":">=4.0.14","hdkey":"^2.0.1","istanbul":"^0.4.4","js-yaml":">=3.13.1","jshint":"^2.9.6","lodash":">=4.17.13","lodash.merge":">=4.6.2","lodash.template":">=4.5.0","mocha":"^5.2.0","sandboxed-module":"^2.0.2","vinyl-source-stream":"^2.0.0"},"scripts":{"build":"gulp","watch":"gulp watch","lint":"jshint *.js lib","test":"mocha; jshint *.js lib","test-coveralls":"istanbul cover _mocha -- -R spec && cat coverage/lcov.info | coveralls --verbose","beta":"rm -f package-lock.json && npm version prerelease && npm publish --tag beta"},"repository":{"type":"git","url":"git+https://github.com/Thinkium-Blockchain/web3.js.git"},"homepage":"https://github.com/Thinkium-Blockchain/web3.js","bugs":{"url":"https://github.com/Thinkium-Blockchain/web3.js/issues"},"keywords":["thinkium","javascript","API"],"license":"LGPL-3.0","gitHead":"e520a2f9f32f42ac5a133533699a52b2ddb414c6","_id":"thinkium-web3js@1.0.16-app","_nodeVersion":"14.8.0","_npmVersion":"6.14.7","dist":{"integrity":"sha512-n2RBClmiOREKOUNCy8z9XJUFd62KqoD2Oqonrz049TWXBPlshpBhi7mrRO1utTYzY0umF6u4asMJ/Co9h06O8g==","shasum":"91b09e2c16e981d01de1b9c8178bf1aa5e29989b","tarball":"https://registry.npmjs.org/thinkium-web3js/-/thinkium-web3js-1.0.16-app.tgz","fileCount":197,"unpackedSize":3240338,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvPfMCRA9TVsSAnZWagAAOigP/07PqbYKjRBgLyYN3gv9\naWzuIiF130aoMeNAGbao7MBUVSO3gOSQyuWMqi1U8GNM9OkckN7rf1U45Gy3\nhEvxrBtcRWp00VShgCqY7Vokj3aqLWS+TqzrS9IIGPXl5R1B5ch0pjTqWXk3\ndGrH8pRUMLmXipvjjJCMXqLtvybhev7mlPun0ed+vZ08dNcd+nSj49KfopA0\nVtJn0FKFRcV0wWygOpOQMlLQzRoZjNg+MvOsC96u0Eajk3EeruJwlAmtE9fV\n8a8itdX41+2sIOcR1QtUMHOe7SeR+7eNJNV+qD9klDAaR1gB7u1+oF+oBVVl\nhaM3YKxvuuCmatmBCgVn6l+qm1mkDlfW4JQgHm+FEBAckG9M+HHlJ+l7nOid\nC41lF7VtDq8jg3I4Py6+wrz1ipU9g53cybCIrNb28EM1wNxV5XVKD6YGytJS\nyqtEx4rQ5x7uNGQhSKzVTxnh2esCjdSABObgy17u/1dj4SULriCGyeZ+jBD2\neTeW3D3vFqI1oNSgzUyuC3P1Mb5s2++6HJcik2kM5mlmYBKzfVXaUrgn8SOX\n9lxh7BDxCsrPDl/zuGR3b+ZhlgdlXNA793U3FzuZahkXqgZpllZed3AU+6Q0\ncq879bG6RiIdzFhzF4jf0qREm7Y3ZUKFhXw2TY/69JlwmkeMxR0rhu4CzWSk\n/Zwt\r\n=IhDs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHKFRwXByvuHq3TE7GbmO5LzDNiAxU/BsYUzjtEGuU8gAiEA2ux3I9avdcG1wHDwPLObFjUzY7+nNU4DT0o3YoFxK1s="}]},"_npmUser":{"name":"fankouzu","email":"cuijin@aitj.com"},"maintainers":[{"name":"fankouzu","email":"cuijin@aitj.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/thinkium-web3js_1.0.16-app_1606219723726_0.2360558261588055"},"_hasShrinkwrap":false},"1.0.16":{"name":"thinkium-web3js","version":"1.0.16","description":"Thinkium JavaScript API, middleware to talk to a thinkium node over RPC","main":"./index.js","directories":{"lib":"./lib"},"dependencies":{"bignumber.js":"^8.1.1","bip39":"^3.0.2","crypto-js":"^3.1.4","describe":"^1.2.0","ethereumjs-util":"^6.1.0","ethjs-util":"^0.1.6","mongodb":"^3.1.10","secp256k1":"^3.7.1","solc":"^0.5.0","utf8":"^2.1.1","xhr2-cookies":"^1.1.0","xmlhttprequest":"*"},"browser":{"xmlhttprequest":"./lib/utils/browser-xhr.js"},"devDependencies":{"bower":">=1.4.1","browserify":">=10.0","cached-path-relative":">=1.0.2","chai":"^3.5.0","coveralls":"^3.0.2","del":">=2.0.2","exorcist":"^0.4.0","gulp":"^4.0.0","gulp-jshint":">=1.5.0","gulp-rename":">=1.2.0","gulp-replace":"^0.5.3","gulp-streamify":"0.0.5","gulp-uglify":">=1.2.0","gulp-uglify-es":"^1.0.4","handlebars":">=4.0.14","hdkey":"^2.0.1","istanbul":"^0.4.4","js-yaml":">=3.13.1","jshint":"^2.9.6","lodash":">=4.17.13","lodash.merge":">=4.6.2","lodash.template":">=4.5.0","mocha":"^5.2.0","sandboxed-module":"^2.0.2","vinyl-source-stream":"^2.0.0"},"scripts":{"build":"gulp","watch":"gulp watch","lint":"jshint *.js lib","test":"mocha; jshint *.js lib","test-coveralls":"istanbul cover _mocha -- -R spec && cat coverage/lcov.info | coveralls --verbose","beta":"rm -f package-lock.json && npm version prerelease && npm publish --tag beta"},"repository":{"type":"git","url":"git+https://github.com/ThinkiumGroup/web3.js.git"},"homepage":"https://github.com/ThinkiumGroup/web3.js","bugs":{"url":"https://github.com/ThinkiumGroup/web3.js/issues"},"keywords":["thinkium","javascript","API"],"license":"LGPL-3.0","gitHead":"b846f894a07df7118c3a27687cc0e87e79c4351b","_id":"thinkium-web3js@1.0.16","_nodeVersion":"14.8.0","_npmVersion":"6.14.7","dist":{"integrity":"sha512-tV4Qk1e2PIE+bXLJ5kc0UmIDHNlfFEjJEXtc/XiLdeis8qt9d043NWT5OGGyP5B5c0vB/IWTxtwpRicwObkVCQ==","shasum":"25160b43e8f7d7446cb561d0c8d68210f892e127","tarball":"https://registry.npmjs.org/thinkium-web3js/-/thinkium-web3js-1.0.16.tgz","fileCount":199,"unpackedSize":4832288,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfv31hCRA9TVsSAnZWagAAX9kQAJBYQQ0ckBvSzvaAK+Ty\nu9S3GUhXgZGELo7KfAqG4kKqrfAulBpP9Pu8sYyNX1S5aHz9g/u4rWJV3FHV\nMGc7MEpA7g0uMS45/Eu0IwXcQG7zMg3ijqLW/vgzPDSnhQ6uTKrum5HxBdNB\nJeba6WkY+XTX8n+OqmkQZT4zF6QwhEBzM+y+RHEFF8xERhxXM83OnpIK6EKo\nQLEN69UdUbHf8kYv/x6A6wOtvgNlaPIvz1ZbUjWBJLKzD60ORMPe53Qsu81i\nDTGXZEyvOrgPUIooCyzFfk2WgyIgukuDUq2og7t0zxp9BOyuODiO/ZrMSYun\nmQ/H21ty6qnXMZdeL00e2BLzobYlejPtNKM6ja3KTVquITLjzc6NmYAQnz1F\ntqdKraMB0bVzxamKIbcVS0PiE3mF0xk9xufv0OEy3jKGLJU9QqLxbWBfC7Fr\n5XPrW5WHgQQvZEZQ48ARrCCbAeDbZyO/+dK+HJh1Zg1Q3RB2FutsPjbiOznt\naIuqNI15AIDK4m8LCqSLGs1WX8pL30/4NyifBhB4KegPbNmFdpyWG+bGKL6f\n3sDDw6S9mvWZUhP9+X1pMlRYXbjQwXGfnG4yFzY+i5ZdibiB+dJdQS0WYGjU\n3aY1n72MrVwjOz7otBbHSfS1M+xgRFWP6+2KayYGBDbza0qpnVXsc2mNONs4\n5Fv5\r\n=Nr8O\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDaXO/s1F9M6ruISa7xJTd39Iapuz8nAuC8OB3ofpMVAgIgX15FFjuaU25n12am2dV82Wh/zjqA44wzXbUvXbQXz+I="}]},"_npmUser":{"name":"fankouzu","email":"cuijin@aitj.com"},"maintainers":[{"name":"fankouzu","email":"cuijin@aitj.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/thinkium-web3js_1.0.16_1606384992866_0.4848812074392379"},"_hasShrinkwrap":false},"1.0.17-app":{"name":"thinkium-web3js","version":"1.0.17-app","description":"Thinkium JavaScript API, middleware to talk to a thinkium node over RPC","main":"./index.js","directories":{"lib":"./lib"},"dependencies":{"bignumber.js":"^8.1.1","bip39":"^3.0.2","crypto-js":"^3.1.4","describe":"^1.2.0","ethereumjs-util":"^6.1.0","ethjs-util":"^0.1.6","mongodb":"^3.1.10","secp256k1":"^3.7.1","solc":"^0.5.0","utf8":"^2.1.1","xhr2-cookies":"^1.1.0","xmlhttprequest":"*"},"browser":{"xmlhttprequest":"./lib/utils/browser-xhr.js"},"devDependencies":{"bower":">=1.4.1","browserify":">=10.0","cached-path-relative":">=1.0.2","chai":"^3.5.0","coveralls":"^3.0.2","del":">=2.0.2","exorcist":"^0.4.0","gulp":"^4.0.0","gulp-jshint":">=1.5.0","gulp-rename":">=1.2.0","gulp-replace":"^0.5.3","gulp-streamify":"0.0.5","gulp-uglify":">=1.2.0","gulp-uglify-es":"^1.0.4","handlebars":">=4.0.14","hdkey":"^2.0.1","istanbul":"^0.4.4","js-yaml":">=3.13.1","jshint":"^2.9.6","lodash":">=4.17.13","lodash.merge":">=4.6.2","lodash.template":">=4.5.0","mocha":"^5.2.0","sandboxed-module":"^2.0.2","vinyl-source-stream":"^2.0.0"},"scripts":{"build":"gulp","watch":"gulp watch","lint":"jshint *.js lib","test":"mocha; jshint *.js lib","test-coveralls":"istanbul cover _mocha -- -R spec && cat coverage/lcov.info | coveralls --verbose","beta":"rm -f package-lock.json && npm version prerelease && npm publish --tag beta"},"repository":{"type":"git","url":"git+https://github.com/ThinkiumGroup/web3.js.git"},"homepage":"https://github.com/ThinkiumGroup/web3.js","bugs":{"url":"https://github.com/ThinkiumGroup/web3.js/issues"},"keywords":["thinkium","javascript","API"],"license":"LGPL-3.0","gitHead":"aaeed37779d0d3959f0ccd7c81bee80dea7fb81b","_id":"thinkium-web3js@1.0.17-app","_nodeVersion":"14.8.0","_npmVersion":"6.14.7","dist":{"integrity":"sha512-UO2/nIUnS32EM0KBaB72Y4N18ZWOKV/QD+D5KdzZmZSgUbPOpwXLiuiRJbLh8isCF7KsST5SrvvJ31100Orbhg==","shasum":"540b4183f967e059d66a5c22c13773fb623c40a6","tarball":"https://registry.npmjs.org/thinkium-web3js/-/thinkium-web3js-1.0.17-app.tgz","fileCount":198,"unpackedSize":4396269,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfv392CRA9TVsSAnZWagAA0ssP/04i0mCduT94LfogGAVp\n040HOyReNOujGc5troQxXH/7DIQo/RoCikcoeMEynfCsikIlbQIBtSTaNPyn\nFo0v28E/9wH1WM2d3JR4nzE3nc7sLaZarw2zDN6ImTIIHax3DVULrewdKFHy\ngQg7ZndGDI2E6KXA5ITFvUCO/l4BISgGsgSx9oJzkReVhn/zv+xiYYJOOhpX\nyfVLVPxqXJyz2lsfrgDjSi9LHzhY0Mo+sgmseSkxflbVYY55zzcwoPv1RPoW\nyFS6lBQoj10C9TrrvYfHjlgMM7J4SflylXWk9KCx09ORZ6Ly+cUhlzdA+syI\ntsC+rhqMTKWcSswNCiUQFUu+Hdi+qy17u2zqHybUtDGHchWCKIME7+pNDn3b\nSs00mKQXv8HAls+99fo8AoFoUcji7Eqq6BkbiImduH365sS5D3nAeeKBmsJp\noayUNrDyIBoE9AjHClAD1vs7bpcNlyKV6F1HJBO26KpocStTlrVvXHvP74I8\nqBmYE8qP76Qb/a7XFWxXLAjASeGDL5+5R+56Vw8iZF5nJIlsWXGI2ftDf1Dj\nRUVI73Yc9BDGk3vrlGhsqG7QZ/l5jhC9zhk7jxcBeDtfAq+g2HtlgOVMjd4F\n3SKLMeSb9wvfiqtBGHe7lxYchsGPBMLgq6qr8j3JUXo7YRqnLbTs2krhhE/P\n4vd2\r\n=OIFH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD0vciJyFQh7yTiZlubQ4/q+mMyjlG29J59p7hcUusmTgIgIDAXioiyghUfLXXRSlWtIWPNbZgM7NOQ0paIigOHIu0="}]},"_npmUser":{"name":"fankouzu","email":"cuijin@aitj.com"},"maintainers":[{"name":"fankouzu","email":"cuijin@aitj.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/thinkium-web3js_1.0.17-app_1606385526310_0.3286924022200599"},"_hasShrinkwrap":false},"1.0.17":{"name":"thinkium-web3js","version":"1.0.17","description":"Thinkium JavaScript API, middleware to talk to a thinkium node over RPC","main":"./index.js","directories":{"lib":"./lib"},"dependencies":{"bignumber.js":"^8.1.1","bip39":"^3.0.2","crypto-js":"^3.1.4","describe":"^1.2.0","ethereumjs-util":"^6.1.0","ethjs-util":"^0.1.6","mongodb":"^3.1.10","secp256k1":"^3.7.1","solc":"^0.5.0","utf8":"^2.1.1","xhr2-cookies":"^1.1.0","xmlhttprequest":"*"},"browser":{"xmlhttprequest":"./lib/utils/browser-xhr.js"},"devDependencies":{"bower":">=1.4.1","browserify":">=10.0","cached-path-relative":">=1.0.2","chai":"^3.5.0","coveralls":"^3.0.2","del":">=2.0.2","exorcist":"^0.4.0","gulp":"^4.0.0","gulp-jshint":">=1.5.0","gulp-rename":">=1.2.0","gulp-replace":"^0.5.3","gulp-streamify":"0.0.5","gulp-uglify":">=1.2.0","gulp-uglify-es":"^1.0.4","handlebars":">=4.0.14","hdkey":"^2.0.1","istanbul":"^0.4.4","js-yaml":">=3.13.1","jshint":"^2.9.6","lodash":">=4.17.13","lodash.merge":">=4.6.2","lodash.template":">=4.5.0","mocha":"^5.2.0","sandboxed-module":"^2.0.2","vinyl-source-stream":"^2.0.0"},"scripts":{"build":"gulp","watch":"gulp watch","lint":"jshint *.js lib","test":"mocha; jshint *.js lib","test-coveralls":"istanbul cover _mocha -- -R spec && cat coverage/lcov.info | coveralls --verbose","beta":"rm -f package-lock.json && npm version prerelease && npm publish --tag beta"},"repository":{"type":"git","url":"git+https://github.com/ThinkiumGroup/web3.js.git"},"homepage":"https://github.com/ThinkiumGroup/web3.js","bugs":{"url":"https://github.com/ThinkiumGroup/web3.js/issues"},"keywords":["thinkium","javascript","API"],"license":"LGPL-3.0","gitHead":"2a9d1889a6c639fac357b912f59e526283fff46e","_id":"thinkium-web3js@1.0.17","_nodeVersion":"14.8.0","_npmVersion":"6.14.7","dist":{"integrity":"sha512-68zfKc7TxgRx81nEAbb6C2M7cXaXc9J4St4uitjDTEQ1IbHbi0bjPaVuM4tzx9coj4RjVO2DNfaE/BWCBsExPg==","shasum":"3244a180385343f5116ea1eeca93f0c48ccf3b84","tarball":"https://registry.npmjs.org/thinkium-web3js/-/thinkium-web3js-1.0.17.tgz","fileCount":202,"unpackedSize":4828536,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpjmyCRA9TVsSAnZWagAAej4P/2h/FDHYPqoKsrP4ynwk\n13PHaGP0pZXUAl5Sdn12Ouucu0E4Z+1yPKGhBBZXTJlMv7ugfU9a7XCEkNnw\nYJM4/3dq69SBd2KjCul/8Vg8oFyTxK2sHJqI0YkhB+jL3vDANx7M7tmcyotK\nvrYSG3n8QVur7MBBcrmdJXfSSsFFmWNryiBpaxgadQs/Jt50Z1lChtfk6NyH\ng8GyTpLPfSOZrolfYm9szlkItPVjohPTD71T47VKOFwFjR6rADE06rpHjOft\nR94AMq2aMBjpNAJFVnSM2YL3aO22qEQDg4HBaugNF7+0aJdiK2KEHAcTfEJq\ngf6Occd4fT16eFaddTEjqQ2xluFnuADRFqLrMfMGggfPz9BCjGZCowCUgdg6\nxFoGKPG5AtizV8T980gs7eS6Mo/6tU5cM7vH/xAb66yhaaUCd5rx1yQg9aK8\nwtymxUBQTQRchutt1Zyg3rLpSrKc0ndP9ISoQn57pxDJRV/Utcn1f80lcz55\npgLH+3RwYBPLJcRjQilGUhqquV3wbJnflTHToFogavbxYFAazdq4zbagO7Rp\nph9Ba+YUfhrEyJUWIpu2X8LBp0BX4JZ6azcQJ2mZ/i/y4hl2noRF/0pcfcJc\nez734Ir8lVYKrzyCyD4IVNEyLe1UVPdaX365iSK5cgR514NGWODNTqphrZ6Y\nDE2Y\r\n=0Umu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCvZox0m1gOzmIeD9Nls9Usxe/dWz/fdAmzHinDFtVFXQIhAK8ejlQlVA5skLrhVxP8OO/+6z8KMrFcZXWLxrgW5i8s"}]},"_npmUser":{"name":"fankouzu","email":"cuijin@aitj.com"},"maintainers":[{"name":"fankouzu","email":"cuijin@aitj.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/thinkium-web3js_1.0.17_1621506481704_0.29686600034346045"},"_hasShrinkwrap":false},"1.0.17-2-app":{"name":"thinkium-web3js","version":"1.0.17-2-app","description":"Thinkium JavaScript API, middleware to talk to a thinkium node over RPC","main":"./index.js","directories":{"lib":"./lib"},"dependencies":{"bignumber.js":"^8.1.1","bip39":"^3.0.2","crypto-js":"^3.1.4","describe":"^1.2.0","ethereumjs-util":"^6.1.0","ethjs-util":"^0.1.6","mongodb":"^3.1.10","secp256k1":"^3.7.1","solc":"^0.5.0","utf8":"^2.1.1","xhr2-cookies":"^1.1.0","xmlhttprequest":"*"},"browser":{"xmlhttprequest":"./lib/utils/browser-xhr.js"},"devDependencies":{"bower":">=1.4.1","browserify":">=10.0","cached-path-relative":">=1.0.2","chai":"^3.5.0","coveralls":"^3.0.2","del":">=2.0.2","exorcist":"^0.4.0","gulp":"^4.0.0","gulp-jshint":">=1.5.0","gulp-rename":">=1.2.0","gulp-replace":"^0.5.3","gulp-streamify":"0.0.5","gulp-uglify":">=1.2.0","gulp-uglify-es":"^1.0.4","handlebars":">=4.0.14","hdkey":"^2.0.1","istanbul":"^0.4.4","js-yaml":">=3.13.1","jshint":"^2.9.6","lodash":">=4.17.13","lodash.merge":">=4.6.2","lodash.template":">=4.5.0","mocha":"^5.2.0","sandboxed-module":"^2.0.2","vinyl-source-stream":"^2.0.0"},"scripts":{"build":"gulp","watch":"gulp watch","lint":"jshint *.js lib","test":"mocha; jshint *.js lib","test-coveralls":"istanbul cover _mocha -- -R spec && cat coverage/lcov.info | coveralls --verbose","beta":"rm -f package-lock.json && npm version prerelease && npm publish --tag beta"},"repository":{"type":"git","url":"git+https://github.com/ThinkiumGroup/web3.js.git"},"homepage":"https://github.com/ThinkiumGroup/web3.js","bugs":{"url":"https://github.com/ThinkiumGroup/web3.js/issues"},"keywords":["thinkium","javascript","API"],"license":"LGPL-3.0","gitHead":"80a73381914e78ab479059eafefcb2291d6fed5c","_id":"thinkium-web3js@1.0.17-2-app","_nodeVersion":"14.8.0","_npmVersion":"6.14.7","dist":{"integrity":"sha512-Mxi2+MNv7ntdxJIlnza0mwrDBakJQ3tNi8OmmaM0wc2IwsvFrUe8Ooe4ljOQW/mOqTI0gyIHd36hiEV0gT+NzA==","shasum":"3c509edf8ea54e63f7ad7df4243821a1d4832006","tarball":"https://registry.npmjs.org/thinkium-web3js/-/thinkium-web3js-1.0.17-2-app.tgz","fileCount":200,"unpackedSize":3232647,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgtMUACRA9TVsSAnZWagAA52EP/2v7aHB+Rg+fi9tXPtx3\nUnBhXv3OOZGomoecgPJggGEL8h2CHRti3aUwFL3K7LVVzxaK7pdDPGAboQAo\nL1GoYKtLg749jmusjOsxuGbVGxiikzH/uMK2rzNR1g584i5/MF6IqO51JiAu\nmY08EhfFAMoWh0nZs5vm1de/QXaYK6GvpEgTYZmJV/XXuv5A/LDCF37osTKJ\nMKtEOVL3yYPeHhRLKy6FVziOKulu6TuayJjoOtQrhIp8E6Mo/xqLnC1jDkrD\nOWlttB1BeOqv8U7JDvvo+WaFDz33vck5KSBfF8IF8r4wP3TC1X4m2VEBKyvo\nu2J/CPwc+Frk3dEd35TCd/z5uWxG0TyWQ8pdn8zUmnP4RB0qCKXlJON4e32O\ndHNs3hiZ/QuHS+TON+dktatbjOBNywja+eWNiP9lJZamTsSSVBHFyuz26Rdb\nQZ24xq5I/IHLYsGxBLtlbAZZnQgGeezbYMP/Sz2aTZSLBOmtE/3HYwfWp39T\nbWiC9Fz4CcXSP/2PYhHaBztWqstEN/6Jr+e7GD5Kwnj5Y90VAoXfN4uWQ5WA\nqPMlEEi+XBHOnlzXxwQSw7CHJ+9E9MD3Rd54YSuFD8aLOZkPYNBC8/k82vhq\nfaF8OWtRBExtRuITIdoEBJSYWrpLxsQDcbM5VHD5wcfcoEC8E31vVWAKw6iH\nDdeN\r\n=QPWy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD8nU3PhPzp9EMKxLLo3FTbHj42N1rCmd9//4K5HiiFeAIhAO8u50pvzRg30xt+eRzprSvA6fEznWCbBMSJROOyeYiL"}]},"_npmUser":{"name":"fankouzu","email":"cuijin@aitj.com"},"maintainers":[{"name":"fankouzu","email":"cuijin@aitj.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/thinkium-web3js_1.0.17-2-app_1622459648105_0.2650935538387671"},"_hasShrinkwrap":false},"1.1.0":{"name":"thinkium-web3js","version":"1.1.0","description":"Thinkium JavaScript API, middleware to talk to a thinkium node over RPC","main":"./index.js","directories":{"lib":"./lib"},"dependencies":{"bignumber.js":"^8.1.1","bip39":"^3.0.2","crypto-js":"^3.1.4","describe":"^1.2.0","ethereumjs-util":"^6.1.0","ethjs-util":"^0.1.6","mongodb":"^3.1.10","rlp":"^2.2.6","secp256k1":"^3.7.1","solc":"^0.5.0","utf8":"^2.1.1","xhr2-cookies":"^1.1.0","xmlhttprequest":"*"},"browser":{"xmlhttprequest":"./lib/utils/browser-xhr.js"},"devDependencies":{"bower":">=1.4.1","browserify":">=10.0","cached-path-relative":">=1.0.2","chai":"^3.5.0","coveralls":"^3.0.2","del":">=2.0.2","exorcist":"^0.4.0","gulp":"^4.0.0","gulp-jshint":">=1.5.0","gulp-rename":">=1.2.0","gulp-replace":"^0.5.3","gulp-streamify":"0.0.5","gulp-uglify":">=1.2.0","gulp-uglify-es":"^1.0.4","handlebars":">=4.0.14","hdkey":"^2.0.1","istanbul":"^0.4.4","js-yaml":">=3.13.1","jshint":"^2.9.6","lodash":">=4.17.13","lodash.merge":">=4.6.2","lodash.template":">=4.5.0","mocha":"^5.2.0","sandboxed-module":"^2.0.2","vinyl-source-stream":"^2.0.0"},"scripts":{"build":"gulp","watch":"gulp watch","lint":"jshint *.js lib","test":"mocha; jshint *.js lib","test-coveralls":"istanbul cover _mocha -- -R spec && cat coverage/lcov.info | coveralls --verbose","beta":"rm -f package-lock.json && npm version prerelease && npm publish --tag beta"},"repository":{"type":"git","url":"git+https://github.com/ThinkiumGroup/web3.js.git"},"homepage":"https://github.com/ThinkiumGroup/web3.js","bugs":{"url":"https://github.com/ThinkiumGroup/web3.js/issues"},"keywords":["thinkium","javascript","API"],"license":"LGPL-3.0","gitHead":"9653b1e40985f1c0ee3b24f988742d45687eb9db","_id":"thinkium-web3js@1.1.0","_nodeVersion":"14.8.0","_npmVersion":"6.14.7","dist":{"integrity":"sha512-Z2R3enrmKPp76bENcsyp1TibjNon8GHTKDct21kEd//7dJF3fxnKBkrKSKBi7l6jxIqXU9C7qzfUl9HUCYcsUw==","shasum":"9dffc97a8cd58544346ad25843dcbf7e34404a96","tarball":"https://registry.npmjs.org/thinkium-web3js/-/thinkium-web3js-1.1.0.tgz","fileCount":202,"unpackedSize":4835108,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEoVpRR2l4hv0u7D4Ibh+J9OMna/VW4QKAljnAwnbmRVAiEAx2pz5cVOTYDdGwKdrhieLEF1aGsMh0yuLLP71MK6I6U="}]},"_npmUser":{"name":"fankouzu","email":"cuijin@aitj.com"},"maintainers":[{"name":"fankouzu","email":"cuijin@aitj.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/thinkium-web3js_1.1.0_1632553205936_0.4945455404993775"},"_hasShrinkwrap":false},"1.1.0-app":{"name":"thinkium-web3js","version":"1.1.0-app","description":"Thinkium JavaScript API, middleware to talk to a thinkium node over RPC","main":"./index.js","directories":{"lib":"./lib"},"dependencies":{"bignumber.js":"^8.1.1","bip39":"^3.0.2","crypto-js":"^3.1.4","describe":"^1.2.0","ethereumjs-util":"^6.1.0","ethjs-util":"^0.1.6","mongodb":"^3.1.10","rlp":"^2.2.6","secp256k1":"^3.7.1","solc":"^0.5.0","utf8":"^2.1.1","xhr2-cookies":"^1.1.0","xmlhttprequest":"*"},"browser":{"xmlhttprequest":"./lib/utils/browser-xhr.js"},"devDependencies":{"bower":">=1.4.1","browserify":">=10.0","cached-path-relative":">=1.0.2","chai":"^3.5.0","coveralls":"^3.0.2","del":">=2.0.2","exorcist":"^0.4.0","gulp":"^4.0.0","gulp-jshint":">=1.5.0","gulp-rename":">=1.2.0","gulp-replace":"^0.5.3","gulp-streamify":"0.0.5","gulp-uglify":">=1.2.0","gulp-uglify-es":"^1.0.4","handlebars":">=4.0.14","hdkey":"^2.0.1","istanbul":"^0.4.4","js-yaml":">=3.13.1","jshint":"^2.9.6","lodash":">=4.17.13","lodash.merge":">=4.6.2","lodash.template":">=4.5.0","mocha":"^5.2.0","sandboxed-module":"^2.0.2","vinyl-source-stream":"^2.0.0"},"scripts":{"build":"gulp","watch":"gulp watch","lint":"jshint *.js lib","test":"mocha; jshint *.js lib","test-coveralls":"istanbul cover _mocha -- -R spec && cat coverage/lcov.info | coveralls --verbose","beta":"rm -f package-lock.json && npm version prerelease && npm publish --tag beta"},"repository":{"type":"git","url":"git+https://github.com/ThinkiumGroup/web3.js.git"},"homepage":"https://github.com/ThinkiumGroup/web3.js","bugs":{"url":"https://github.com/ThinkiumGroup/web3.js/issues"},"keywords":["thinkium","javascript","API"],"license":"LGPL-3.0","gitHead":"c6282d9a033dc99affc4e39691e50110cc293281","_id":"thinkium-web3js@1.1.0-app","_nodeVersion":"14.8.0","_npmVersion":"6.14.7","dist":{"integrity":"sha512-8DadxL7oKVuT/wLkTK8p4X47V4Z3U4RGtShn6MQ9aRylql6dn0JcWHO+l1pBRKyVjhu9QqvRrl1O5PzU9BDZEQ==","shasum":"a38e6cd541450b413af7d1f93097fb1b4e87623f","tarball":"https://registry.npmjs.org/thinkium-web3js/-/thinkium-web3js-1.1.0-app.tgz","fileCount":201,"unpackedSize":4399119,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHCS8e+UKUereiBc0Ww5Z6suiqaijNoF44SH3RsdmFMjAiEAwaD19mitmY7kxTCUFr6L+kQClv1CqqHaTruNtiFkTyk="}]},"_npmUser":{"name":"fankouzu","email":"cuijin@aitj.com"},"maintainers":[{"name":"fankouzu","email":"cuijin@aitj.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/thinkium-web3js_1.1.0-app_1632553529375_0.07925115763378976"},"_hasShrinkwrap":false},"1.2.0":{"name":"thinkium-web3js","version":"1.2.0","description":"Thinkium JavaScript API, middleware to talk to a thinkium node over RPC","main":"./index.js","directories":{"lib":"./lib"},"dependencies":{"bignumber.js":"^8.1.1","bip39":"^3.0.2","crypto-js":"^3.1.4","describe":"^1.2.0","ethereumjs-util":"^6.1.0","ethjs-util":"^0.1.6","mongodb":"^3.1.10","rlp":"^2.2.6","secp256k1":"^3.7.1","solc":"^0.5.0","utf8":"^2.1.1","xhr2-cookies":"^1.1.0","xmlhttprequest":"*"},"browser":{"xmlhttprequest":"./lib/utils/browser-xhr.js"},"devDependencies":{"bower":">=1.4.1","browserify":">=10.0","cached-path-relative":">=1.0.2","chai":"^3.5.0","coveralls":"^3.0.2","del":">=2.0.2","exorcist":"^0.4.0","gulp":"^4.0.0","gulp-jshint":">=1.5.0","gulp-rename":">=1.2.0","gulp-replace":"^0.5.3","gulp-streamify":"0.0.5","gulp-uglify":">=1.2.0","gulp-uglify-es":"^1.0.4","handlebars":">=4.0.14","hdkey":"^2.0.1","istanbul":"^0.4.4","js-yaml":">=3.13.1","jshint":"^2.9.6","lodash":">=4.17.13","lodash.merge":">=4.6.2","lodash.template":">=4.5.0","mocha":"^5.2.0","sandboxed-module":"^2.0.2","vinyl-source-stream":"^2.0.0"},"scripts":{"build":"gulp","watch":"gulp watch","lint":"jshint *.js lib","test":"mocha; jshint *.js lib","test-coveralls":"istanbul cover _mocha -- -R spec && cat coverage/lcov.info | coveralls --verbose","beta":"rm -f package-lock.json && npm version prerelease && npm publish --tag beta"},"repository":{"type":"git","url":"git+https://github.com/ThinkiumGroup/web3.js.git"},"homepage":"https://github.com/ThinkiumGroup/web3.js","bugs":{"url":"https://github.com/ThinkiumGroup/web3.js/issues"},"keywords":["thinkium","javascript","API"],"license":"LGPL-3.0","gitHead":"3f7be047c208e8a05988006e90675c068d9a2475","_id":"thinkium-web3js@1.2.0","_nodeVersion":"14.8.0","_npmVersion":"6.14.7","dist":{"integrity":"sha512-0LTJEv7lIkSM+2UlYvJbkfQ4VSTz5ssGNSlYII/addgJ4TwcFBcOzbkrVIwYAKOj55vn2dryxBrYtw1aYaGP1w==","shasum":"cced323b9778cbb8628c83b5afd38ba6e7cf3a66","tarball":"https://registry.npmjs.org/thinkium-web3js/-/thinkium-web3js-1.2.0.tgz","fileCount":203,"unpackedSize":6014474,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDygiTgjFTzxNLLzdfU4t9wUJSV0o9wzZFlZh1h7oEaUQIhAICi6JSWSRnOmcPzhUQv1QvSx8CytAoPcfnB+3kOhy6E"}]},"_npmUser":{"name":"fankouzu","email":"cuijin@aitj.com"},"maintainers":[{"name":"fankouzu","email":"cuijin@aitj.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/thinkium-web3js_1.2.0_1635322603434_0.8242702272971103"},"_hasShrinkwrap":false},"1.2.0-app":{"name":"thinkium-web3js","version":"1.2.0-app","description":"Thinkium JavaScript API, middleware to talk to a thinkium node over RPC","main":"./index.js","directories":{"lib":"./lib"},"dependencies":{"bignumber.js":"^8.1.1","bip39":"^3.0.2","crypto-js":"^3.1.4","describe":"^1.2.0","ethereumjs-util":"^6.1.0","ethjs-util":"^0.1.6","mongodb":"^3.1.10","rlp":"^2.2.6","secp256k1":"^3.7.1","solc":"^0.5.0","utf8":"^2.1.1","xhr2-cookies":"^1.1.0","xmlhttprequest":"*"},"browser":{"xmlhttprequest":"./lib/utils/browser-xhr.js"},"devDependencies":{"bower":">=1.4.1","browserify":">=10.0","cached-path-relative":">=1.0.2","chai":"^3.5.0","coveralls":"^3.0.2","del":">=2.0.2","exorcist":"^0.4.0","gulp":"^4.0.0","gulp-jshint":">=1.5.0","gulp-rename":">=1.2.0","gulp-replace":"^0.5.3","gulp-streamify":"0.0.5","gulp-uglify":">=1.2.0","gulp-uglify-es":"^1.0.4","handlebars":">=4.0.14","hdkey":"^2.0.1","istanbul":"^0.4.4","js-yaml":">=3.13.1","jshint":"^2.9.6","lodash":">=4.17.13","lodash.merge":">=4.6.2","lodash.template":">=4.5.0","mocha":"^5.2.0","sandboxed-module":"^2.0.2","vinyl-source-stream":"^2.0.0"},"scripts":{"build":"gulp","watch":"gulp watch","lint":"jshint *.js lib","test":"mocha; jshint *.js lib","test-coveralls":"istanbul cover _mocha -- -R spec && cat coverage/lcov.info | coveralls --verbose","beta":"rm -f package-lock.json && npm version prerelease && npm publish --tag beta"},"repository":{"type":"git","url":"git+https://github.com/ThinkiumGroup/web3.js.git"},"homepage":"https://github.com/ThinkiumGroup/web3.js","bugs":{"url":"https://github.com/ThinkiumGroup/web3.js/issues"},"keywords":["thinkium","javascript","API"],"license":"LGPL-3.0","gitHead":"0bf93bfb905d6b875a50bfa2c6b68b989cd7301f","_id":"thinkium-web3js@1.2.0-app","_nodeVersion":"14.8.0","_npmVersion":"6.14.7","dist":{"integrity":"sha512-lBGu2h7gYjeVLIUKnbZKYJpz01uZhthe+MBIhuxG778lGB7Sd+TcKd+oKfdMJXf3fD42JS6NSwz6B9J2ebottg==","shasum":"a525945f47cf5ccf8f40fa1f4640cd4cb0653140","tarball":"https://registry.npmjs.org/thinkium-web3js/-/thinkium-web3js-1.2.0-app.tgz","fileCount":201,"unpackedSize":4400313,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh29wUCRA9TVsSAnZWagAA10UP/1FDS5mROAkRxz8peolw\nZ+FFz4NqPGsw7F2i9pCM2PCvQAgefANHIYelwU9vnNyk1bYQbJcaH81S98jx\nBzKhas4k3uf6l2UNp9Prh1y7Ozko9fyJF8Q/gDA5Z6bBLtgO/m9VM63GyCXE\noQ/NDbgPrGQThmTkyVp8BNtwg/K+VfCjp+FJ3AWelu9RamdYT79VoQNdtmip\nxZLso8E4dTqSk7Qj+uzzU5mTCMIhc/kNF5lp38duF+XyVwP+3glzA0+AvNoJ\nJXI+vqLXWz5bSi7dTkhDdO92PPMpG4FnbIrfYJ5W1Fy1Ck41hBwZE4AP+1Fx\nKKElRzAi3mrTEZ2/k+Uf2Ytr0fV43dW+dtb3a+w2f/6EQYQpRjRJ3gQNqVkd\nRhl8sVhdg8lMkTzzAuhLXOZtJ+Vyb2XEiaXGNx3Tn3H9sdDXtxh4tvIDMJ08\nqK9QcE8eAm/UCelq7VnGELLbuefty+/PAWEULiXHE5WVnYF0XZpJYODuY5Zw\nolpsWHO52s9jX/eByB0ZQ4AKXJBiyxIONxiCqlKzY2tdmxwI9X65xsh+K9xz\nLuTIzCTMYOtJEzN9owv9scSq/DwZSuiFjTHzbMD6UiE00GFs4QY5kH0Vfanh\n5ZWzdu9oQFSe+TyqtfFlwfVCmQjGwG54Lr8Hsnnyixs4f6KRl0sNhYBSfCJV\nWGog\r\n=Jhwy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDG7SCfhxtB6UlApvBATmiwuC3745diLQS/Ix09aRQjLAiBB3ZXe5VIMyQOghTsDC+nezWYCL1yLoiA1HD+u/LjypQ=="}]},"_npmUser":{"name":"fankouzu","email":"cuijin@aitj.com"},"maintainers":[{"name":"fankouzu","email":"cuijin@aitj.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/thinkium-web3js_1.2.0-app_1635322939750_0.6341951489051874"},"_hasShrinkwrap":false}},"time":{"created":"2020-07-15T06:19:10.339Z","1.0.3":"2020-07-15T06:19:10.571Z","modified":"2022-05-21T18:36:33.246Z","1.0.4":"2020-07-15T06:30:00.325Z","1.0.5":"2020-07-16T05:35:11.458Z","1.0.6":"2020-07-16T05:41:25.367Z","1.0.7":"2020-07-16T06:16:19.803Z","1.0.8":"2020-07-16T06:19:21.632Z","1.0.9":"2020-08-03T07:40:14.746Z","1.0.10":"2020-10-22T09:59:22.893Z","1.0.11":"2020-10-22T12:33:43.703Z","1.0.12":"2020-10-22T12:40:46.894Z","1.0.13":"2020-10-22T12:45:55.563Z","1.0.14":"2020-10-28T12:58:26.574Z","1.0.16-0":"2020-11-07T08:41:15.639Z","1.0.16-1":"2020-11-09T07:05:04.759Z","1.0.16-2":"2020-11-17T08:53:09.639Z","1.0.15":"2020-11-24T07:34:37.523Z","1.0.15-app":"2020-11-24T10:24:23.502Z","1.0.16-app":"2020-11-24T12:08:43.990Z","1.0.16":"2020-11-26T10:03:13.217Z","1.0.17-app":"2020-11-26T10:12:06.532Z","1.0.17":"2021-05-20T10:28:02.029Z","1.0.17-2-app":"2021-05-31T11:14:08.364Z","1.1.0":"2021-09-25T07:00:06.171Z","1.1.0-app":"2021-09-25T07:05:29.608Z","1.2.0":"2021-10-27T08:16:43.617Z","1.2.0-app":"2021-10-27T08:22:20.098Z"},"maintainers":[{"name":"fankouzu","email":"cuijin@aitj.com"}],"description":"Thinkium JavaScript API, middleware to talk to a thinkium node over RPC","homepage":"https://github.com/ThinkiumGroup/web3.js","keywords":["thinkium","javascript","API"],"repository":{"type":"git","url":"git+https://github.com/ThinkiumGroup/web3.js.git"},"bugs":{"url":"https://github.com/ThinkiumGroup/web3.js/issues"},"license":"LGPL-3.0","readme":"# Installation\n\n### npm\n\n```bash\nnpm install thinkium-web3js\n```\n\n### Yarn\n\n```bash\nyarn add thinkium-web3js\n```\n\n### As a Browser module\n\n* Include `web3.min.js` in your html file. (not required for the meteor package)\n\n# Usage\n\nUse the `web3` object directly from the global namespace:\n\n```js\nvar Web3 = require('thinkium-web3js');\nvar web3 = new Web3();\n```\n\nSet a provider (`HttpProvider`\n\n```js\nlet rpcUrl = 'https://rpcproxy.thinkium.org';\nweb3.setProvider(new web3.providers.HttpProvider(rpcUrl));\n```\n\nThere you go, now you can use it:\n\n```js\nvar account = web3.thk.GetAccount(chainId, address);\nvar balance = account.balance;\n```\n\nYou can find more examples in the [`example`](https://github.com/ThinkiumGroup/web3.js/tree/master/example)\ndirectory.\n\n# Usage\n\n# 1. Get account info\n\n## method: web3.thk.GetAccount\n\n## params:\n\n| name | type | required| description |\n| :------:| :------: | :------: | :------: |\n| chainId | string | true | chain id |\n| address | string | true | account address |\n\n## response:\n\n| name | type | required| description |\n| :------:| :------: | :------: | :------: |\n| address | string | true | account address |\n| nonce | int | true | transactions count |  \n| balance| bigint | true | balance of tkm |  \n| storageRoot| string | false |  | \n|codeHash| string | false |  | \n\n## example:\n\n```javascript\nvar response = web3.thk.GetAccount(\"2\", \"0x2c7536e3605d9c16a7a3d7b1898e529396a65c23\");\n```\n\nresponse:\n\n```json\n{\n  \"address\": \"0x2c7536e3605d9c16a7a3d7b1898e529396a65c23\",\n  \"balance\": 9.99999985e+26,\n  \"codeHash\": null,\n  \"nonce\": 43,\n  \"storageRoot\": null\n}\n```\n\n# 2. send transaction\n\n## method: web3.thk.SendTx\n\n## params:\n\n| name | type | required| description |\n| :------:| :------: | :------: | :------: |\n| Transaction | dict | true | transaction detail |\n\nTransaction：\n\n| name | type | required| description |\n| :------:| :------: | :------: | :------: |\n| chainId | string | true | chain id |\n| fromChainId | string | true | from chain id |\n| toChainId | string | true | to chain id |\n|from | string | true | from account address |\n|to | string | true | receiver address |\n| nonce | string | true | transaction count |   \n| value | string | true | transfer amount |  \n| input | string | true | encoded params |  \n| sig | string | true | signature of the transaction |  \n| pub | string | true | account public key |  \n\n## response:\n\n| name | type | required| description |\n| :------:| :------: | :------: | :------: |\n| TXhash | string | true | transaction hash |\n\n## example:\n\n```javascript\nvar response = web3.thk.SendTx({\n    chainId: '2',\n    fromChainId: '2',\n    toChainId: '2',\n    from: '0x0000000000000000000000000000000000000000',\n    to: '0x0e50cea0402d2a396b0db1c5d08155bd219cc52e',\n    nonce: '1',\n    value: '0',\n    input: '0xc3bea9af000000000000000000000000ca35b7d915458ef540ade6068dfe2f44e8fa733c',\n    sig: '0x7d5c7b6b28dd66bada7cfb153fe03433deb331cc74ca82de3ddf49708f1174895404682fcb9bcb30fdb7f6d041b78c56d87e18df1ca6e7e2bd75e38a6a1c8d631c',\n    pub: '0x044e3b81af9c2234cad09d679ce6035ed1392347ce64ce405f5dcd36228a25de6e47fd35c4215d1edf53e6f83de344615ce719bdb0fd878f6ed76f06dd277956de'\n});\n```\n\nresponse:\n\n```json\n{\n  \"TXhash\": \"0x22024c2e429196ac76d0e557ac0cf6141f5b500c56fde845582b837c9dab236b\"\n}\n```\n\n# 3. get transaction info by hash\n\n## method: web3.thk.GetTransactionByHash\n\n## params:\n\n| name | type | required| description |\n| :------:| :------: | :------: | :------: |\n| chainId | string | true | chain id |\n|hash | string | true | transaction hash |\n\n## response:\n\n| name | type | required| description |\n| :------:| :------: | :------: | :------: |\n| Transaction | dict | true | transaction details |\n| root | string | true | Save the current state of the \"account\" when the receive object is created |\n| status | int | true | Transaction status: 1: success, 0: fail |\n| logs | array[dict] | false | An array of log objects generated by this transaction |\n| transactionHash | string | true | transaction hash |\n| contractAddress | string | true | contract address |\n| out | string | true | Call to return result data |\n\nTransaction:\n\n| name | type | required| description |\n| :------:| :------: | :------: | :------: |\n| chainID | int| true | chain id |\n| from | string | true | from address |\n| to | string | true | receiver address |\n| nonce | string | true | The number of previous transactions by the originator of the transaction |\n| val | string | true | Transfer amount |\n| input | string | true | Parameters when calling contracts |\n\n## example:\n\n```javascript\nvar response = web3.thk.GetTransactionByHash('1', '0xca222630130bad1555ad633d67d2beefbf405d36fdc3e1abd4260f201284292c');\n```\n\nresponse:\n\n```json\n{\n  \"tx\": {\n    \"chainid\": 1,\n    \"from\": \"0x853d5281d92cc5c8d0d1bce1f2f7b125ca4e09e7\",\n    \"to\": \"0x2f9bbce6f7d314fbe2b59901d0653a443bc11edd\",\n    \"nonce\": 24,\n    \"value\": 40000000000000000000,\n    \"input\": \"0x88ffe867\",\n    \"hash\": \"\",\n    \"uselocal\": false,\n    \"extra\": \"0x\",\n    \"timestamp\": 0\n  },\n  \"root\": \"eyJmZWUiOiI3MDM1NTIwMDAwMDAwMDAwMCIsInJvb3QiOm51bGx9\",\n  \"status\": 1,\n  \"logs\": [\n    {\n      \"address\": \"0x2f9bbce6f7d314fbe2b59901d0653a443bc11edd\",\n      \"blockNumber\": \"0x5aacf3\",\n      \"data\": \"0x000000000000000000000000853d5281d92cc5c8d0d1bce1f2f7b125ca4e09e70000000000000000000000000000000000000000000000022b1c8c1227a00000000000000000000000000000000000000000000000000000000000005e65d45a\",\n      \"logIndex\": \"0x0\",\n      \"topics\": [\n        \"0xaba4f973c8f45a52365c8348704e79653e4b58ebd452f2d2115423a62ef7a3e1\"\n      ],\n      \"transactionHash\": \"0xca222630130bad1555ad633d67d2beefbf405d36fdc3e1abd4260f201284292c\",\n      \"transactionIndex\": \"0x0\"\n    }\n  ],\n  \"transactionHash\": \"0xca222630130bad1555ad633d67d2beefbf405d36fdc3e1abd4260f201284292c\",\n  \"contractAddress\": \"0x0000000000000000000000000000000000000000\",\n  \"out\": \"0x\",\n  \"gasUsed\": 175888,\n  \"gasFee\": \"70355200000000000\",\n  \"blockHeight\": 5942515\n}\n```\n\n# 4. Get chain information\n\n## method: web3.thk.GetStats\n\n## params:\n\n| name | type | required| description |\n| :------:| :------: | :------: | :------: |\n| chainId | string | true | chain id |\n\n## response:\n\n| name | type | required| description |\n| :------:| :------: | :------: | :------: |\n| currentheight |bigint | true |  Current block height |\n| txcount | int | true | Total transactions |\n| tps | int | true | Transaction Per Second |\n| tpsLastEpoch | int | true | Number of transactions in the previous period |\n| lives | int | true | Survival time of the chain |\n| accountcount | int | true | Number of accounts |\n| epochlength | int | true | How many blocks does the current period contain |\n| epochduration | int | true | Running time of current period |\n| lastepochduration | int | true | Running time of last period |\n| currentcomm | array | true | The current members of the chain |\n\n## example:\n\n```javascript\nvar response = web3.thk.GetStats('103')\n```\n\nresponse\n\n```json\n{\n  \"accountcount\": 0,\n  \"currentcomm\": [\n    \"0xbfebdb4661c93456c29dcc22ea32340b6a0e400bef924923a53dfe22ad90cbd5069135ef591d65515aa40ef34970599cc7c331667db7f744e89fe8ec305ede9a\",\n    \"0x0df134ddc7bebb8abe61d8649a3054c107908719a4c5fa49be9ffb32037f84a0768d91bcd33e28c8c410760146eead90a72db6880c2d6eb5cac2f10d2be3563f\",\n    \"0x37e7ab457bf4d38a96c06f0fc616e001a0eac9f7b7e8407f97bfd39b30569f069541a27cae9e681aff9d50616970b6b554d0893b25561453f58dc6e174e8e70a\",\n    \"0x8c9cba550f746efcd98635fa6b300cd25ac08b54dda8f067dcba07bb4026c51478a1ac2dd5db3c89179ceab5f10d2f59d6d83f1f9ff652000a0c390b3fbc382e\",\n    \"0xfa1688066b16f61c72b02af5834a9bb79b746a962c8ed82d6f4afce1c5f7ac1987f291b6063e438d3b6c12856a677901878302b1a5865c837252f1db18cdbd2f\",\n    \"0x58c484fbb8d825e92b8e8d62c469e327fc8a55f2d521bb041d352ffb1a4e68cf1675c834e87daeea941f268601086c37df270a1048472a424b30af53053a34f7\",\n    \"0xcdda504db1913c22e961c3f1dfb07941f22b7a0f3b4d3e2a48bc69ad67c0061c21d793e75c35b8f8dcc3a733b8c051fed1ca8d157cea26a65c0bb3c00f8a59f5\",\n    \"0x70d6885ebb21b83377fcd6387f820b087753e5cbfc0bdb6dcd1b3f116680bbebf615441c55db54e36e587131fc9b645fca412b7c6b428d17bb8c24a1f3ae42c7\",\n    \"0xcd2eb869ab358cb7f56f0abcf50623eb46bdf63ef52986fdd377948a87b6e2bf667649b658f6e1705b81e9d4a3380dfdcaa122ab69686ad0d30959aadfa999e5\",\n    \"0x89b0bbcc4df1e4f1be61a527144491be88d86e09db48238ccb07cbd9af19728ff8143318d679184ee058cd57458206ae955d16e16ed5267bdb0819bf6c22c986\",\n    \"0x9b2c2ffb7e950275b1451a1833e885f555b3c05b02a0cb869427bf252c2eb44d2ac46de7c770f2c621b2118681d3fcfcdf8b38bccdb38622748fdba1b97e2780\",\n    \"0x7fa9213bf8027e846d2eb6e5b17f6caea7f80a1c0522f85927744e388afa756b21edcaab7d439b6661024225af1f9a5c3f8eab12a8a60402dc08147f697fe988\",\n    \"0x2010f9c48b2af6679a0821efb657a96fbd8d2621ad20e97ed93eaabaea408baf086ad0009ab235c490e66a11e3ea1924aeaba2955ea7d3f2f9cbd933d41df362\",\n    \"0xc1f4b9c3b129d88ff072aca7c958c57dbbcd3e1e47718990efa799989a5c16893b70bdc1d3af728169bc9cae5f0c1c22ae37c9aa3026789e1e68fb2f68920909\",\n    \"0xd9b5f2c6fafe7391e182a98194b972961a8b4e24afa0152f4da0df9f84bbadb496451dc0b7ff4332e311914a93f7c5f60f07953edcbeef8ccc1637157ee0d5c5\",\n    \"0x73bf86fbc73b5e6f12613a4eeeb8883a6af2d646bab8dd47e117f89d5a5c2369fc908b9003a1db5e4187a11245d61b23b73c2572326048d33860b5b0be9c03c1\",\n    \"0x59c9add6f7ae1d1cc5e79579f309b720b37da127f171ba0e65a3e083bb27698ff22ca505f3298acf70106344b1d07104db15e317f14822e341ecdc21a1e87929\",\n    \"0xb7023c7412e51ff1afa679756b354cf74578c93fbbad8eee2c0a2e60347eb4b857e6e45ab41444010e408e9548d749577c1e6f0301d0d14ee0d3844647761cd7\",\n    \"0x482c7b2e66aabbee8fad39d64faab09f2d0059e1193a5470ec21875cdbd17ce4986f180ab498620d768ef3cba031ee0b534eba21a4c581e3e0842548c5527748\",\n    \"0xe14da122de07cf0d1553fd91b729e6db6a68a103cf6eff190757f6b3bc34bcc88d2f7877d03ccb3e2be980dbe3b65dca6c10d9ae2823ecb4f8d88770b019f22f\",\n    \"0x7af07f8cfa74b9367a10b86eac1883fdbc9eab7814675d8bd7138ec6aa805dda80aa115c9ffe416429f87efb008d30f9c1eaf9c2a8cce274a3f05a7ed0b082ad\",\n    \"0x338035e5aa2c7ce1320c272c0c782c150a589f686767b483f044c746acd65d85af26b4a475ded3adc46cc1b2283f7b1f79ef877d3fef8f275a36e9c2a7bd23b9\",\n    \"0x842409950306aebbcc580bbfd044067e6bc2530cb3f426c1eea1c3b1fd48487e6e01d5392e5b5e2bde9145931c4451b22d779d805237d7b23ce934ecc3447065\",\n    \"0xf9828acc66c3e41ccc00a3683bf5417712a4914f12c1c709eec572483b189feebfcd5e718075e8bd56803243e8a637308c1e535fbe82ef8e6377a45aeeae56c8\",\n    \"0xccc192ed5565d43671c6c1acaf53fd95b9010abf2ba4263854756d6bcfa4d7d2e1fbd43bc1f63cab2f1c74e3956b6ce0d38ebcd555c8e3085a05037be7670731\",\n    \"0x567beb3b4827fbd138ee88592791efadb2a1ced4a57bf6f775b5950566169f19d16904f3c4a1f1f758843a5fba9e5052b97afa8f07de443869dee58700f72dc4\",\n    \"0x67023c6cffb20c1a213f2e038427936adc674c09d54ef1afb1dcfdc8b40a48a80f1ccb51718d3b5bd5d1303e2f365a364d31ce8b6de9f14f18fcde4d43ddfcad\",\n    \"0x250f3081d864de9796f4f9c505accc293f9ff7822c9d1ac4a5840981f486159121560eff795ae974c83971fb1f27e2984924934e9da43c9eda8423474398cd4f\"\n  ],\n  \"currentheight\": 1590270,\n  \"epochduration\": 2911,\n  \"epochlength\": 1000,\n  \"gaslimit\": 2500000,\n  \"gasprice\": \"400000000000\",\n  \"lastepochduration\": 2757,\n  \"lives\": 818243,\n  \"tps\": 0,\n  \"tpsLastEpoch\": 0,\n  \"txcount\": 2\n}\n```\n\n# 5. Obtain the transaction information of the specified account within a certain height range on the corresponding chain\n\n## method: web3.thk.GetTransactions\n\n## params:\n\n| name | type | required| description |\n| :------:| :------: | :------: | :------: |\n| chainId | string | true | chain id |\n| address | string | true | account address |\n| startHeight | string | true | start height |\n| endHeight | string | true | end height |\n\n## response:\n\n| name | type | required| description |\n| :------:| :------: | :------: | :------: |\n| [] | []transactons | true | transaction array |\n\ntransactons：\n\n| name | type | required| description |\n| :------:| :------: | :------: | :------: |\n| chainId | int | true | chain id |\n| from | string | true | from address |\n| to | string | true | receiver address |\n| nonce | int | true | transaction count |\n| value | int | true | transfer amount |\n| timestamp | int | true | transaction timestamp |\n| input | string | true | encode params |\n| hash | string | true | transaction hash |\n\n## example:\n\n```javascript\nvar response = web3.thk.GetTransactions('2', \"4fa1c4e6182b6b7f3bca273390cf587b50b47311\", 50, 70);\n\n```\n\nresponse:\n\n```json\n[\n  {\n    \"chainid\": 2,\n    \"from\": \"0x2c7536e3605d9c16a7a3d7b1898e529396a65c23\",\n    \"to\": \"0x0000000000000000000000000000000000020000\",\n    \"nonce\": 0,\n    \"value\": 0,\n    \"input\": \"0x000000022c7536e3605d9c16a7a3d7b1898e529396a65c230000000000000000000000034fa1c4e6182b6b7f3bca273390cf587b50b4731100000000000456440101\",\n    \"hash\": \"0x0ea5dad47833fc6286357b6bd6c1a4e910def5f4432a1a59bde0f816c3dd18e0\",\n    \"timestamp\": 1560425588\n  },\n  {\n    \"chainid\": 2,\n    \"from\": \"0x2c7536e3605d9c16a7a3d7b1898e529396a65c23\",\n    \"to\": \"0x133c5bfef5d486052b061b44af113f20057341a8\",\n    \"nonce\": 1,\n    \"value\": 0,\n    \"input\": \"0xa9059cbb00000000000000000000000066261e3faf00ef1537b22f37d8db85f57066f58f0000000000000000000000000000000000000000000000000000000000004e20\",\n    \"hash\": \"0x1dbbda2d229db82ff12b3bea82d49225e6bebd645def4c06da157ddbe5660066\",\n    \"timestamp\": 1560425596\n  }\n]\n\n```\n\n# 6. call transaction\n\n## method: web3.thk.CallTransaction\n\n## params:\n\n| name | type | required| description |\n| :------:| :------: | :------: | :------: |\n| Transaction | dict | true | transaction detail |\n\n## params:\n\n| name | type | required| description |\n| :------:| :------: | :------: | :------: |\n| chainId | string | true | chain id |\n| fromChainId | string | true | from chain |\n| toChainId | string | true | to chain |\n| from | string | true | from account address |\n| to | string | true | receiver address |\n| nonce | string | true | transactions count of account |\n| value | string | true | transfer amount |\n| input | string | true | encoded params |\n\n## response:\n\n| name | type | required| description |\n| :------:| :------: | :------: | :------: |\n| out | string | true | call result |\n\n## example:\n\n```javascript\nvar response = web3.thk.CallTransaction({\n    chainId: '2',\n    fromChainId: '2',\n    toChainId: '2',\n    from: '0x0000000000000000000000000000000000000000',\n    to: '0x0e50cea0402d2a396b0db1c5d08155bd219cc52e',\n    nonce: '22',\n    value: '0',\n    input: '0xe98b7f4d0000000000000000000000000000000000000000000000000000000000000001'\n});\n\n```\n\nresponse:\n\n```json\n{\n  \"Transaction\": {\n    \"chainID\": 2,\n    \"from\": \"0x0000000000000000000000000000000000000000\",\n    \"to\": \"0x0e50cea0402d2a396b0db1c5d08155bd219cc52e\",\n    \"nonce\": 2,\n    \"value\": 0,\n    \"input\": \"0xe98b7f4d0000000000000000000000000000000000000000000000000000000000000001\",\n    \"hash\": '',\n    \"timestamp\": 0\n  },\n  \"root\": null,\n  \"status\": 0,\n  \"logs\": null,\n  \"transactionHash\": \"0x9936cab441360985fc9e27904f0767c1c39fe8e0edb83709a0cdad52470a4592\",\n  \"contractAddress\": \"0x0000000000000000000000000000000000000000\",\n  \"out\": \"0x\"\n}\n\n```\n\n# 7. get block info\n\n## method: web3.thk.GetBlockHeader\n\n## params:\n\n| name | type | required| description |\n| :------:| :------: | :------: | :------: |\n| chainId | string | true | chain id |\n| height | string | true | the block height |\n\n## response:\n\n| name | type | required| description |\n| :------:| :------: | :------: | :------: |\n| hash | string | true | block hash |\n| previoushash | string | true | previous block hash |\n| chainid | int | true | chain id |\n| height | int | true | block height |\n| mergeroot | string | true | Merge other chain transfer data hash |\n| deltaroot | string | true | inter-chain transfer hash |\n| stateroot | string | true | state-hash |\n| txcount | int | true | transaction count |\n| timestamp | int | true | timestamp |\n\n## example:\n\n```javascript\nvar response = web3.thk.GetBlockHeader('2', '30');\n\n```\n\nresponse:\n\n```json\n{\n  \"hash\": \"0x71603186004fd46d32cda0780c4f4cf77ce13b396b1b8132b2c632173441b9d2\",\n  \"previoushash\": \"0xd0f6e9c89eb6be655632911e3743b5a994423c3526653dc55b62ebea3ff56c43\",\n  \"chainid\": 2,\n  \"height\": 30,\n  \"mergeroot\": \"0xdddfde85423a0d7da064c1b5a8cc1ff18d4a209027ef95ecceae0e6ed8f7c1af\",\n  \"deltaroot\": \"0xdddfde85423a0d7da064c1b5a8cc1ff18d4a209027ef95ecceae0e6ed8f7c1af\",\n  \"stateroot\": \"0x0b672749b02da6bf8f3aa50238140ce7fae5af3e926d4eb06d4cfb707a90702e\",\n  \"txcount\": 1,\n  \"timestamp\": 1547777358\n}\n\n```\n\n# 8. Gets the transaction of the specified block\n\n## method: web3.thk.getBlockTxs\n\n## params:\n\n| name | type | required| description |\n| :------:| :------: | :------: | :------: |\n| chainId | string | true | chain id |\n| height | string | true | the block height |\n| page | string | true | page index |\n| size | string | true | size of the page |\n\n## response:\n\n| name | type | required| description |\n| :------:| :------: | :------: | :------: |\n| elections | dict | true |  |\n| accountchanges | array | true | tansaction info |\n\naccountchanges:\n\n| name | type | required| description | \n| :------:| :------: | :------: | :------: |\n| chainid | string | true | chain id |\n| height | int| true | start height |\n| from | string| true | from account address |\n| to | string| true | receiver address |\n| nonce | int| true | transactions count |\n| value | int| true | transfer amount | \n| timestamp | int| true | transaction timestamp |\n\n## example:\n\n```javascript\nvar response = web3.thk.GetBlockTxs('2', '30', '1', '10');\n\n```\n\nresponse:\n\n```json\n{\n  \"elections\": null,\n  \"accountchanges\": [\n    {\n      \"chainId\": 2,\n      \"height\": 30,\n      \"from\": \"0x4fa1c4e6182b6b7f3bca273390cf587b50b47311\",\n      \"to\": \"0x4fa1c4e6182b6b7f3bca273390cf587b50b47311\",\n      \"nonce\": 30,\n      \"value\": 1,\n      \"input\": \"0x\",\n      \"hash\": \"0x4bff6fad0cd46599289e4e465987cfc94278363b12eca3f37572be8c2ce1b061\",\n      \"timestamp\": 1547777358\n    }\n  ]\n}\n\n```\n\n# 9. compile contract\n\n**see test/contract/deploy_test.js**\n\n## params:\n\n```javascript\nvar input = {\n    language: 'Solidity',\n    sources: {\n        'test.sol': {      //contract file name\n            content: contractContent     //contract codes\n        }\n    },\n    settings: {\n        outputSelection: {\n            '*': {\n                '*': ['*']\n            }\n        }\n    }\n};\n```\n\n## example:\n\n```javascript\n\nvar solc = require('solc');\n\nfunction compileContract(contractContent) {\n    const input = {\n        language: 'Solidity',\n        sources: {\n            'test.sol': {\n                content: contractContent\n            }\n        },\n        settings: {\n            outputSelection: {\n                '*': {\n                    '*': ['*']\n                }\n            }\n        }\n    };\n\n    const output = JSON.parse(solc.compile(JSON.stringify(input)));\n    return output.contracts['test.sol']\n}\n\nlet contents = `pragma solidity >= 0.5.0;\n                contract HelloWorld {\n                    uint256 age = 17;\n                    string nickname = \"Hello\";\n                    function getAge() public view returns (uint256 data){\n                        return age;\n                    }\n                    function getNickname() public view returns (string memory data){\n                        return nickname;\n                    }\n                    function setNickname(string memory data) public {\n                        nickname = data;\n                    }\n                }`;\nconst result = compileContract(contents)['HelloWorld'];\n\nconst contractAbi = result.abi;\nconst contractByteCode = result.evm.bytecode.object.slice(0, 2) === '0x' ? result.evm.bytecode.object : '0x' + result.evm.bytecode.object;\n\n```\n\n# 10.1 deploy contract\n\n**see test/contract/deploy_test.js**\n\n## example:\n\n```javascript\nfunction deployContract(abi, codes) {\n    let contracts = web3.thk.contract(abi).new({data: codes});\n    console.log(\"contracts: \" + JSON.stringify(contracts, null, 1));\n    if (contracts.transactionHash) {\n        sleep(5);\n        const res = web3.thk.GetTransactionByHash(web3.thk.defaultChainId, contracts.transactionHash);\n        return res.contractAddress\n    }\n    return '';\n}\n\nconst contractAddress = deployContract(contractAbi, contractByteCode);\nconsole.log('contractAddress: ', contractAddress);\nconsole.log('contractAbi: ', contractAbi);\n```\n\n# 10.2 new contract instance and call contract methods\n\n```javascript\n// get new instance of the contract with giving the abi and contract address\nfunction fromAbi(abi, address) {\n    return web3.thk.contract(abi, address).at(address);\n}\n\nconst helloWorld = fromAbi(contractAbi, contractAddress);\n\n// call method 'setNickname'\nhelloWorld.setNickname(\"world\");\nsleep(5); // wait a moment for the transaction executed\nconsole.log(\"contract function res:\", helloWorld.getNickname());\n```\n\n# 11. check machine health\n\n## method: web3.thk.Ping\n\n## params:\n\n| name | type | required| description |\n| :------:| :------: | :------: | :------: |\n| address | string | true | ip+port |\n\n## response:\n\n| name | type | required| description |\n| :------:| :------: | :------: | :------: |\n| nodeId | string | true | node id |\n| version | string | true | version|\n| isDataNode | bool | true | whether data-node |\n| dataNodeOf | int | true |  |\n| lastMsgTime | int64 | true | last message time |\n| lastEventTime | int64 | true | last event time |\n| lastBlockTime | int64 | true | last block time |\n| overflow | bool | true | over flow |\n| lastBlocks |map | true | last block |\n| opTypes | map | true | type |\n\n## example:\n\n```javascript\nvar response = web3.thk.Ping(\"192.168.1.13:22010\")\n```\n\nresponse:\n\n```json\n{\n  \"nodeId\": \"0x5e17128ba224a96d6e84be0c7f899febea26c55c78940610d78a0d22dbd0ab03cc3233491de0b5eb770dbf850b509bd191723df4fc40520bcbab565d46543d6e\",\n  \"version\": \"V1.0.0\",\n  \"isDataNode\": true,\n  \"dataNodeOf\": 0,\n  \"lastMsgTime\": 1560850367,\n  \"lastEventTime\": 1560850367,\n  \"lastBlockTime\": 1560850367,\n  \"overflow\": false,\n  \"lastBlocks\": {\n    \"0\": 159927\n  },\n  \"opTypes\": {\n    \"0\": [\n      \"DATA\"\n    ]\n  }\n}\n\n```\n\n# 12. Proof of check generation\n\n## method: web3.thk.RpcMakeVccProof\n\n## params:\n\n| name | type | required| description |\n| :------:| :------: | :------: | :------: |\n| transaction | dict | true | transaction info |\n\ntransaction：\n\n| name | type | required| description |\n| :------:| :------: | :------: | :------: |\n| chainId | string | true | chain id |\n| fromChainId | string | true | from chain id |\n| toChainId | string | true | from chain id |\n| from | string | true | from address |\n| to | string | true | to address |\n| nonce | string | true | The number of previous transactions by the originator of the transaction |\n| value | string | true | Transfer amount |\n| ExpireHeight | int | true | Expiration height |\n\n## response:\n\n| name | type | required| description |\n| :------:| :------: | :------: | :------: |\n| input | string | true | Generated check proof |\n\n## example:\n\n```javascript\nlet obj = {\n    chainId: '2',\n    from: '0x2c7536e3605d9c16a7a3d7b1898e529396a65c23',\n    to: '0x2c7536e3605d9c16a7a3d7b1898e529396a65c23',\n    fromChainId: '2',\n    toChainId: '3',\n    value: '1000000000000000',\n    expireheight: '54223',\n    nonce: '47'\n};\nvar response = web3.thk.RpcMakeVccProof(obj)\n\n```\n\nresponse:\n\n```json\n{\n  \"input\": \"0x95000000022c7536e3605d9c16a7a3d7b1898e529396a65c23000000000000002f000000032c7536e3605d9c16a7a3d7b1898e529396a65c23000000000000d3cf07038d7ea4c6800002a2d30bc06dc891383f7c61c310c9109aae0407508ced3f5562670b13cc5f093777a65a0193941093a1b6df76df5387752a24b904aac80067c3aa0ea7eb1b40074d4a30889e0083412744c2000080809409934080c20202808100018187aa9f339cf1ba6ffe6986f68c639a835fac453ac37d0df6e72091b1cd1cd30001019424930080c20000c02c83b4898418ce3324a2deeacf5848d49981f8ad2ad60c810c23e78e840dbc1781000524ac33cdd9e9bf0cbdfc4d357d81d5d1638dd7516ec38d779300f5f6e76d9b7ee0eccda334e611eb97288b59a36e78b25eb15746f593036a56ab50f89174f60062e715f8969d49b1ada75ce66977ab01219068e1adcf104eb328442fa3002759eca078605c1b0ad6ff4323f7c23307585d3dddd504f96e7a7f722f9802d2a1b7130047aeaaba37848d7c13a6df0328565e15ba9401b2485ac662423afcc01bb4000110\"\n}\n\n```\n\n# 13. Generate proof of cancellation check\n\n## method: web3.thk.MakeCCCExistenceProof\n\n## params:\n\n| name | type | required| description |\n| :------:| :------: | :------: | :------: |\n| transaction | dict | true | transaction info |\n\ntransaction：\n\n| name | type | required| description |\n| :------:| :------: | :------: | :------: |\n| chainId | string | true | chain id |\n| fromChainId | string | true | from chain id |\n| toChainId | string | true | to chain id |\n| from | string | true | from address |\n| to | string | true | receiver address |\n| nonce | string | true | The number of previous transactions by the originator of the transaction |\n| value | string | true | Transfer amount |\n| ExpireHeight | int | true | Expiration height |\n\n## response:\n\n| name | type | required| description |\n| :------:| :------: | :------: | :------: |\n| input | string | true | encoded params |\n| existence | bool | true | Have you ever deposited a check |\n\n## example:\n\n```javascript\nlet obj = {\n    chainId: '2',\n    from: '0x2c7536e3605d9c16a7a3d7b1898e529396a65c23',\n    to: '0x2c7536e3605d9c16a7a3d7b1898e529396a65c23',\n    fromChainId: '2',\n    toChainId: '3',\n    value: '1000000000000000',\n    expireheight: '54223',\n    nonce: '47'\n}\nvar response = web3.thk.MakeCCCExistenceProof(obj)\n\n```\n\nresponse:\n\n```json\n{\n  \"existence\": false,\n  \"input\": \"0x95000000022c7536e3605d9c16a7a3d7b1898e529396a65c23000000000000002f000000032c7536e3605d9c16a7a3d7b1898e529396a65c23000000000000d3cf07038d7ea4c6800002a2d30bc06dc891383f7c61c310c9109aae0407508ced3f5562670b13cc5f093777a65a0193941093a1b6df76df5387752a24b904aac80067c3aa0ea7eb1b40074d4a30889e0083412744c2000080809409934080c20202808100018187aa9f339cf1ba6ffe6986f68c639a835fac453ac37d0df6e72091b1cd1cd30001019424930080c20000c02c83b4898418ce3324a2deeacf5848d49981f8ad2ad60c810c23e78e840dbc1781000524ac33cdd9e9bf0cbdfc4d357d81d5d1638dd7516ec38d779300f5f6e76d9b7ee0eccda334e611eb97288b59a36e78b25eb15746f593036a56ab50f89174f60062e715f8969d49b1ada75ce66977ab01219068e1adcf104eb328442fa3002759eca078605c1b0ad6ff4323f7c23307585d3dddd504f96e7a7f722f9802d2a1b7130047aeaaba37848d7c13a6df0328565e15ba9401b2485ac662423afcc01bb4000110\"\n}\n```\n\n# 14.get chain info\n\n## method: web3.thk.GetChainInfo\n\n## params:\n\n| name | type | required| description |\n| :------:| :------: | :------: | :------: |\n| chainIds | []int | true | chain id（notice：get all if chainIds not present） |\n\n## response:\n\n| name | type | required| description |\n| :------:| :------: | :------: | :------: |\n| [] | []chainInfo | true | chain info array |\n\nchainInfo：\n\n| name | type | required| description |\n| :------:| :------: | :------: | :------: |\n| chainId | int | true | chain id |\n| datanodes | []dataNode | true | data node array |\n| mode | int | true | mode |\n| parent | int | true |  |\n\ndataNode：\n\n| name | type | required| description |\n| :------:| :------: | :------: | :------: |\n| dataNodeId | int | true | data node id |\n| dataNodeIp | string | true | data node ip |\n| dataNodePort | int | true | data node port |\n\n## example:\n\n```javascript\nvar response = web3.thk.GetChainInfo([])\n```\n\nresponse:\n\n```json\n[\n  {\n    \"chainId\": 0,\n    \"datanodes\": [\n      {\n        \"dataNodeId\": \"0x5e17128ba224a96d6e84be0c7f899febea26c55c78940610d78a0d22dbd0ab03cc3233491d0b5eb770dbf850b509bd191723df4fc40520bcbab565d46543d6e\",\n        \"dataNodeIp\": \"192.168.1.13\",\n        \"dataNodePort\": 22010\n      }\n    ],\n    \"mode\": 5,\n    \"parent\": 1048576\n  },\n  {\n    \"chainId\": 1,\n    \"datanodes\": [\n      {\n        \"dataNodeId\": \"0x96dc94580e0eadd78691807f6eac9759b9964daa8b46da4378902b040e0eb102cb48413308d2131e9e5557321f30ba9287794f689854e6d2e63928a082e79286\",\n        \"dataNodeIp\": \"192.168.1.13\",\n        \"dataNodePort\": 22014\n      }\n    ],\n    \"mode\": 6,\n    \"parent\": 0\n  },\n  {\n    \"chainId\": 2,\n    \"datanodes\": [\n      {\n        \"dataNodeId\": \"0xa93b150f11c422d8700554859281be8e34a91a859e0e021af186002c7e4a2661ea2467a63b417030d68e2fdddeb4342943dff13225da77124abf912fd092f71f\",\n        \"dataNodeIp\": \"192.168.1.13\",\n        \"dataNodePort\": 22018\n      }\n    ],\n    \"mode\": 6,\n    \"parent\": 0\n  },\n  {\n    \"chainId\": 3,\n    \"datanodes\": [\n      {\n        \"dataNodeId\": \"0x783f4b2490461ecfd8ee8d3451e434de06bacb0ffff56de53a33fe545589094fa0b929eeaa62dc5203d1e831ccdd37d206d0b85b193921efb223bf0cb2f37b4c\",\n        \"dataNodeIp\": \"192.168.1.13\",\n        \"dataNodePort\": 22022\n      }\n    ],\n    \"mode\": 7,\n    \"parent\": 1\n  },\n  {\n    \"chainId\": 4,\n    \"datanodes\": [\n      {\n        \"dataNodeId\": \"0x44c98ab831f3ca4553e491bba06753e959ceb55d43e18bc76539572feb1e0dbaf2fbfc19f571d6544e82be1c7c39760f6a023d4be4dcb9473dd580c731d03926                \",\n        \"dataNodeIp\": \"192.168.1.13\",\n        \"dataNodePort\": 22026\n      }\n    ],\n    \"mode\": 7,\n    \"parent\": 1\n  }\n]\n```\n\n# 15.get committee info\n\n## method: web3.thk.GetCommittee\n\n## params:\n\n| name | type | required| description |\n| :------:| :------: | :------: | :------: |\n| chainId | string | true | chain id |\n| epoch | string | true | epoch |\n\n## response:\n\n| name | type | required| description |\n| :------:| :------: | :------: | :------: |\n| chainId | int | true | chain id |\n| MemberDetails | []string | true | committees detail |\n| Epoch | int | true | epoch |\n\n## example:\n\n```javascript\nvar response = web3.thk.GetCommittee(\"1\", \"411\")\n\n```\n\nresponse:\n\n```json\n[\n  \"0xe90a151759bf070969aae664e00502bb08568c85a73874492a3ec480c5178d5da29c790896fc62106e32d172819dec94202ff90f3b7ba3e6adf38508bc58cf43\",\n  \"0x3224de0da639511fec588d2e28f4472476b1600d003a10e38e0456426337624aaecd6636e5ce7ff95fc10746471ce7b680f664ccbf17057ca18c761706afa391\",\n  \"0xad88dc0c0cf7d9e4a62f97e81f33556f65abba96b3c7108a732ff20f1a23530ca7730a6885d91ac718e1bb6ebad5e18bf8b7a58b91cbf717b48b723c7ceedef6\",\n  \"0x8c7872c0c96a9f5b396120a0a45706678ab7a34c34a146ce9329c894f8cb9de41ec10edbf6b9c85796fd9e91d8d651a53578f164c8ee71a2d2cbfef9d5a4c6a4\",\n  \"0xdb3e5b5ea24e1d760a59cf22cfafeed5a4e57af2108fc0df3bf457a82f754264b3fdf9d77fcab306a9809ebcd76de91e382d912a90e3f37edf4eb04f3f036d0b\",\n  \"0x4ce2edd98452036c804f3f2eeef157672be2ccf647369eb42eb49ab9f428821f9990efde3cf7f16e4c64616c10b673077f4278c6dd2fc6021da8ad0085a522a2\",\n  \"0xd1f889690f8c75bbada89a4c8893b8bf6fe29be3b5c3d8a2d772024a340d59d375f39ed88498666a57da10af885ad63a414f8a10153fb739eb1ebfcef57cc883\"\n]\n\n```\n","readmeFilename":"README.md"}