From c6bfb5a701fd03255e933c09df0f47c2ec2618e6 Mon Sep 17 00:00:00 2001 From: olalonde Date: Mon, 7 Apr 2014 11:12:10 +0800 Subject: [PATCH 1/3] Fixed browser examples. Added SimpleP2Pmonitor example. --- examples/SimpleP2Pmonitor.js | 72 +++++++++++++++++++++++++++++ examples/{ => browser}/example.html | 6 +-- examples/{ => browser}/simple.html | 5 +- 3 files changed, 78 insertions(+), 5 deletions(-) create mode 100644 examples/SimpleP2Pmonitor.js rename examples/{ => browser}/example.html (94%) rename examples/{ => browser}/simple.html (52%) diff --git a/examples/SimpleP2Pmonitor.js b/examples/SimpleP2Pmonitor.js new file mode 100644 index 000000000..1791b9bef --- /dev/null +++ b/examples/SimpleP2Pmonitor.js @@ -0,0 +1,72 @@ +/** + * This is a simple script that will display network messages. + * It users the Peer / Connection classes * directly instead of + * relying on PeerManager. + */ + +// replace by require('bitcore') if you use somewhere else +var bitcore = require('../'); + +//bitcore.config.logger = 'debug'; + +var Peer = bitcore.Peer, + Connection = bitcore.Connection; + +var peer = new Peer('127.0.0.1', 8333); + +var socket = peer.createConnection(); + +var con = new Connection(socket, peer); + +con.on('error', function (msg) { + var peer = msg.peer, err = msg.err; + console.error('Error connecting to peer', peer.host + ':' + peer.port, '(' + err.message + ')'); +}); + +con.on('disconnect', function (msg) { + console.log('disconnect: ', msg); +}); + +con.on('connect', function (msg) { + console.log('Connected to %s', msg.peer.host + ':' + msg.peer.port); +}); + +/* Listen P2P messages */ + +// Make a log function available to all listeners +// The log function is just like console.log except it prefixes +// messages with [host:port] +function listen (event_name, fn) { + con.on(event_name, function (event) { + fn(event, function () { + var args = Array.prototype.slice.call(arguments); + var str = args.shift(); + str = '[%s:%s] ' + str; + args = [ str, event.peer.host, event.peer.port ].concat(args); + console.log.apply(console, args); + }); + }); +} + +listen('getaddr', function (event, log) { + log('Received message getaddr'); + log(event); +}); + +listen('verack', function (event, log) { + log('Received message verack'); +}); + +listen('version', function (event, log) { + log('Received message version (%s)', event.message.version); +}); + +listen('addr', function (event, log) { + log('Received message addr (%s addresses)', event.message.addrs.length); +}); + +listen('inv', function (event, log) { + log('Received message inv (%s invs)', event.message.count); + console.log(event.message.invs); +}); + diff --git a/examples/example.html b/examples/browser/example.html similarity index 94% rename from examples/example.html rename to examples/browser/example.html index 74a1f641f..b0914b342 100644 --- a/examples/example.html +++ b/examples/browser/example.html @@ -9,12 +9,12 @@
       
- + - + diff --git a/examples/simple.html b/examples/browser/simple.html similarity index 52% rename from examples/simple.html rename to examples/browser/simple.html index 740b3e678..18f35efaa 100644 --- a/examples/simple.html +++ b/examples/browser/simple.html @@ -1,12 +1,13 @@ - + +

     
   
 

From 4b4066a5e20f79a9671270a21086bdc41c3d7e1e Mon Sep 17 00:00:00 2001
From: olalonde 
Date: Mon, 7 Apr 2014 11:15:39 +0800
Subject: [PATCH 2/3] Added instructions for runnign the browser examples

---
 examples/browser/README.md | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 examples/browser/README.md

diff --git a/examples/browser/README.md b/examples/browser/README.md
new file mode 100644
index 000000000..6dcc8b6c2
--- /dev/null
+++ b/examples/browser/README.md
@@ -0,0 +1 @@
+Run `node browser/build.js -a` in the repository's root directory before using those examples.

From 8349e537d97d7bbd6aa15ad6220deadb61d8720a Mon Sep 17 00:00:00 2001
From: olalonde 
Date: Tue, 8 Apr 2014 14:32:51 +0800
Subject: [PATCH 3/3] Added PayToScriptHashAddress example

---
 examples/PayToScriptHashAddress.js | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 examples/PayToScriptHashAddress.js

diff --git a/examples/PayToScriptHashAddress.js b/examples/PayToScriptHashAddress.js
new file mode 100644
index 000000000..846d6d2dd
--- /dev/null
+++ b/examples/PayToScriptHashAddress.js
@@ -0,0 +1,17 @@
+var bitcore = require('../bitcore');
+var Address = bitcore.Address;
+var bitcoreUtil = bitcore.util;
+var Script = bitcore.Script;
+var network = bitcore.networks.livenet;
+
+
+var script = ''; // write down your script here
+var s = Script.fromHumanReadable(script);
+var hash = bitcoreUtil.sha256ripe160(s.getBuffer());
+var version = network.addressScript;
+
+var addr = new Address(version, hash);
+var addrStr = addr.as('base58');
+
+// This outputs the "address" of thescript
+console.log(addrStr);