-
About open source bitcoin wallet
+
About open source avian wallet
Version 1.7
-
Compatible with bitcoin core
+
Compatible with avian core
Github https://github.com/OutCast3k/coinbin/
TOR coinbin 3ravkwb24f7rmxx6w3snkjw45jhs5lxbh3yfeg3vpt6janwqd.onion | 4zpinp6gdkjfplhk.onion
-
What is Bitcoin?
-
Bitcoin is a type of digital currency in which encryption techniques are used to regulate the generation of units of currency and verify the transfer of funds, operating independently of a central bank. See weusecoins.com for more information.
+
What is Avian?
+
Avian is a type of digital currency in which encryption techniques are used to regulate the generation of units of currency and verify the transfer of funds, operating independently of a central bank. See weusecoins.com for more information.
Information
-
Coinb.in is a free and open source project released under the MIT license, originally by OutCast3k in 2013. Discussion of the project can be found at bitcointalk.org during its early testing stages when its primary focus was to develop a proof of concept multisig solution in javascript.
+
Coinb.in is a free and open source project released under the MIT license, originally by OutCast3k in 2013. Discussion of the project can be found at aviantalk.org during its early testing stages when its primary focus was to develop a proof of concept multisig solution in javascript.
Coinb.in is run and funded by the generosity of others in terms of development and hosting.
Coinb.in is kindly hosted by BitVPS.com .
Privacy
-
Coinb.in believes strongly in privacy, not only do we support the use of TOR, the site does not collect and store IP or transaction data via our servers nor do we store your bitcoins private key. We do route traffic via cloudflare using an SSL certificate.
+
Coinb.in believes strongly in privacy, not only do we support the use of TOR, the site does not collect and store IP or transaction data via our servers nor do we store your avians private key. We do route traffic via cloudflare using an SSL certificate.
Support
We recommend that you first check our service status page and then blog page which has multiple guides . However if the problem persists you can contact us by emailing support{at}coinb.in.
Donate
-
Please donate to 33tht1bKDgZVxb39MnZsWa8oxHXHvUYE4G if you found this project useful or want to see more features!
+
Please donate to 33tht1bKDgZVxb39MnZsWa8oxHXHvUYE4G if you found this project useful or want to see more features!
@@ -1382,11 +1382,11 @@
Network :
Select which network you'd like to use for key pair generation.
- Bitcoin (mainnet)
+ Avian (mainnet)
Litecoin (mainnet)
Dogecoin (mainnet)
ShadowCash (mainnet)
- Bitcoin (testnet)
+ Avian (testnet)
Custom
@@ -1439,14 +1439,14 @@
Broadcast :
Select the network you wish to broadcast the transaction via
- coinb.in (Bitcoin mainnet)
- Blockcypher.com (Bitcoin mainnet)
+ coinb.in (Avian mainnet)
+ Blockcypher.com (Avian mainnet)
Blockcypher.com (Litecoin)
Blockcypher.com (Dogecoin)
- Blockchair.com (Bitcoin mainnet)
+ Blockchair.com (Avian mainnet)
Blockchair.com (Litecoin)
Blockchair.com (Dogecoin)
- Chain.so (Bitcoin mainnet)
+ Chain.so (Avian mainnet)
Chain.so (Litecoin)
Chain.so (Dogecoin)
@@ -1460,14 +1460,14 @@
Unspent outputs :
Select the network you wish to retreive your unspent outputs from
- coinb.in (Bitcoin mainnet)
- Blockcypher.com (Bitcoin mainnet)
+ coinb.in (Avian mainnet)
+ Blockcypher.com (Avian mainnet)
Blockcypher.com (Litecoin)
Blockcypher.com (Dogecoin)
- Blockchair.com (Bitcoin mainnet)
+ Blockchair.com (Avian mainnet)
Blockchair.com (Litecoin)
Blockchair.com (Dogecoin)
- Chain.so (Bitcoin mainnet)
+ Chain.so (Avian mainnet)
Chain.so (Litecoin)
Chain.so (Dogecoin)
diff --git a/js/coin.js b/js/coin.js
index 84a1149..f372a8d 100644
--- a/js/coin.js
+++ b/js/coin.js
@@ -1,6 +1,6 @@
/*
Coinjs 0.01 beta by OutCast3k{at}gmail.com
- A bitcoin framework.
+ A bitcoin/avian framework.
http://github.com/OutCast3k/coinjs or http://coinb.in/coinjs
*/
@@ -19,7 +19,7 @@
coinjs.compressed = false;
/* other vars */
- coinjs.developer = '33tht1bKDgZVxb39MnZsWa8oxHXHvUYE4G'; //bitcoin
+ coinjs.developer = '33tht1bKDgZVxb39MnZsWa8oxHXHvUYE4G'; // Bitcoin
/* bit(coinb.in) api vars */
coinjs.hostname = ((document.location.hostname.split(".")[(document.location.hostname.split(".")).length-1]) == 'onion') ? 'coinbin3ravkwb24f7rmxx6w3snkjw45jhs5lxbh3yfeg3vpt6janwqd.onion' : 'coinb.in';
@@ -745,7 +745,7 @@
r.master = function(pass) {
var seed = (pass) ? Crypto.SHA256(pass) : coinjs.newPrivkey();
var hasher = new jsSHA(seed, 'HEX');
- var I = hasher.getHMAC("Bitcoin seed", "TEXT", "SHA-512", "HEX");
+ var I = hasher.getHMAC("Avian seed", "TEXT", "SHA-512", "HEX");
var privkey = Crypto.util.hexToBytes(I.slice(0, 64));
var chain = Crypto.util.hexToBytes(I.slice(64, 128));
@@ -1069,7 +1069,7 @@
/* list transaction data */
r.getTransaction = function(txid, callback) {
- coinjs.ajax(coinjs.host+'?uid='+coinjs.uid+'&key='+coinjs.key+'&setmodule=bitcoin&request=gettransaction&txid='+txid+'&r='+Math.random(), callback, "GET");
+ coinjs.ajax(coinjs.host+'?uid='+coinjs.uid+'&key='+coinjs.key+'&setmodule=avian&request=gettransaction&txid='+txid+'&r='+Math.random(), callback, "GET");
}
/* add unspent to transaction */
@@ -1140,7 +1140,7 @@
/* broadcast a transaction */
r.broadcast = function(callback, txhex){
var tx = txhex || this.serialize();
- coinjs.ajax(coinjs.host+'?uid='+coinjs.uid+'&key='+coinjs.key+'&setmodule=bitcoin&request=sendrawtransaction', callback, "POST", ["rawtx="+tx]);
+ coinjs.ajax(coinjs.host+'?uid='+coinjs.uid+'&key='+coinjs.key+'&setmodule=avian&request=sendrawtransaction', callback, "POST", ["rawtx="+tx]);
}
/* generate the transaction hash to sign from a transaction input */
diff --git a/js/coinbin.js b/js/coinbin.js
index 393b63f..b02e939 100644
--- a/js/coinbin.js
+++ b/js/coinbin.js
@@ -55,7 +55,7 @@ $(document).ready(function() {
$("#walletQrCode").html("");
var qrcode = new QRCode("walletQrCode");
- qrcode.makeCode("bitcoin:"+address);
+ qrcode.makeCode("avian:"+address);
$("#walletKeys .privkey").val(wif);
$("#walletKeys .pubkey").val(pubkey);
@@ -91,7 +91,7 @@ $(document).ready(function() {
$("#walletQrCode").html("");
var qrcode = new QRCode("walletQrCode");
- qrcode.makeCode("bitcoin:");
+ qrcode.makeCode("avian:");
$("#walletKeys .privkey").val("");
$("#walletKeys .pubkey").val("");
@@ -326,7 +326,7 @@ $(document).ready(function() {
}
var s = ($("#newBrainwallet").is(":checked")) ? $("#brainwallet").val() : null;
var coin = coinjs.newKeys(s);
- $("#newBitcoinAddress").val(coin.address);
+ $("#newAvianAddress").val(coin.address);
$("#newPubKey").val(coin.pubkey);
$("#newPrivKey").val(coin.wif);
@@ -343,15 +343,15 @@ $(document).ready(function() {
});
$("#newPaperwalletBtn").click(function(){
- if($("#newBitcoinAddress").val()==""){
+ if($("#newAvianAddress").val()==""){
$("#newKeysBtn").click();
}
var paperwallet = window.open();
- paperwallet.document.write('
BTC PaperWallet
Address (Share)
'+$("#newBitcoinAddress").val()+'
Public Key
'+$("#newPubKey").val()+'
Private Key (KEEP SECRET!)
'+$("#newPrivKey").val()+'
');
+ paperwallet.document.write('
BTC PaperWallet
Address (Share)
'+$("#newAvianAddress").val()+'
Public Key
'+$("#newPubKey").val()+'
Private Key (KEEP SECRET!)
'+$("#newPrivKey").val()+'
');
paperwallet.document.close();
paperwallet.focus();
- new QRCode(paperwallet.document.getElementById("qraddress"), {text: $("#newBitcoinAddress").val(), width: 125, height: 125});
+ new QRCode(paperwallet.document.getElementById("qraddress"), {text: $("#newAvianAddress").val(), width: 125, height: 125});
new QRCode(paperwallet.document.getElementById("qrpubkey"), {text: $("#newPubKey").val(), width: 125, height: 125});
new QRCode(paperwallet.document.getElementById("qrprivkey"), {text: $("#newPrivKey").val(), width: 125, height: 125});
paperwallet.print();
@@ -870,7 +870,7 @@ $(document).ready(function() {
QCodeDecoder().decodeFromVideo(document.getElementById('videoReader'), function(er,data){
if(!er){
- var match = data.match(/^bitcoin\:([1|3|bc1][a-z0-9]{25,50})/i);
+ var match = data.match(/^avian\:([1|3|bc1][a-z0-9]{25,50})/i);
var result = match ? match[1] : data;
$(""+$("#qrcode-scanner-callback-to").html()).val(result);
$("#qrScanClose").click();
@@ -909,26 +909,26 @@ $(document).ready(function() {
var host = $(this).attr('rel');
// api: blockcypher blockchair chain.so
- // network name "btc" "bitcoin" "BTC"
+ // network name "btc" "avian" "BTC"
// network name "ltc" "litecoin" "LTC"
// network name "doge" "dogecoin" "DOGE"
- if(host=='chain.so_bitcoinmainnet'){
+ if(host=='chain.so_avianmainnet'){
listUnspentChainso(redeem, "BTC");
} else if(host=='chain.so_litecoin'){
listUnspentChainso(redeem, "LTC");
} else if(host=='chain.so_dogecoin'){
listUnspentChainso(redeem, "DOGE");
- } else if(host=='blockcypher_bitcoinmainnet'){
+ } else if(host=='blockcypher_avianmainnet'){
listUnspentBlockcypher(redeem, "btc");
} else if(host=='blockcypher_litecoin'){
listUnspentBlockcypher(redeem, "ltc");
} else if(host=='blockcypher_dogecoin'){
listUnspentBlockcypher(redeem, "doge");
- } else if(host=='blockchair_bitcoinmainnet'){
- listUnspentBlockchair(redeem, "bitcoin");
+ } else if(host=='blockchair_avianmainnet'){
+ listUnspentBlockchair(redeem, "avian");
} else if(host=='blockchair_litecoin'){
listUnspentBlockchair(redeem, "litecoin");
} else if(host=='blockchair_dogecoin'){
@@ -1297,7 +1297,7 @@ $(document).ready(function() {
$(thisbtn).val('Please wait, loading...').attr('disabled',true);
$.ajax ({
type: "POST",
- url: coinjs.host+'?uid='+coinjs.uid+'&key='+coinjs.key+'&setmodule=bitcoin&request=sendrawtransaction',
+ url: coinjs.host+'?uid='+coinjs.uid+'&key='+coinjs.key+'&setmodule=avian&request=sendrawtransaction',
data: {'rawtx':$("#rawTransaction").val()},
dataType: "xml",
error: function(data) {
@@ -1781,7 +1781,7 @@ $(document).ready(function() {
}
} else {
var qrcode = new QRCode("qrcode");
- qrstr = "bitcoin:"+$('.address',thisbtn).val();
+ qrstr = "avian:"+$('.address',thisbtn).val();
}
if(qrstr){
@@ -1918,12 +1918,12 @@ $(document).ready(function() {
var host = $("#coinjs_broadcast option:selected").val();
// api: blockcypher blockchair chain.so
- // network name "btc" "bitcoin" "BTC"
+ // network name "btc" "avian" "BTC"
// network name "ltc" "litecoin" "LTC"
// network name "doge" "dogecoin" "DOGE"
$("#rawSubmitBtn").unbind("");
- if(host=="chain.so_bitcoinmainnet"){
+ if(host=="chain.so_avianmainnet"){
$("#rawSubmitBtn").click(function(){
rawSubmitChainso(this, "BTC");
});
@@ -1935,7 +1935,7 @@ $(document).ready(function() {
$("#rawSubmitBtn").click(function(){
rawSubmitChainso(this, "DOGE");
});
- } else if(host=="blockcypher_bitcoinmainnet"){
+ } else if(host=="blockcypher_avianmainnet"){
$("#rawSubmitBtn").click(function(){
rawSubmitblockcypher(this, "btc");
});
@@ -1947,9 +1947,9 @@ $(document).ready(function() {
$("#rawSubmitBtn").click(function(){
rawSubmitblockcypher(this, "doge");
});
- } else if(host=="blockchair_bitcoinmainnet"){
+ } else if(host=="blockchair_avianmainnet"){
$("#rawSubmitBtn").click(function(){
- rawSubmitblockchair(this, "bitcoin");
+ rawSubmitblockchair(this, "avian");
});
} else if(host=="blockchair_litecoin"){
$("#rawSubmitBtn").click(function(){
diff --git a/js/ellipticcurve.js b/js/ellipticcurve.js
index c901de6..e3227e1 100644
--- a/js/ellipticcurve.js
+++ b/js/ellipticcurve.js
@@ -642,9 +642,9 @@
ec.X9Parameters.prototype.getN = function () { return this.n; };
ec.X9Parameters.prototype.getH = function () { return this.h; };
- // secp256k1 is the Curve used by Bitcoin
+ // secp256k1 is the Curve used by Avian
ec.secNamedCurves = {
- // used by Bitcoin
+ // used by Avian
"secp256k1": function () {
// p = 2^256 - 2^32 - 2^9 - 2^8 - 2^7 - 2^6 - 2^4 - 1
var p = ec.fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F");
@@ -660,7 +660,7 @@
}
};
- // secp256k1 called by Bitcoin's ECKEY
+ // secp256k1 called by Avian's ECKEY
ec.getSECCurveByName = function (name) {
if (ec.secNamedCurves[name] == undefined) return null;
return ec.secNamedCurves[name]();
diff --git a/test.html b/test.html
index 1b8db9e..7b6c1e6 100644
--- a/test.html
+++ b/test.html
@@ -213,8 +213,8 @@
}
{
- // this test comes from https://bitcoindev.network/guides/bitcoinjs-lib/bitcoin-script-puzzles/
- var testName = "P2SH redeem script to address (bitcoin testnet)";
+ // this test comes from https://aviandev.network/guides/avianjs-lib/avian-script-puzzles/
+ var testName = "P2SH redeem script to address (avian testnet)";
var testInput = "935587";
var testExpected = "2N7WfHK1ftrTdhWej8rnFNR7guhvhfGWwFR";
var saved = pushNetworkVars("btc-testnet");
@@ -229,8 +229,8 @@
}
{
- // this test comes from https://bitcoindev.network/guides/bitcoinjs-lib/bitcoin-script-puzzles/
- var testName = "P2WSH redeem script to address (bitcoin testnet)";
+ // this test comes from https://aviandev.network/guides/avianjs-lib/avian-script-puzzles/
+ var testName = "P2WSH redeem script to address (avian testnet)";
var testInput = "935587";
var testExpected = "bcrt1qpt7c23c0wep9e8up4ywn070w3tqz3828ngy34aj8slsfxrh08ddq2d2pyu";
var hash = Crypto.SHA256(Crypto.util.hexToBytes(testInput), {asBytes: true});
@@ -239,8 +239,8 @@
}
{
- // data from https://bitcoin.stackexchange.com/questions/3374/how-to-redeem-a-basic-tx (runeks)
- var testName = "basic transaction building bitcoin";
+ // data from https://avian.stackexchange.com/questions/3374/how-to-redeem-a-basic-tx (runeks)
+ var testName = "basic transaction building avian";
var testExpectedUnsigned = "0100000001eccf7e3034189b851985d871f91384b8ee357cd47c3024736e5676eb2debb3f2010000001976a914010966776006953d5567439e5e39f86a0d273bee88acffffffff01605af405000000001976a914097072524438d003d23a2f23edb65aae1bb3e46988ac00000000";
var testExpectedSigned = "0100000001eccf7e3034189b851985d871f91384b8ee357cd47c3024736e5676eb2debb3f2010000008a4730440220299fffaf20745458111e7826e5c2cca3b78dd27c97e0a513aab807f0d724103402203247498cfb019bbbd3d629814c8703e974f177478f6fde53503a9b1088852fad01410450863ad64a87ae8a2fe83c1af1a8403cb53f53e486d8511dad8a04887e5b23522cd470243453a299fa9e77237716103abc11a1df38855ed6f2ee187e9c582ba6ffffffff01605af405000000001976a914097072524438d003d23a2f23edb65aae1bb3e46988ac00000000";
var privKeyHex = "18E14A7B6A307F426A94F8114701E7C8E774E7F9A47E2C2035DB29A206321725";
@@ -264,9 +264,9 @@
}
{
- // bitcoin testnet transaction https://tbtc.bitaps.com/04bbae5806d2b8fb17ed9339f42c6f6d731191a974b975d2e1df8e7601e90f6f
+ // avian testnet transaction https://tbtc.bitaps.com/04bbae5806d2b8fb17ed9339f42c6f6d731191a974b975d2e1df8e7601e90f6f
var saved = pushNetworkVars("btc-testnet");
- var testName = "basic transaction building bitcoin-testnet";
+ var testName = "basic transaction building avian-testnet";
var testExpectedUnsigned = "0100000001c72eabf9f208cacc908538e2609bbe665ffda680e2a6c39475941389dd5b14de000000001976a914b9e16a03bbf40ebb78cbc35e22d72a695f27624088acffffffff01703a0f00000000001976a914a447681601eef322926c0b3de5dfbb4157bbe40988ac00000000";
var testExpectedSigned = "0100000001c72eabf9f208cacc908538e2609bbe665ffda680e2a6c39475941389dd5b14de000000008b483045022100d909d4d3d2b540891c102d06fc8eaf1e9b914b93ea28626990666554a75b369102205a73b38071eab5b0acb8381c1454e7d998c80cd6d229645231b6bc1fb024d1d70141046fad107ba21fae3f047096152d0298291168bc0cb6b834f7cc77510dcb41839206b936649623988f7ca58c6104a22105c5b398912ded514685ebd0d8ac4011c2ffffffff01703a0f00000000001976a914a447681601eef322926c0b3de5dfbb4157bbe40988ac00000000";
var wif = "92Wn1EBgiwDNT8SC7WMZfcSk2y3mQkLUPAQtwMNYZQGAzCFUTdu";
@@ -291,7 +291,7 @@
}
- // create a lot of timelock scripts, compare them to known ones created using bitcoinjs-lib
+ // create a lot of timelock scripts, compare them to known ones created using avianjs-lib
// focus on edge cases like described in https://github.com/OutCast3k/coinbin/issues/201
// ranges 80-ff, 8000-ffff, 800000-ffffff, 80000000-ffffffff.
{