Skip to content

Instantly share code, notes, and snippets.

@rraallvv
Last active April 18, 2020 03:29
Show Gist options
  • Save rraallvv/edc5e0ec5bcba8799f1aec3531568f85 to your computer and use it in GitHub Desktop.
Save rraallvv/edc5e0ec5bcba8799f1aec3531568f85 to your computer and use it in GitHub Desktop.

Revisions

  1. rraallvv revised this gist Apr 18, 2020. 1 changed file with 13 additions and 0 deletions.
    13 changes: 13 additions & 0 deletions server.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,13 @@
    // get data for each confirmed transaction
    $.client.addHeadChangedListener(async (hash, reason) => {
    const block = await $.client.getBlock(hash);
    const transactions = block.body.transactions;
    for (const transaction of transactions) {
    const data = {
    txid: transaction.hash().toPlain(),
    value: transaction.value,
    sender: transaction.recipient.toUserFriendlyAddress()
    };
    console.log("!!!", data);
    }
    });
  2. rraallvv revised this gist Apr 17, 2020. 1 changed file with 3 additions and 3 deletions.
    6 changes: 3 additions & 3 deletions index.js
    Original file line number Diff line number Diff line change
    @@ -1,12 +1,12 @@
    const
    port = 8000,
    io = require("socket.io"),
    io = require("socket.io"),
    server = io.listen(port),
    dummy = {
    txid: "e3564341b77fe099b1d123bece39057e1cc4cf446376612dc6eaab6957b3f180",
    valueOut: 123.0,
    vout: [
    {XhayrpwPfELBNjErrBmHe6qpsaiwFSWzyX: 12682308}
    {XhayrpwPfELBNjErrBmHe6qpsaiwFSWzyX: 12682308}
    ],
    isRBF: false,
    txlock: false
    @@ -16,7 +16,7 @@ const
    server.on("connection", (socket) => {
    console.info(`Client connected [id=${socket.id}]`);

    socket.on("disconnect", () => {
    socket.on("disconnect", () => {
    console.info(`Client gone [id=${socket.id}]`);
    });

  3. rraallvv created this gist Apr 17, 2020.
    26 changes: 26 additions & 0 deletions index.html
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,26 @@
    <html>
    <body>
    <script src="socket.io.js"></script>
    <script>
    eventToListenTo = 'tx'
    room = 'inv'
    packages = 0;

    var socket = io("http://localhost:8000/");
    socket.on('connect', function() {
    console.log('connected!!!');
    // Join the room.
    socket.emit('subscribe', room);
    })
    socket.on(eventToListenTo, function(data) {
    console.log(data);
    if (packages > 10) {
    console.log('unsubscribed!!!');
    socket.emit('unsubscribe', room);
    } else {
    packages++;
    }
    })
    </script>
    </body>
    </html>
    46 changes: 46 additions & 0 deletions index.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,46 @@
    const
    port = 8000,
    io = require("socket.io"),
    server = io.listen(port),
    dummy = {
    txid: "e3564341b77fe099b1d123bece39057e1cc4cf446376612dc6eaab6957b3f180",
    valueOut: 123.0,
    vout: [
    {XhayrpwPfELBNjErrBmHe6qpsaiwFSWzyX: 12682308}
    ],
    isRBF: false,
    txlock: false
    };

    // event fired every time a new client connects:
    server.on("connection", (socket) => {
    console.info(`Client connected [id=${socket.id}]`);

    socket.on("disconnect", () => {
    console.info(`Client gone [id=${socket.id}]`);
    });

    socket.on("subscribe", (data) => {
    if (data === "inv") {
    socket.join("inv", () => {
    console.info("Subscribed");
    });
    }
    });

    socket.on("unsubscribe", (data) => {
    if (data === "inv") {
    socket.leave("inv", () => {
    console.info("Unsubscribed");
    });
    }
    });
    });

    // sends each client its current sequence number
    setInterval(() => {
    console.log('.');
    server.to('inv').emit('tx', dummy);
    }, 5000);

    console.log(`App started on port ${port}`);