<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://en.zaoniao.it/index.php?action=history&amp;feed=atom&amp;title=Node.js_Example</id>
	<title>Node.js Example - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://en.zaoniao.it/index.php?action=history&amp;feed=atom&amp;title=Node.js_Example"/>
	<link rel="alternate" type="text/html" href="http://en.zaoniao.it/index.php?title=Node.js_Example&amp;action=history"/>
	<updated>2026-05-15T07:41:44Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.32.0</generator>
	<entry>
		<id>http://en.zaoniao.it/index.php?title=Node.js_Example&amp;diff=6140&amp;oldid=prev</id>
		<title>Admin: Created page with &quot; &lt;source lang=&quot;javascript&quot;&gt;         var querystring = require('querystring'),         https = require('https'),         crypto = require('crypto');  function MtGoxClient(key,...&quot;</title>
		<link rel="alternate" type="text/html" href="http://en.zaoniao.it/index.php?title=Node.js_Example&amp;diff=6140&amp;oldid=prev"/>
		<updated>2019-06-21T02:30:58Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot; &amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;         var querystring = require(&amp;#039;querystring&amp;#039;),         https = require(&amp;#039;https&amp;#039;),         crypto = require(&amp;#039;crypto&amp;#039;);  function MtGoxClient(key,...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt; &amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
        var querystring = require('querystring'),&lt;br /&gt;
        https = require('https'),&lt;br /&gt;
        crypto = require('crypto');&lt;br /&gt;
&lt;br /&gt;
function MtGoxClient(key, secret) {&lt;br /&gt;
        this.key = key;&lt;br /&gt;
        this.secret = secret;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
MtGoxClient.prototype.query = function(path, args, callback) {&lt;br /&gt;
        var client = this;&lt;br /&gt;
&lt;br /&gt;
        // if no args or invalid args provided, just reset the arg object&lt;br /&gt;
        if (typeof args != &amp;quot;object&amp;quot;) args = {};&lt;br /&gt;
&lt;br /&gt;
        // generate a nonce&lt;br /&gt;
        args['nonce'] = (new Date()).getTime() * 1000;&lt;br /&gt;
        // compute the post data&lt;br /&gt;
        var post = querystring.stringify(args);&lt;br /&gt;
        // compute the sha512 signature of the post data&lt;br /&gt;
        var hmac = crypto.createHmac('sha512', new Buffer(client.secret, 'base64'));&lt;br /&gt;
        hmac.update(post);&lt;br /&gt;
&lt;br /&gt;
        // this is our query&lt;br /&gt;
        var options = {&lt;br /&gt;
                host: 'mtgox.com',&lt;br /&gt;
                port: 443,&lt;br /&gt;
                path: '/api/' + path,&lt;br /&gt;
                method: 'POST',&lt;br /&gt;
                agent: false,&lt;br /&gt;
                headers: {&lt;br /&gt;
                        'Rest-Key': client.key,&lt;br /&gt;
                        'Rest-Sign': hmac.digest('base64'),&lt;br /&gt;
                        'User-Agent': 'Mozilla/4.0 (compatible; MtGox node.js client)',&lt;br /&gt;
                        'Content-type': 'application/x-www-form-urlencoded',&lt;br /&gt;
                        'Content-Length': post.length&lt;br /&gt;
                }&lt;br /&gt;
        };&lt;br /&gt;
&lt;br /&gt;
        // run the query, buffer the data and call the callback&lt;br /&gt;
        var req = https.request(options, function(res) {&lt;br /&gt;
                res.setEncoding('utf8');&lt;br /&gt;
                var buffer = '';&lt;br /&gt;
                res.on('data', function(data) { buffer += data; });&lt;br /&gt;
                res.on('end', function() { if (typeof callback == &amp;quot;function&amp;quot;) { callback(JSON.parse(buffer)); } });&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // basic error management&lt;br /&gt;
        req.on('error', function(e) {&lt;br /&gt;
                console.log('warning: problem with request: ' + e.message);&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // post the data&lt;br /&gt;
        req.write(post);&lt;br /&gt;
        req.end();&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
var client = new MtGoxClient('mykey', 'mysecret');&lt;br /&gt;
client.query('1/BTCUSD/public/ticker', {}, function(json) {&lt;br /&gt;
        // do something&lt;br /&gt;
        console.log(json);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Source==&lt;br /&gt;
&lt;br /&gt;
[http://bitcoin.it/ http://bitcoin.it/]&lt;br /&gt;
[[Category:Programming language]]&lt;br /&gt;
[[Category:Technology]]&lt;br /&gt;
==See Also on BitcoinWiki==&lt;br /&gt;
* [[MEDOOZA]]&lt;br /&gt;
* [[Ethereum Wallet Syncing Problems]]&lt;br /&gt;
* [[International Mobile Equipment Identity]]&lt;br /&gt;
* [[Celery]]&lt;br /&gt;
* [[Wallet upgrade]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
</feed>