Skip to content

Commit

Permalink
v0.1.0 - added .transfer() functionality
Browse files Browse the repository at this point in the history
  • Loading branch information
williamcotton committed Sep 9, 2015
1 parent a06c080 commit ee98d0e
Show file tree
Hide file tree
Showing 3 changed files with 218 additions and 126 deletions.
30 changes: 15 additions & 15 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,37 +1,37 @@
{
"name": "openpublish",
"version": "0.0.11",
"version": "0.1.0",
"description": "A publishing protocol for registering media as a digital asset on the Bitcoin blockchain.",
"main": "src/index.js",
"directories": {
"test": "npm test"
},
"dependencies": {
"async": "^1.2.1",
"bitcoinjs-lib": "^1.5.7",
"bitstore": "0.0.4",
"blockcast": "^1.0.5",
"create-torrent": "^3.10.3",
"async": "^1.4.2",
"bitcoinjs-lib": "^1.5.8",
"blockcast": "^1.2.1",
"create-torrent": "^3.15.1",
"filereader": "^0.10.3",
"magnet-uri": "^5.0.0",
"parse-torrent": "^5.0.0",
"xhr": "^2.0.1"
"xhr": "^2.0.4"
},
"devDependencies": {
"blockcypher-unofficial": "^1.4.1",
"browserify": "^10.1.3",
"chain-node": "^3.0.0",
"drag-drop": "^2.1.0",
"bitcoin-tx-hex-to-json": "0.0.3",
"blockcypher-unofficial": "^1.5.0",
"browserify": "^11.0.1",
"drag-drop": "^2.3.0",
"file-api": "^0.10.4",
"jasmine-node": "^1.14.5",
"mem-common-blockchain": "0.0.1",
"mem-common-blockchain": "0.0.2",
"node-env-file": "^0.1.7",
"reactify": "^1.1.1",
"request": "^2.55.0",
"watchify": "^3.2.1"
"request": "^2.61.0",
"test-common-wallet": "^1.2.1",
"watchify": "^3.4.0"
},
"scripts": {
"test": "./node_modules/.bin/jasmine-node test/ --forceexit --verbose --captureExceptions",
"test-dev": "source .env && ./node_modules/.bin/jasmine-node test/ --forceexit --verbose --captureExceptions",
"build-dev": "watchify test/browser-index.js -o test/article-build.js -t reactify -d -v",
"watch": "nodemon --exec make --ignore test/article-build.js"
},
Expand Down
68 changes: 61 additions & 7 deletions src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,47 @@ var register = function(options, callback) {
});
}

var transfer = function(options, callback) {
var assetValue = options.assetValue;
var bitcoinValue = options.bitcoinValue;
var sha1 = options.sha1;
var ttl = options.ttl;
var data = {
op: "t",
sha1: sha1,
value: assetValue,
ttl: ttl,
};
var dataJSON = JSON.stringify(data);
var assetWallet = options.assetWallet;
var bitcoinWallet = options.bitcoinWallet;
var bitcoinWalletSignPrimaryTxHex = options.bitcoinWalletSignPrimaryTxHex || function(txHex, callback) {
bitcoinWallet.signRawTransaction({txHex: txHex, input: 0}, callback);
};
bitcoinWallet.createTransaction({
destinationAddress: assetWallet.address,
value: bitcoinValue,
skipSign: true
}, function(err, primaryTxHex) {
blockcast.post({
primaryTxHex: primaryTxHex,
signPrimaryTxHex: bitcoinWalletSignPrimaryTxHex,
data: dataJSON,
fee: options.fee,
commonWallet: assetWallet,
commonBlockchain: options.commonBlockchain,
propagationStatus: options.propagationStatus,
buildStatus: options.buildStatus
}, function(error, blockcastTx) {
var receipt = {
data: data,
blockcastTx: blockcastTx
};
callback(false, receipt);
});
});
};

var getPayloadsLength = function(options, callback) {
getData(options, function(err, data) {
var dataJSON = JSON.stringify(data);
Expand Down Expand Up @@ -61,14 +102,26 @@ var getData = function(options, callback) {
var data = {
op: "r",
btih: btih,
sha1: sha1,
name: file.name,
size: file.size,
type: file.type,
title: title,
uri: uri,
keywords: keywords
sha1: sha1
};
if (file.name) {
data.name = file.name;
}
if (file.size) {
data.size = file.size;
}
if (file.type) {
data.type = file.type;
}
if (title) {
data.title = title;
}
if (uri) {
data.uri = uri;
}
if (keywords) {
data.keywords = keywords;
}
callback(err, data);
});
});
Expand Down Expand Up @@ -147,6 +200,7 @@ var tip = function(options, callback) {

var OpenPublish = {
register: register,
transfer: transfer,
tip: tip,
scanSingle: scanSingle,
getData: getData,
Expand Down
Loading

0 comments on commit ee98d0e

Please sign in to comment.