Nodejs

16
Dec
交易所实现自动确认以太坊到账
因业务需求,需要实现交易所自动确认用户的转账。与btc的不同交易所实现自动确认比特币到账上一篇文章有说到确认btc到账的方法,eth与其大致相同,都是获取一段时间内区块上的所有交易,存入数据库。然后历遍新存入的交易数据,如果交易数据中的to能与本站用户的钱包地址匹配,那这比交易就是用户充值的。与btc不同的是获取交易数据的方式不同。btc必须借助第三方api才能实现,eth只需要调用自己钱包服务器的json-rpc就可以了。业务逻辑目前的逻辑是,通过eth_newBlockFilter这个钱包json-rpc,在eth服务器上添加一个BlockFilter。之后每次调用eth_getFi...
1,450
2018/12/16
26
Nov
交易所实现自动确认比特币到账
因业务需求,需要实现交易所自动确认用户的转账。用户转账地址用户的转账地址现阶段是直接json-rpc调用getnewaddress接口生成。之后将改为统一批量生成多个地址存入数据库,新用户注册时自动分配,确保每个人的地址唯一。业务逻辑目前的逻辑是,通过每分钟轮询一次blockchain.info/latestblock这个接口获取最新的区块高度。如果区块高度更新,就通过/block-height/${blockNumber}?format=json这个接口获取该区块下的所有交易数据,存入自己的数据库。然后把所有用户的btc地址历遍,把每个用户的btc地址与最新更新的交易数据匹配,如果发现...
1,135
2018/11/26
24
Sep
Nodejs Http请求数据被分段
Nodejs中的http模块,发起http请求时,如果回复的数据过长,会被分段传回来如图,第一条json数据太长,在"cumulativeGasUsed"处被拆分成两断了 var req = http.request(options, res => { var data = ""; res.on("data",chunk => { data += chunk; }); res.on("end", () => { ...
704
2018/09/24
15
Sep
Nodejs客户端websocket绕过ssl验证
因为项目网站使用的免费证书,导致安卓和nodejs的一些业务都出现了无法验证.报错:unable to verify the first certificate解决方案ws.connect("wss:localhost:6666", null, null, {rejectUnauthorized: false})Nodejs中大多数的websocket库都能用该方法解决
999
2018/09/15
14
Sep
Node.js中服务端和客户端的websocket应用
Node中的websocket通常用作服务端,但是今天在写JS脚本的时候才了解到Node的websocket也可以做用户端,即require('websocket').client服务端var WebSocketServer = require('websocket').server; var http = require('http'); var server = http.createServer(function(request, response) { console.log((new Date()) + ' Received request for ' + reque...
762
2018/09/14