Bitcoin Forum
April 16, 2024, 04:32:36 AM *
News: Latest Bitcoin Core release: 26.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: 1 2 3 4 5 6 7 8 9 10 [All]
  Print  
Author Topic: sx command line utilities - Empower The Sysadmin With Bitcoin Tools  (Read 240148 times)
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
July 21, 2013, 03:54:21 PM
Last edit: May 29, 2014, 08:20:00 PM by genjix
 #1

Website (tutorial): https://sx.dyne.org/

List of commands:

Code:
$ sx help
Usage: sx COMMAND [ARGS]...

  -c, --config               Specify a config file

The sx commands are:

CREATE TRANSACTIONS
   mktx                       Create an unsigned tx.
   rawscript                  Create the raw hex representation from a script.
   set-input                  Set a transaction input.
   sign-input                 Sign a transaction input.

DETERMINISTIC KEYS AND ADDRESSES
   genaddr                    Generate a Bitcoin address deterministically from a wallet
                              seed or master public key.
   genpriv                    Generate a private key deterministically from a seed.
   genpub                     Generate a public key deterministically from a wallet
                              seed or master public key.
   mpk                        Extract a master public key from a deterministic wallet seed.
   newseed                    Create a new deterministic wallet seed.

TRANSACTION PARSING
   showscript                 Show the details of a raw script.
   showtx                     Show the details of a transaction.

BLOCKCHAIN QUERIES (blockexplorer.com)
   blke-fetch-transaction     Fetches a transaction from blockexplorer.com

FORMAT
   base58-decode              Convert from base58 to hex
   base58-encode              Convert from hex to base58
   base58check-decode         Convert from base58check to hex
   base58check-encode         Convert from hex to base58check
   decode-addr                Decode an address to its internal RIPEMD representation.
   embed-addr                 Generate an address used for embedding record of data into the blockchain.
   encode-addr                Encode an address to base58check form.
   ripemd-hash                RIPEMD hash data from STDIN.
   unwrap                     Validates checksum and recovers version byte and original data from hexstring.
   validaddr                  Validate an address.
   wrap                       Adds version byte and checksum to hexstring.

BRAINWALLET
   brainwallet                Make a private key from a brainwallet
   mnemonic                   Work with Electrum compatible mnemonics (12 words wallet seed).

BLOCKCHAIN WATCHING
   monitor                    Monitor an address.
   watchtx                    Watch transactions from the network searching for a certain hash.

BLOCKCHAIN QUERIES (blockchain.info)
   bci-fetch-last-height      Fetch the last block height using blockchain.info.
   bci-history                Get list of output points, values, and their spends
                              from blockchain.info

MISC
   btc                        Convert Satoshis into Bitcoins.
   initchain                  Initialize a new blockchain.
   qrcode                     Generate Bitcoin QR codes offline.
   satoshi                    Convert Bitcoins into Satoshis.
   sha256                     Perform SHA256 hash of data.
   showblkhead                Show the details of a block header.
   wallet                     Experimental command line wallet.

MULTISIG ADDRESSES
   scripthash                 Create BIP 16 script hash address from raw script hex.

LOOSE KEYS AND ADDRESSES
   addr                       See Bitcoin address of a public or private key.
   get-pubkey                 Get the pubkey of an address if available
   newkey                     Create a new private key.
   pubkey                     See the public part of a private key.
   secret-to-wif              Convert a secret exponent value to Wallet. Import. Format.
   wif-to-secret              Convert a Wallet. Import. Format to secret exponent value.

STEALTH
   stealth-addr               See a stealth address from given input.
   stealth-initiate           Initiate a new stealth payment.
   stealth-newkey             Generate new stealth keys and an address.
   stealth-show-addr          Show details for a stealth address.
   stealth-uncover            Uncover a stealth address.
   stealth-uncover-secret     Uncover a stealth secret.

EC MATH
   ec-add-modp                Calculate the result of INTEGER + INTEGER.
   ec-multiply                Multiply an integer and a point together.
   ec-tweak-add               Calculate the result of POINT + INTEGER * G.

VALIDATE
   validsig                   Validate a transaction input's signature.

BLOCKCHAIN QUERIES
   balance                    Show balance of a Bitcoin address in satoshis.
   fetch-block-header         Fetch raw block header.
   fetch-last-height          Fetch the last block height.
   fetch-stealth              Fetch a stealth information using a network connection to
                              make requests against the obelisk load balancer backend.
   fetch-transaction          Fetch a raw transaction using a network connection to
                              make requests against the obelisk load balancer backend.
   fetch-transaction-index    Fetch block height and index in block of transaction.
   get-utxo                   Get enough unspent transaction outputs from a given set of
                              addresses to pay a given number of satoshis
   history                    Get list of output points, values, and their spends for an
                              address. grep can filter for just unspent outputs which can
                              be fed into mktx.
   validtx                    Validate a transaction.

BLOCKCHAIN UPDATES
   sendtx-bci                 Send tx to blockchain.info/pushtx.
   sendtx-node                Send transaction to a single node.
   sendtx-obelisk             Send tx to obelisk server.
   sendtx-p2p                 Send tx to bitcoin network.

HD KEYS
   hd-priv                    Create an private HD key from another HD private key.
   hd-pub                     Create an HD public key from another HD private or public key.
   hd-seed                    Create a random new HD key.
   hd-to-address              Convert an HD public or private key to a Bitcoin address.
   hd-to-wif                  Convert an HD private key to a WIF private key.

See 'sx help COMMAND' for more information on a specific command.

SpesmiloXchange home page: <http://sx.dyne.org/>

Install globally:

Code:
$ wget https://sx.dyne.org/install-sx.sh
$ sudo bash install-sx.sh

Install locally (non-root):

Code:
$ wget https://sx.dyne.org/install-sx.sh
$ bash install-sx.sh usr/
1713241956
Hero Member
*
Offline Offline

Posts: 1713241956

View Profile Personal Message (Offline)

Ignore
1713241956
Reply with quote  #2

1713241956
Report to moderator
The forum was founded in 2009 by Satoshi and Sirius. It replaced a SourceForge forum.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1713241956
Hero Member
*
Offline Offline

Posts: 1713241956

View Profile Personal Message (Offline)

Ignore
1713241956
Reply with quote  #2

1713241956
Report to moderator
1713241956
Hero Member
*
Offline Offline

Posts: 1713241956

View Profile Personal Message (Offline)

Ignore
1713241956
Reply with quote  #2

1713241956
Report to moderator
1713241956
Hero Member
*
Offline Offline

Posts: 1713241956

View Profile Personal Message (Offline)

Ignore
1713241956
Reply with quote  #2

1713241956
Report to moderator
stevenh512
Full Member
***
Offline Offline

Activity: 137
Merit: 100



View Profile
July 22, 2013, 12:22:40 PM
 #2

Interesting, I can see how these tools could be extremely useful for sysadmins and power users.

You mentioned deterministic wallets, are these BIP-32 compatible?

This signature intentionally left blank.
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
July 22, 2013, 12:42:23 PM
 #3

Interesting, I can see how these tools could be extremely useful for sysadmins and power users.

You mentioned deterministic wallets, are these BIP-32 compatible?

No, they are Electrum compatible. BIP-32 wallets will happen once Electrum and other clients start using them, and I have an implementation to follow and understand how to design a nice API for libbitcoin.
stevenh512
Full Member
***
Offline Offline

Activity: 137
Merit: 100



View Profile
July 22, 2013, 01:55:24 PM
 #4

Electrum compatible is probably good enough for now. Smiley

The latest Electrum from GitHub does have an up-to-date BIP-32 implementation, but I don't think there's any way to actually use it in Electrum yet. There are also a couple other Python and Java implementations on GitHub but I don't know how up to date those are.

This signature intentionally left blank.
jgarzik
Legendary
*
qt
Offline Offline

Activity: 1596
Merit: 1091


View Profile
July 22, 2013, 02:53:35 PM
 #5

Very cool.   It is much like my recently introduced txtool utility.

I tend to prefer the git-like sub-command model, rather than putting all the utilities in PATH.


Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own.
Visit bloq.com / metronome.io
Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
July 22, 2013, 06:03:03 PM
 #6

Very cool.   It is much like my recently introduced txtool utility.

I tend to prefer the git-like sub-command model, rather than putting all the utilities in PATH.



Yeah the point is that the installer should put them in a non-default location with a prefix like sx.newkey and then a bash script provides the wrapper on top together with the help and everything.
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
July 23, 2013, 02:04:01 AM
 #7

Created a nice cheatsheet.

Red Emerald
Hero Member
*****
Offline Offline

Activity: 742
Merit: 500



View Profile WWW
July 23, 2013, 02:36:13 AM
 #8

 Maybe I missed it. Why the name "sx"?

Very cool.

genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
July 23, 2013, 09:47:21 AM
 #9

The original: https://bitcointalk.org/index.php?topic=50721.0
K1773R
Legendary
*
Offline Offline

Activity: 1792
Merit: 1008


/dev/null


View Profile
July 23, 2013, 10:46:08 AM
 #10

thanks genjix, this will save alot time in the future Smiley

[GPG Public Key]
BTC/DVC/TRC/FRC: 1K1773RbXRZVRQSSXe9N6N2MUFERvrdu6y ANC/XPM AK1773RTmRKtvbKBCrUu95UQg5iegrqyeA NMC: NK1773Rzv8b4ugmCgX789PbjewA9fL9Dy1 LTC: LKi773RBuPepQH8E6Zb1ponoCvgbU7hHmd EMC: EK1773RxUes1HX1YAGMZ1xVYBBRUCqfDoF BQC: bK1773R1APJz4yTgRkmdKQhjhiMyQpJgfN
hahahafr
Hero Member
*****
Offline Offline

Activity: 938
Merit: 501



View Profile
July 24, 2013, 12:17:31 AM
 #11

Question: Does sx support multi-sig transactions?




                                           ◢◣                      ◢◣
                                     ◢████◣           ◢████◣
                               ◢████████◣◢████████◣
                               █████████████████
                               █████████████████
                               █████████████████
                               █████████████◤██████
                               ███████████◤████████
                               █████████◤██████████
                               ███████◤████████████
                               █████◤██████████████
                               █████◣                       ◢█████
                               ███████◣            ◢███████
                               █████████◣◢█████████
                               ◥████████◤◥████████◤
                                    ◥████◤            ◥████◤
                                          ◥◤                      



HYDAX
       Secure  
   Efficient
   Simple  
   Medium 
    Twitter  
    Telegram 
[/center
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
July 24, 2013, 01:39:30 AM
Last edit: July 26, 2013, 10:02:21 PM by genjix
 #12

Not yet. Will do.

New easy install/update script:

START HERE:

Code:
 $ wget http://sx.dyne.org/install-sx.sh
  $ sudo bash ./install-sx.sh

sx should now be installed.

Enjoy!

Special thanks to Andrew Day and Vitalik Buterin. Big thanks to Santiago Mendez who put in the time to help me improve the tools offering valuable feedback.
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
August 02, 2013, 09:41:27 PM
Last edit: August 03, 2013, 08:47:36 AM by genjix
 #13

Question: Does sx support multi-sig transactions?

multisignature now works:

Code:
===============================
Multisignature N-M Transactions
===============================

This example will create a 2-3 multisignature transaction but these
instructions can be easily generalised for other types.

Firstly we will create 3 keypairs.

  $ sx newkey > key1
  $ cat key1 | sx addr
  15xG6FE45vjuEdQQamvvgRPzrdzvZAxAyJ
  $ sx newkey > key2
  $ cat key2 | sx addr
  12GhrHLu4K5LL8hNkyMZZXz3u7QJc5Qjsc
  $ sx newkey > key3
  $ cat key3 | sx addr
  1KWv6rPrXzggQNkQrz8Leq1DhDm1b3y23r

For multisignature stuff we will need to use the public keys of the keypairs.
We use bash substitution below for convenience.

  $ sx rawscript 2 [ $(cat key1 | sx pubkey) ] [ $(cat key2 | sx pubkey) ] [
$(cat key3 | sx pubkey) ] 3 checkmultisig > msig.script

The file 'msig.script' now stores the hex representation of that script.
We can display it at anytime using:

  $ cat msig.script | sx showscript
  2 [ 04cb9c3c222c5f7a7d3b9bd152f363a0b6d54c9eb312c4d4f9af1e8551b6c421a6a4ab0e29105f24de20ff463c1c91fcf3bf662cdde4783d4799f787cb7c08869b ] [ 04ccc588420deeebea22a7e900cc8b68620d2212c374604e3487ca08f1ff3ae12bdc639514d0ec8612a2d3c519f084d9a00cbbe3b53d071e9b09e71e610b036aa2 ] [ 04ab47ad1939edcb3db65f7fedea62bbf781c5410d3f22a7a3a56ffefb2238af8627363bdf2ed97c1f89784a1aecdb43384f11d2acc64443c7fc299cef0400421a ] 3 checkmultisig

Now we generate the multisignature Bitcoin address (which always begins
with the number 3):

  $ cat msig.script | sx scripthash
  34CRZpt8j81rgh9QhzuBepqPi4cBQSjhjr

Send some bitcoin to that address!

This is my transaction:

https://blockchain.info/tx/e2124d25a7f6fe0d5dd5dd78ba7d98f60f8c47be9c91699e649e04118d531f52

---------------------------------
Spending the multisignature coins
---------------------------------

We create the basic transaction.

  $ sx mktx txfile.tx -i e2124d25a7f6fe0d5dd5dd78ba7d98f60f8c47be9c91699e649e04118d531f52:0 -o 1Fufjpf9RM2aQsGedhSpbSCGRHrmLMJ7yY:9900000
  Added input e2124d25a7f6fe0d5dd5dd78ba7d98f60f8c47be9c91699e649e04118d531f52:0
  Added output sending 9900000 Satoshis to 1Fufjpf9RM2aQsGedhSpbSCGRHrmLMJ7yY.

The transaction has a fee of 0.001 BTC and is saved in the file named
'txfile.tx'.

It has a single input which we will generate the signatures for, create the
script and then set the input.

Use the sx command 'showtx' to show a transaction.

In our example we will emit the first signature and only use key2 and key3.

We use the opcode 'zero' to represent the emitted signature of key1.

Sign an input using:

  $ cat key2 | sx sign-input txfile.tx 0  $(cat msig.script)
  3046022100a147c529f7dfa291ceb2c2f21094ca101a1cfe7036cda18935d6899111cad76b022100c0d6392bdd9b31e0e3fe13dce3d928cf6857b411b6e05f35f12403b877c26bad01
  $ cat key3 | sx sign-input txfile.tx 0  $(cat msig.script)
  3046022100957f0bfdd476f2d8985268d7964168f6b7e43f54089f8fbff35a4f62e7a221f9022100be8f565e30781d353d71f54202009fe14b8203151d235ba6bf3db2b531680bca01

Our example will use bash substitution again.

  $ sx rawscript zero [ $(cat key2 | sx sign-input txfile.tx 0 $(cat msig.script)) ] [ $(cat key3 | sx sign-input txfile.tx 0 $(cat msig.script)) ] [ $(cat msig.script) ] | sx set-input txfile.tx 0

The transaction is finalised! Broadcast it:

  $ sx broadcast-tx txfile.tx

https://blockchain.info/tx/d646f82bd5fbdb94a36872ce460f97662b80c3050ad3209bef9d1e398ea277ab

offline multisignature tx = micropayment channels (exchange raw tx, sign your input, exchange signatures)

or you can do offline tx + MPK with multisig for doubly secure offline wallet.
AsymmetricInformation
Member
**
Offline Offline

Activity: 115
Merit: 10


View Profile WWW
August 04, 2013, 05:32:14 PM
 #14

I'm sorry but I always get:

In file included from ./../include/bitcoin/utility/big_number.hpp:6:0,
                 from ./../include/bitcoin/constants.hpp:6,
                 from ./../include/bitcoin/satoshi_serialize.hpp:4,
                 from satoshi_serialize.cpp:1:
./../include/bitcoin/types.hpp:24:9: error: 'atomic' in namespace 'std' does not name a type
./../include/bitcoin/types.hpp:25:25: error: 'atomic_counter' was not declared in this scope
./../include/bitcoin/types.hpp:25:39: error: template argument 1 is invalid
./../include/bitcoin/types.hpp:25:59: error: invalid type in declaration before ';' token
make[1]: *** [satoshi_serialize.lo] Error 1
make[1]: Leaving directory `/usr/local/src/libbitcoin-git/src'
make: *** [all-recursive] Error 1

on the "libtool: compile" line.

I tried to re-run the install.sh lines one by one, and libbitcoin-git seems to make it into /usr/local/src/ but then later on terminal seems to say that libbitcoin is not available. It suggested setting a directory but I could not figure it out."

This is just like Gavin's multisig example, which I couldn't figure out either! DARN.

Help would be appreciated.

Support Decentralized Bitcoin Prediction Markets: 1M5tVTtynuqiS7Goq8hbh5UBcxLaa5XQb8
https://github.com/psztorc/Truthcoin
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
August 05, 2013, 03:09:00 PM
 #15

Run 'g++ --version'

Your compiler should be 4.7 or higher. I think you might have an older version.


I'm sorry but I always get:

In file included from ./../include/bitcoin/utility/big_number.hpp:6:0,
                 from ./../include/bitcoin/constants.hpp:6,
                 from ./../include/bitcoin/satoshi_serialize.hpp:4,
                 from satoshi_serialize.cpp:1:
./../include/bitcoin/types.hpp:24:9: error: 'atomic' in namespace 'std' does not name a type
./../include/bitcoin/types.hpp:25:25: error: 'atomic_counter' was not declared in this scope
./../include/bitcoin/types.hpp:25:39: error: template argument 1 is invalid
./../include/bitcoin/types.hpp:25:59: error: invalid type in declaration before ';' token
make[1]: *** [satoshi_serialize.lo] Error 1
make[1]: Leaving directory `/usr/local/src/libbitcoin-git/src'
make: *** [all-recursive] Error 1

on the "libtool: compile" line.

I tried to re-run the install.sh lines one by one, and libbitcoin-git seems to make it into /usr/local/src/ but then later on terminal seems to say that libbitcoin is not available. It suggested setting a directory but I could not figure it out."

This is just like Gavin's multisig example, which I couldn't figure out either! DARN.

Help would be appreciated.
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
August 08, 2013, 05:00:01 PM
 #16

This script will automate creating, redeeming and sending an MN multisignature transaction for you:

http://sx.dyne.org/automsig.sh

Read the first line and uncomment it to generate a new set of keys for the first time.
juca
Full Member
***
Offline Offline

Activity: 154
Merit: 100



View Profile
August 10, 2013, 08:58:54 PM
 #17

thanks for all!
Abdussamad
Legendary
*
Offline Offline

Activity: 3598
Merit: 1560



View Profile
August 13, 2013, 06:58:09 AM
 #18

Interesting. I especially like the electrum compatible wallet creation. But will wait for experts to go through the code.

BTW the OP has his own wikipedia page:

http://en.wikipedia.org/wiki/Amir_Taaki
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
August 16, 2013, 11:42:46 AM
 #19

Thanks all. I've added lots more commands for fetching raw transactions and working with block headers. The help should display all.
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
August 18, 2013, 02:58:52 AM
 #20

Code:
$ sx help validtx
Usage: sx validtx FILENAME
Validate a transaction.
$ sx validtx footx
Status: Success
$ sx validtx txfile.tx
Status: Matching previous object found
$ sx validtx badsignature.tx
Status: Validation of inputs failed
$
antonimasso
Member
**
Offline Offline

Activity: 73
Merit: 10


View Profile
August 18, 2013, 10:10:09 AM
Last edit: August 18, 2013, 01:54:54 PM by antonimasso
 #21

****
The author of the article answered my question, change that line to:

for x in `seq 0 2`; do sx rawscript [ `cat sig$x` ] [ `cat pub1 | sx pubkey` ] | sx set-input txfile.tx $x > txfile2.tx; mv txfile2.tx txfile.tx; done
****

Hello,

I've been following the steps in this article (http://bitcoinmagazine.com/what-libbitcoin-and-sx-are-and-why-they-matter/), but can't seem to make a valid raw transaction from an address with multiple unspent inputs.

It misses the scriptSig data from each prev_out. If I copy the raw transaction that

for x in `seq 0 2`; do sx rawscript [ `cat sig$x` ] [ `cat pub1` ] | sx set-input txfile.tx $x; done

returns it shows that only the first prev_out has the scriptSig data.

When using an address with only one unspent transaction it works as expected.

These are the steps I follow:

sx history `cat addr1` | grep Unspent -B 2 | grep output | awk '{print $2}' > input
sx mktx txfile.tx `cat input` -o 18qk7SqRHuS4Kf3f6dmsvqqv7iw1xy77Z6:90000
sx rawscript dup hash160 [ `cat addr1 | sx decode-addr` ] equalverify checksig > raw.script
cat pk1 | sx sign-input txfile.tx 0 `cat raw.script` > sig
sx rawscript [ `cat sig` ] [ `cat pub1` ] | sx set-input txfile.tx 0
sx broadcast-tx txfile.tx

Any ideas?

Thanks
davout
Legendary
*
Offline Offline

Activity: 1372
Merit: 1007


1davout


View Profile WWW
August 18, 2013, 10:13:06 AM
 #22

Have you lowered the g++ dependency?

genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
August 19, 2013, 10:02:39 PM
 #23

Have you lowered the g++ dependency?

g++ 4.7 or higher as always. This is the version of g++ that properly implements the C++ standard. g++ 4.7 is in pretty much every Linux distro now. Older g++ do not fully implement the new C++ standard.
davout
Legendary
*
Offline Offline

Activity: 1372
Merit: 1007


1davout


View Profile WWW
August 19, 2013, 10:22:22 PM
 #24

g++ 4.7 or higher as always. This is the version of g++ that properly implements the C++ standard. g++ 4.7 is in pretty much every Linux distro now. Older g++ do not fully implement the new C++ standard.

I personally use Ubuntu LTS or Debian stable for servers I manage, and as far as I know they don't have g++ 4.7.
If you're targeting sysadmins (which I think is great) it would be good to have it build easily on these versions.

I really like the idea of having ligthweight tools that I can use on my servers instead of running a resource-hungry client, but if I need to fiddle around to get g++ 4.7 or run cutting edge versions that's kind of a turn off.

Then again I don't know shit about C++ so I have no idea about the difficulty of working around the limitations of g++ 4.6.3 which is present on Ubuntu LTS for example.

ADgordo
Member
**
Offline Offline

Activity: 203
Merit: 10

The World’s First Blockchain Core


View Profile
September 02, 2013, 07:22:23 PM
 #25

Github is spitting a 404 at

https://github.com/genjix/sx/


▄▄▄▄▄▄▄▄▄▄▄ ▄ ■        SKYNET        ■ ▄ ▄▄▄▄▄▄▄▄▄▄▄
▐▬▬▬▬▬▬▬▬▬▬     PRIVATE SALE is LIVE     ▬▬▬▬▬▬▬▬▬▬▌
Whitepaper   Bounty   Bitcointalk  ■  Facebook   Twitter   Telegram
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
September 08, 2013, 02:14:31 PM
 #26

Github is spitting a 404 at

https://github.com/genjix/sx/



https://github.com/spesmilo/sx/

sx now supports embedding files in the blockchain.

$ echo foo | sx embed-addr
$ 1N9v8AKBqst9MNceV3gLmFKsgkKv1bZcBU

send some bitcoin to that address, and it will be a record in the blockchain of some data.

But I recommend to use the install script instead. You can even specify a local path and you don't need to be root. It will build the dependencies needed and stuff.
Abdussamad
Legendary
*
Offline Offline

Activity: 3598
Merit: 1560



View Profile
September 08, 2013, 06:39:21 PM
 #27

Is there any documentation for how to use the network parts of this tool? Like how to setup obelisk with the blockchain data so that I can do sx history and so on?
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
September 11, 2013, 01:58:24 AM
 #28

Hey,

We're just working on a tool to convert the bitcoind bootstrap.dat into a libbitcoin blockchain which would make the transition easier.

For now I would look at the config in /etc/obelisk/. You want the port of the frontend in balancer.cfg for your sx.cfg

Commands to run:

# Initialize blockchain
$ mkdir blockchain
$ sx initchain blockchain/
# Run the load balancer
$ obbalancer
# Run a worker
$ obworker

You can view debug.log and error.log to see the output of the worker.

It's important that everyone setup an Obelisk server though. I will make a proper release though soon, and then it will include instructions and I'll be ready for everyone to run versions. Soon soon.
greBit
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500


View Profile
September 13, 2013, 11:36:48 AM
 #29

The simplest way to install sx, is to use the *install-sx.sh* bash
script.

Code:
  $ wget http://sx.dyne.org/install-sx.sh
   $ sudo bash ./install-sx.sh

sx should now be installed.


Just a quick note for future reference.

Under Ubuntu 12.04 the script fails to install for a few reasons.

Quote
DEPENDENCIES="git build-essential autoconf libtool libboost-all-dev pkg-config libcurl4-openssl-dev libleveldb-dev libzmq-dev libconfig++-dev libncurses-dev"

Firstly, in order to build libbitcoin, I require libboost1.48-all-dev instead of libboost-all-dev, which breaks your dependency checking.

The same can be said for other dependencies which on my system, are named slightly differently - e.g. I have 'libncurses5-dev' which also breaks the dependency checking.

Also I was unable to build obelisk without making modifications, I get
Quote
In file included from worker/publisher.hpp:4:0,
                 from worker/publisher.cpp:1:
/usr/include/zmq.hpp: In member function ‘zmq::context_t& zmq::context_t::operator=(zmq::context_t&&)’:
/usr/include/zmq.hpp:207:13: error: ‘swap’ is not a member of ‘std’
             std::swap(ptr, rhs.ptr);

Which I fixed by making sure to include <algorithm> in various places in the code.

Now it seems to be all nicely installed so I will have a play Smiley
greBit
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500


View Profile
September 13, 2013, 12:13:11 PM
 #30

Forgive the newbie question, but how do I actually configure SX so it has a blockchain database to query?

I just want to run the command `sx balance 1...` but this simply hangs with no output.

I am guessing this is because it has no idea about how to get the information, i.e. it has no blockchain database.

So please how do I configure this? Does it depend on bitcoin-qt/bitcoind ?

cheers!


Edit: I have tried an `sx initchain path-to-bitcoin-qt-blockchain` to no avail. this also just hangs with no response
Abdussamad
Legendary
*
Offline Offline

Activity: 3598
Merit: 1560



View Profile
September 13, 2013, 02:59:55 PM
 #31

Hey,

We're just working on a tool to convert the bitcoind bootstrap.dat into a libbitcoin blockchain which would make the transition easier.

For now I would look at the config in /etc/obelisk/. You want the port of the frontend in balancer.cfg for your sx.cfg

Commands to run:

# Initialize blockchain
$ mkdir blockchain
$ sx initchain blockchain/
# Run the load balancer
$ obbalancer
# Run a worker
$ obworker

You can view debug.log and error.log to see the output of the worker.

It's important that everyone setup an Obelisk server though. I will make a proper release though soon, and then it will include instructions and I'll be ready for everyone to run versions. Soon soon.

Where do you create the blockchain directory? I mean the config file does not mention a full path.
greBit
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500


View Profile
September 13, 2013, 06:44:35 PM
 #32


Where do you create the blockchain directory? I mean the config file does not mention a full path.

I don't have any answers im afraid Sad

Do you get any sort of output when executing `sx initchain blockchain/` ?  I get literally zero and nothing in debug or error logs. It just hangs silently.

I have no idea if it is expecting that directory to be an existing blockchain-dir (i.e. from bitcoin-qt) or a leveldb-based one. Or what that command is supposed to do, is it converting an existing blockchain? or connecting to the bitcoin network to build it up itself?

There is a script /usr/local/bin/download-blockchain.sh  which seems to try to rsync the blockchain from some server. But of course it fails miserably as it cannot authenticate.

Im not making much progress Sad
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
September 14, 2013, 08:18:56 PM
 #33

Forgive the newbie question, but how do I actually configure SX so it has a blockchain database to query?

I just want to run the command `sx balance 1...` but this simply hangs with no output.

I am guessing this is because it has no idea about how to get the information, i.e. it has no blockchain database.

So please how do I configure this? Does it depend on bitcoin-qt/bitcoind ?

cheers!


Edit: I have tried an `sx initchain path-to-bitcoin-qt-blockchain` to no avail. this also just hangs with no response


Hey,

My email is amir@unsystem.net if you ever want to reach me directly with questions.

I've been making changes recently, so my server might sometimes experience downtime. Obelisk and SX aren't released yet but a release will be happening soon. Then we will create a stable production server, and keep a separate one for development.

If you want to create your own:

$ mkdir blockchain
$ sx initchain blockchain/
INFO: Imported genesis block 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f

You now have a blockchain with the genesis block.

If you start the worker, it will begin downloading the blockchain. The rsync tool is obselete. We're working on a tool to bootstrap the Bitcoin blockchain but it is experimental:

https://github.com/spesmilo/libbitcoin/tree/master/tools

So you'll be able to use rtorrent to download it from bittorrent, then import it into libbitcoin (Obelisk).

The blockchain path is in /etc/obelisk/worker.cfg

That compile error is with ZeroMQ, and should be fixed by them. Since the problem doesn't occur in Debian Wheezy or Ubuntu 13.04, it's probably fixed.

Thanks!
greBit
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500


View Profile
September 15, 2013, 08:46:49 AM
 #34


If you want to create your own:

$ mkdir blockchain
$ sx initchain blockchain/
INFO: Imported genesis block 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f


Hey Amir thanks for the reply.

I guess I have a dodgy build then, as when I do 'sx initchain blockchain/' it just silently hangs Sad

But what does this command actually do? Where is it trying to get the data from?

Anyways ill come back to this when it is released, it looks very promising Smiley
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
September 16, 2013, 01:02:06 PM
 #35

history/balance/wallet commands:

My host is unreachable for a bit: http://wiki.hetzner.de/index.php/Netzwerkkonfiguration_wegen_Switchanpassung/en

Once my server is available, everything should be working again.
jago25_98
Hero Member
*****
Offline Offline

Activity: 900
Merit: 1000


Crypto Geek


View Profile WWW
November 15, 2013, 08:56:19 PM
 #36

Just a quick one to say thanks and congrats for the first user level multisig implementation.

The stage is set for a website programmer now to build a frontend to assist democratic voting through payments.

Bitcoiner since the early days. Crypto YouTube Channel: Trading Nomads | Analyst | News Reporter | Bitcoin Hodler | Support Freedom of Speech!
jago25_98
Hero Member
*****
Offline Offline

Activity: 900
Merit: 1000


Crypto Geek


View Profile WWW
November 16, 2013, 10:22:15 PM
 #37

Some deps that might be useful for CentOS? Hopefully might see a rpm for that at some stage - would be useful seeing as most webservers are CentOS.

fedora:
Code:
libcurl-devel.x86_64 openssl-devel.x86_64 gcc-c++ asio-devel leveldb.x86_64

Got through the deps but libbitcoin doesn't compile for me:
Code:
libbitcoin-git]$ ./configure --enable-leveldb --prefix /usr/local/
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking whether make supports nested variables... yes
checking dependency style of gcc... gcc3
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking for ar... ar
checking the archiver (ar) interface... ar
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for mt... no
checking if : is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... no
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether g++ accepts -g... (cached) yes
checking dependency style of g++... (cached) gcc3
checking whether g++ supports C++11 features by default... no
checking whether g++ supports C++11 features with -std=c++11... yes
checking whether make supports nested variables... (cached) yes
checking --enable-testnet argument... no
checking for boostlib >= 1.20.0... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for SSL... yes
checking for CURL... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating include/bitcoin/Makefile
config.status: creating src/Makefile
config.status: creating libbitcoin.pc
config.status: executing depfiles commands
config.status: executing libtool commands
[j@localhost libbitcoin-git]$ make
Making all in include/bitcoin
make[1]: Entering directory `/home/j/src/libbitcoin-git/include/bitcoin'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/j/src/libbitcoin-git/include/bitcoin'
Making all in src
make[1]: Entering directory `/home/j/src/libbitcoin-git/src'
  CXX      satoshi_serialize.lo
  CXX      deterministic_wallet.lo
  CXX      getx_responder.lo
  CXX      threadpool.lo
  CXX      network/network.lo
  CXX      network/handshake.lo
  CXX      network/channel.lo
  CXX      network/hosts.lo
  CXX      network/protocol.lo
  CXX      poller.lo
  CXX      utility/logger.lo
  CXX      utility/sha256.lo
  CXX      address.lo
  CXX      format.lo
  CXX      script.lo
  CXX      utility/ripemd.lo
  CXX      block.lo
  CXX      utility/elliptic_curve_key.lo
  CXX      transaction.lo
  CXX      error.lo
  CXX      validate.lo
  CXX      session.lo
session.cpp:133:6: warning: unused parameter 'packet' [-Wunused-parameter]
 void session::get_data(const std::error_code& ec,
      ^
session.cpp:147:6: warning: unused parameter 'packet' [-Wunused-parameter]
 void session::get_blocks(const std::error_code& ec,
      ^
  CXX      utility/base58.lo
  CXX      utility/big_number.lo
  CXX      utility/key_formats.lo
  CXX      utility/timed_section.lo
  CXX      utility/mnemonic.lo
  CXX      constants.lo
  CXX      blockchain/organizer.lo
blockchain/organizer.cpp: In member function 'void libbitcoin::organizer::replace_chain(int, libbitcoin::block_detail_list&)':
blockchain/organizer.cpp:166:65: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int orphan_index = 0; orphan_index < orphan_chain.size();
                                                                 ^
blockchain/organizer.cpp:204:73: warning: narrowing conversion of 'arrival_index' from 'int' to 'size_t {aka long unsigned int}' inside { } [-Wnarrowing]
         arrival_block->set_info({block_status::confirmed, arrival_index});
                                                                         ^
  CXX      blockchain/blockchain.lo
  CXX      transaction_pool.lo
  CXX      transaction_indexer.lo
transaction_indexer.cpp: In function 'void libbitcoin::indexer_history_fetched(const std::error_code&, const output_info_list&, const spend_info_list&, libbitcoin::blockchain::history_list, libbitcoin::blockchain::fetch_handler_history)':
transaction_indexer.cpp:233:14: warning: variable 'found' set but not used [-Wunused-but-set-variable]
         bool found = false;
              ^
  CXX      blockchain/leveldb/leveldb_blockchain.lo
In file included from blockchain/leveldb/leveldb_blockchain.cpp:1:0:
./../include/bitcoin/blockchain/leveldb_blockchain.hpp:7:24: fatal error: leveldb/db.h: No such file or directory
 #include <leveldb/db.h>
                        ^
compilation terminated.
make[1]: *** [blockchain/leveldb/leveldb_blockchain.lo] Error 1
make[1]: Leaving directory `/home/j/src/libbitcoin-git/src'
make: *** [all-recursive] Error 1

Bitcoiner since the early days. Crypto YouTube Channel: Trading Nomads | Analyst | News Reporter | Bitcoin Hodler | Support Freedom of Speech!
moderate
Member
**
Offline Offline

Activity: 98
Merit: 10

nearly dead


View Profile
November 16, 2013, 11:39:37 PM
 #38


Code:

./../include/bitcoin/blockchain/leveldb_blockchain.hpp:7:24: fatal error: leveldb/db.h: No such file or directory

samson
Legendary
*
Offline Offline

Activity: 2097
Merit: 1068


View Profile
November 17, 2013, 01:55:01 AM
 #39

Maybe not related but could this be something to do with CentOS disabling all Elliptic Curve functionality in their standard packaged OpenSSL distribution ?

However in the next version which is going to be released very soon it will be restored after a long period of on and off support.
jago25_98
Hero Member
*****
Offline Offline

Activity: 900
Merit: 1000


Crypto Geek


View Profile WWW
November 17, 2013, 07:43:59 PM
 #40

Are the sx tools stuck on testnet?

No, it's fully operational AFAIK.

Moderate: Thanks for that, missed the leveldb. ./configure should have spotted it. Will search and try again

Bitcoiner since the early days. Crypto YouTube Channel: Trading Nomads | Analyst | News Reporter | Bitcoin Hodler | Support Freedom of Speech!
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
November 19, 2013, 12:26:53 AM
 #41

Hi! The instructions are here:

http://libbitcoin.dyne.org/obelisk-setup.html

But you can also use a public Obelisk server as listed here:

http://libbitcoin.dyne.org/servers.html

(some might be down but after the crowd funding we are going to setup some nice stable servers for people)

The config file for sx is in PREFIX/share/sx/sx.cfg. Copy this to ~/.sx.cfg (PREFIX is usually /usr/local/share/)

You can install sx, obelisk and everything using:

wget http://sx.dyne.org/install-sx.sh
sudo bash install-sx.sh

Wolf0, not sure why you get that?

jago, everything works now?
oys
Newbie
*
Offline Offline

Activity: 17
Merit: 0


View Profile
November 19, 2013, 06:03:17 AM
Last edit: November 19, 2013, 06:13:32 AM by oys
 #42

This is absolutely awesome. There are so many usecases for this. The one I am currently trying to solve is how to quickly fetch the history associated with an address.

I am running my own obelisk server which looks to be working, but the history command does not return anything even after letting it run for several minutes.

bci-history works great, but relies on trusting blockchain.info from what I understand.

Is my understanding correct that sx history should return a value within a couple of seconds at most, or does it parse the entire blockchain?

-----

Edit: to answer my own question, it looks like I was trying to query a public obelisk server since that's the default. Reading the documentation and adding service = "tcp://localhost:9091" to ~/.sx.cfg fixed things.
rbdrbd
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250



View Profile
November 24, 2013, 02:38:02 PM
 #43

Just got sx built under Ubuntu, thanks! Just wondering how portable 'sx' is to windows? Do I need cygwin, or is it possible to compile with VC++? Any build instructions anywhere (or pre-built binaries)?
jago25_98
Hero Member
*****
Offline Offline

Activity: 900
Merit: 1000


Crypto Geek


View Profile WWW
November 24, 2013, 03:38:31 PM
 #44

Could really do with an RPM...

Bitcoiner since the early days. Crypto YouTube Channel: Trading Nomads | Analyst | News Reporter | Bitcoin Hodler | Support Freedom of Speech!
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
November 24, 2013, 04:55:28 PM
 #45

Just got sx built under Ubuntu, thanks! Just wondering how portable 'sx' is to windows? Do I need cygwin, or is it possible to compile with VC++? Any build instructions anywhere (or pre-built binaries)?

never done it, but when our infrastructure is more setup (after crowd funding) we will be deploying/testing/making builds.
rbdrbd
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250



View Profile
November 24, 2013, 08:33:23 PM
 #46

Just got sx built under Ubuntu, thanks! Just wondering how portable 'sx' is to windows? Do I need cygwin, or is it possible to compile with VC++? Any build instructions anywhere (or pre-built binaries)?

never done it, but when our infrastructure is more setup (after crowd funding) we will be deploying/testing/making builds.

The big challenge for me was to figure out how to use sx in the first place (I would just run it and it would hang)...so then I figured out obworker/obbalancer.

Since my goal was an automated setup for a Mastercoin-related project (mastercoind) that depends on 'sx', I made a script to allow for this (thats why some of the paths may reference mastercoind). You're welcome to use any of this code, if you find it helpful....it sure allows for more of an "out of the box" setup of everything:

setup script for actually configuring obworker and obbalancer (as their own user, etc): http://pastebin.com/MWJsaXKY
obbalancer init.d file: http://pastebin.com/43ivabs5
obworker init.d file: http://pastebin.com/MiFfgA3s
obworker log rotation: http://pastebin.com/udJypGSa
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
November 24, 2013, 09:54:12 PM
 #47

oh this is wicked! this is exactly what I wanted! can I include them in the project?
rbdrbd
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250



View Profile
November 24, 2013, 10:35:01 PM
 #48

oh this is wicked! this is exactly what I wanted! can I include them in the project?

Yes, absolutely (that was my goal). Modify as needed and go for it! Then I can pull them out of mastercoind. Smiley

I really need to get sx working on windows as well... let me spend a bit of time and look into it.
jago25_98
Hero Member
*****
Offline Offline

Activity: 900
Merit: 1000


Crypto Geek


View Profile WWW
November 25, 2013, 12:00:12 AM
 #49

Couldn't get it to build on fedora.... could do with a rpm...

Just got sx built under Ubuntu, thanks! Just wondering how portable 'sx' is to windows? Do I need cygwin, or is it possible to compile with VC++? Any build instructions anywhere (or pre-built binaries)?

never done it, but when our infrastructure is more setup (after crowd funding) we will be deploying/testing/making builds.

Bitcoiner since the early days. Crypto YouTube Channel: Trading Nomads | Analyst | News Reporter | Bitcoin Hodler | Support Freedom of Speech!
rbdrbd
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250



View Profile
November 25, 2013, 02:29:06 AM
 #50

and building on windows looks like it will be a LOT of work. cygwin may be a good first step, as it has g++ 4.7 I believe...but from what I understand of it, there's still a bunch of work that has to happen to the Makefiles, etc. A native windows port (using vc++) would be even more work.
mikeg
Newbie
*
Offline Offline

Activity: 21
Merit: 0


View Profile
November 30, 2013, 11:56:39 AM
 #51

Is there a way to generate a new seed/12-word mnemonic with dice rolls?
Hawkix
Hero Member
*****
Offline Offline

Activity: 531
Merit: 505



View Profile WWW
November 30, 2013, 01:18:24 PM
 #52

You can always roll enough times to generate at least 256-bit entropy, form it as e.g. string (1536123 ... ) and hash it.

Donations: 1Hawkix7GHym6SM98ii5vSHHShA3FUgpV6
http://btcportal.net/ - All about Bitcoin - coming soon!
davout
Legendary
*
Offline Offline

Activity: 1372
Merit: 1007


1davout


View Profile WWW
November 30, 2013, 01:26:40 PM
 #53

Is there a way to generate a new seed/12-word mnemonic with dice rolls?

http://world.std.com/~reinhold/diceware.html

mikeg
Newbie
*
Offline Offline

Activity: 21
Merit: 0


View Profile
November 30, 2013, 03:11:53 PM
 #54

Is there a way to generate a new seed/12-word mnemonic with dice rolls?

http://world.std.com/~reinhold/diceware.html

I'm not looking to generate a private key. I'm trying to create a libbitcoin seed and the associated deterministic wallet from the dice rolls. The sx code that generates random seeds is in https://github.com/spesmilo/libbitcoin/blob/master/src/deterministic_wallet.cpp

Code:
void deterministic_wallet::new_seed()
{
    constexpr size_t bits_needed = 8 * seed_size / 2;
    ssl_bignum rand_value;
    BN_rand(rand_value, bits_needed, 0, 0);
    bool set_success = set_seed(bignum_hex(rand_value));
    BITCOIN_ASSERT(set_success);
}

Best case would be something like...
Code:
>echo "6132235463233123456522124112542554365223124562346652123111266" | sx newseed | sx mnemonic
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
December 02, 2013, 04:24:33 AM
 #55

Use this Python code:

$ python
>>> "%x" % int("".join([str(int(c) - 1) for c in "6132235463233123456522124112542554365223124562346652123111266"]), 6)

Replace the string "613...." with whatever you want. I'm assuming that each digit represents a dice roll from 1 to 6.
mikeg
Newbie
*
Offline Offline

Activity: 21
Merit: 0


View Profile
December 02, 2013, 04:24:01 PM
Last edit: December 02, 2013, 04:45:58 PM by mikeg
 #56

Use this Python code:

$ python
>>> "%x" % int("".join([str(int(c) - 1) for c in "6132235463233123456522124112542554365223124562346652123111266"]), 6)

Replace the string "613...." with whatever you want. I'm assuming that each digit represents a dice roll from 1 to 6.

Thanks - that worked.

I was playing around with libbitcoin/sx using a bash script wrapper to generate offline, electrum compatible wallets.
https://github.com/gehlm/paper-btc
jcrubino
Member
**
Offline Offline

Activity: 83
Merit: 10


View Profile
December 03, 2013, 04:35:48 AM
 #57

Amir
Sx is not installing via the bash script on fresh Ubuntu 12.04 64 bit installs

As posted on the sx.dyne page comments this is the result of running the script:

Code:
Error: libconfig++-dev is not installed!

Run the following command:

  $ sudo apt-get install git build-essential autoconf libtool libboost-all-dev pkg-config libcurl4-openssl-dev libleveldb-dev libzmq-dev libconfig++-dev libncurses5-dev


However all these libs are installed and the further attempts to install from the bash script just result in this message again.


What is the fix; I saw it methioned in this thread but the "algo in code" fix was ambigous at best.

Also how can we point sx at alt chains?
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
December 03, 2013, 03:24:11 PM
 #58

What is the output of:

$ dpkg -s libconfig++-dev

?

thanks
RoxxR
Full Member
***
Offline Offline

Activity: 208
Merit: 148


View Profile
December 03, 2013, 04:33:03 PM
 #59

Any windows binaries available? Or simple build instructions?
jcrubino
Member
**
Offline Offline

Activity: 83
Merit: 10


View Profile
December 03, 2013, 05:03:21 PM
 #60

What is the output of:

$ dpkg -s libconfig++-dev

?

thanks


Code:
main@computer:~$ dpkg -s libconfig++-dev
Package `libconfig++-dev' is not installed and no info is available.
Use dpkg --info (= dpkg-deb --info) to examine archive files,
and dpkg --contents (= dpkg-deb --contents) to list their contents.
main@computer:~$ sudo apt-get install libconfig++-dev
[sudo] password for main:
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'libconfig++8-dev' instead of 'libconfig++-dev'
libconfig++8-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 17 not upgraded.
main@computer:~$

Thank you Amir.
You contributions to the bitcoin community are always among the best.
I am looking forward to using the darkwallet stack in production for not so dark things.... that said it would be nice if DarkWallet had a less ominous moniker.

flatfly
Legendary
*
Offline Offline

Activity: 1078
Merit: 1011

760930


View Profile
December 03, 2013, 06:22:42 PM
 #61

Any windows binaries available? Or simple build instructions?

Just check out page 3 of this thread. The short answer is, not at this time, unfortunately.
@genjix: Many thanks for your efforts.
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
December 04, 2013, 02:19:42 AM
 #62

investigating the issue. will deploy a vps to test. if you want to skip that step for now, you can delete change DEPENDENCIES="" in the install script (it will skip the dependencies check).
jcrubino
Member
**
Offline Offline

Activity: 83
Merit: 10


View Profile
December 04, 2013, 04:03:14 AM
 #63

Thanks
I can maintain debian / buntu docker files for sx / oblisk etc once I understand the dependencies in more depth.

jcrubino
Member
**
Offline Offline

Activity: 83
Merit: 10


View Profile
December 04, 2013, 04:16:13 AM
 #64

you can delete change DEPENDENCIES="" in the install script (it will skip the dependencies check).

Got further but ended with this:
Code:
make[1]: Entering directory `/usr/local/src/libbitcoin-git/src'
  CXX    getx_responder.lo
In file included from ./../include/bitcoin/network/channel.hpp:22:0,
                 from getx_responder.cpp:3:
./../include/bitcoin/utility/subscriber.hpp:64:1: error: expected unqualified-id before 'using'
In file included from ./../include/bitcoin/transaction_pool.hpp:10:0,
                 from getx_responder.cpp:4:
./../include/bitcoin/blockchain/blockchain.hpp:28:5: error: expected unqualified-id before 'using'
./../include/bitcoin/blockchain/blockchain.hpp:31:13: error: 'fetch_handler' does not name a type
./../include/bitcoin/blockchain/blockchain.hpp:33:13: error: 'fetch_handler' does not name a type
./../include/bitcoin/blockchain/blockchain.hpp:36:13: error: 'fetch_handler' does not name a type
./../include/bitcoin/blockchain/blockchain.hpp:38:13: error: 'fetch_handler' does not name a type
./../include/bitcoin/blockchain/blockchain.hpp:40:13: error: 'fetch_handler' does not name a type
./../include/bitcoin/blockchain/blockchain.hpp:43:13: error: 'fetch_handler' does not name a type
./../include/bitcoin/blockchain/blockchain.hpp:49:13: error: 'fetch_handler' does not name a type
./../include/bitcoin/blockchain/blockchain.hpp:118:9: error: 'fetch_handler_block_header' has not been declared
./../include/bitcoin/blockchain/blockchain.hpp:133:9: error: 'fetch_handler_block_header' has not been declared
./../include/bitcoin/blockchain/blockchain.hpp:148:9: error: 'fetch_handler_block_transaction_hashes' has not been declared
./../include/bitcoin/blockchain/blockchain.hpp:163:9: error: 'fetch_handler_block_transaction_hashes' has not been declared
./../include/bitcoin/blockchain/blockchain.hpp:178:9: error: 'fetch_handler_block_height' has not been declared
./../include/bitcoin/blockchain/blockchain.hpp:191:36: error: 'fetch_handler_last_height' has not been declared
./../include/bitcoin/blockchain/blockchain.hpp:206:9: error: 'fetch_handler_transaction' has not been declared
./../include/bitcoin/blockchain/blockchain.hpp:244:9: error: 'fetch_handler_spend' has not been declared
getx_responder.cpp: In member function 'void libbitcoin::getx_responder::pool_tx(const std::error_code&, const libbitcoin::transaction_type&, const hash_digest&, libbitcoin::channel_ptr)':
getx_responder.cpp:73:41: error: no matching function for call to 'libbitcoin::blockchain::fetch_transaction(const hash_digest&, boost::asio::detail::wrapped_handler<boost::asio::io_service&, std::_Bind<std::_Mem_fn<void (libbitcoin::getx_responder::*)(const std::error_code&, const libbitcoin::transaction_type&, std::shared_ptr<libbitcoin::channel>)>(libbitcoin::getx_responder*, std::_Placeholder<1>, std::_Placeholder<2>, std::shared_ptr<libbitcoin::channel>)> >)'
getx_responder.cpp:73:41: note: candidate is:
./../include/bitcoin/blockchain/blockchain.hpp:205:18: note: virtual void libbitcoin::blockchain::fetch_transaction(const hash_digest&, int)
./../include/bitcoin/blockchain/blockchain.hpp:205:18: note:   no known conversion for argument 2 from 'boost::asio::detail::wrapped_handler<boost::asio::io_service&, std::_Bind<std::_Mem_fn<void (libbitcoin::getx_responder::*)(const std::error_code&, const libbitcoin::transaction_type&, std::shared_ptr<libbitcoin::channel>)>(libbitcoin::getx_responder*, std::_Placeholder<1>, std::_Placeholder<2>, std::shared_ptr<libbitcoin::channel>)> >' to 'int'
make[1]: *** [getx_responder.lo] Error 1
make[1]: Leaving directory `/usr/local/src/libbitcoin-git/src'
make: *** [all-recursive] Error 1


genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
December 05, 2013, 06:07:34 PM
Last edit: December 05, 2013, 07:21:37 PM by genjix
 #65

redownload your install-sx.sh script and continue. i've patched it now to work.

you need g++ 4.7 or higher.

http://askubuntu.com/questions/76885/where-can-i-find-a-g-4-7-package

you need to install a newer leveldb also.
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
December 05, 2013, 07:23:07 PM
 #66

New library for interfacing with Obelisk servers and doing Bitcoin functionality.

Pure Python so library is easily portable to platforms that can run a Python interpreter.

https://bitcointalk.org/index.php?topic=354607

https://github.com/darkwallet/python-obelisk/

See examples/ directory.

This is a collaboration between Pablo Martin's ZMQ/Obelisk implementation, Robert Williamson's blockalchemy library and code from ThomasV's Electrum.

Obelisk is a scalable blockchain query infrastructure. See the setup guide. There is a public server available at 37.139.11.99:9091 but I wouldn't use it for anything production (besides testing).

A pure Python library is great because it can be deployed easily without requiring dependencies. This allows code to be ported across many platforms such as the mobile phone with Kivy, desktops or any platform running Python.

Features:

* Blockchain queries and navigation through Obelisk servers.
* Construct & sign transactions.
* BIP32 hierarchical wallet.
* Traverse the blockchain using a syntax similar to Django ORM / SQL alchemy.

Use cases:

* Website payment backend (store and manage the keys yourself).
* Wallet software.
gluk64
Newbie
*
Offline Offline

Activity: 24
Merit: 0


View Profile
December 08, 2013, 09:54:57 PM
 #67

now obelisk doesn't link:
Code:
Making all in include/obelisk
make[1]: Entering directory `/usr/local/src/obelisk-git/include/obelisk'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/usr/local/src/obelisk-git/include/obelisk'
Making all in src
make[1]: Entering directory `/usr/local/src/obelisk-git/src'
/bin/bash ../libtool --tag=CXX   --mode=link g++  -g -O2 -std=c++11   -o obbalancer balancer/balancer.o balancer/config.o -lobelisk -L/usr/local/lib -lbitcoin -lboost_thread -lboost_system -lboost_regex -lboost_filesystem -lpthread -lleveldb -lcurl   -L/usr/local/lib -lzmq   -lconfig++   
libtool: link: g++ -g -O2 -std=c++11 -o .libs/obbalancer balancer/balancer.o balancer/config.o  /usr/local/src/obelisk-git/src/.libs/libobelisk.so -L/usr/local/lib /usr/local/lib/libbitcoin.so -lboost_thread -lboost_system -lboost_regex -lboost_filesystem -lpthread -lleveldb /usr/lib/i386-linux-gnu/libcurl.so /usr/local/lib/libzmq.so -lconfig++
/usr/local/lib/libbitcoin.so: undefined reference to `snappy::RawCompress(char const*, unsigned int, char*, unsigned int*)'
/usr/local/lib/libbitcoin.so: undefined reference to `snappy::RawUncompress(char const*, unsigned int, char*)'
/usr/local/lib/libbitcoin.so: undefined reference to `snappy::GetUncompressedLength(char const*, unsigned int, unsigned int*)'
/usr/local/lib/libbitcoin.so: undefined reference to `snappy::MaxCompressedLength(unsigned int)'
collect2: error: ld returned 1 exit status
make[1]: *** [obbalancer] Error 1
make[1]: Leaving directory `/usr/local/src/obelisk-git/src'
make: *** [all-recursive] Error 1

snappy is installed.
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
December 09, 2013, 07:46:41 AM
 #68

This looks like a problem with LevelDB. Is your platform packaging a recent version of LevelDB?
gluk64
Newbie
*
Offline Offline

Activity: 24
Merit: 0


View Profile
December 09, 2013, 10:18:47 AM
 #69

Thank you, updating leveldb to 1.14.0 and recompiling it worked.

git clone https://code.google.com/p/leveldb/ points to 1.12, that was the problem.
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
December 14, 2013, 03:20:46 AM
 #70

Thanks
I can maintain debian / buntu docker files for sx / oblisk etc once I understand the dependencies in more depth.

just been reading about this. I'm not an admin guy but docker sounds really cool. update any progress you make on this.

we have a wiki: https://wiki.unsystem.net/
let me know your user if you make an account
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
December 14, 2013, 03:35:06 AM
 #71

setup script for actually configuring obworker and obbalancer (as their own user, etc): http://pastebin.com/MWJsaXKY
obbalancer init.d file: http://pastebin.com/43ivabs5
obworker init.d file: http://pastebin.com/MiFfgA3s
obworker log rotation: http://pastebin.com/udJypGSa

There's a setup script, obbalancer init.d script, obworker init.d script and obworker log rotation script.

Questions to everyone:

1. Where should the scripts normally reside on your system? Would the setup script be installed with the package?

2. What's the standard GNU way of distributing them? scripts/? How would I name them?

Thanks.
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
December 14, 2013, 09:38:47 PM
 #72

Thanks to rbdrbd, in Obelisk there are now init.d scripts, setup script and logrotation:

https://github.com/spesmilo/obelisk/tree/master/scripts

Going to be testing these. Would appreciate any feedback to improve them.
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
December 16, 2013, 04:44:24 PM
 #73

sx now auto creates a config for your user if one doesn't exist.

https://github.com/spesmilo/sx/commit/71eebef3d702507643058863206a79a047623c7a

next goal is support for BIP32 deterministic wallets.
phillipsjk
Legendary
*
Offline Offline

Activity: 1008
Merit: 1001

Let the chips fall where they may.


View Profile WWW
December 16, 2013, 11:32:25 PM
 #74

Okay, who added "--enable-testnet" to the libbitcoin-leveldb-git PKGBUILD?  Roll Eyes

Does this imply that there is no way to switch to testnet at run-time?

Sometimes you don't want to risk "real" coins.

Is there a sane way to have both versions installed?

James' OpenPGP public key fingerprint: EB14 9E5B F80C 1F2D 3EBE  0A2F B3DE 81FF 7B9D 5160
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
December 17, 2013, 02:38:05 PM
 #75

Okay, who added "--enable-testnet" to the libbitcoin-leveldb-git PKGBUILD?  Roll Eyes

Does this imply that there is no way to switch to testnet at run-time?

Sometimes you don't want to risk "real" coins.

Is there a sane way to have both versions installed?

I'm going to add runtime support of testnet in the future.
jbis1
Newbie
*
Offline Offline

Activity: 50
Merit: 0



View Profile
December 18, 2013, 02:52:42 AM
 #76

I'm getting the following issue when trying to install sx using the install-sx.sh file. I left out earlier output.

Code:
obelisk now installed.
Updating sx...
Current branch master is up to date.
Beginning build process now...
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
/bin/bash: /root/missing: No such file or directory
configure: WARNING: 'missing' script is too old or missing
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking whether make supports nested variables... yes
checking dependency style of gcc... gcc3
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking whether g++ supports C++11 features by default... no
checking whether g++ supports C++11 features with -std=c++11... yes
checking whether make supports nested variables... (cached) yes
checking for NcursesW wide-character library... no
checking for Ncurses library... yes
checking for working ncurses/curses.h... no
checking for working ncurses.h... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for libbitcoin... yes
checking for libwallet... no
configure: error: Package requirements (libwallet) were not met:

No package 'libwallet' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables libwallet_CFLAGS
and libwallet_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
qrius1111
Newbie
*
Offline Offline

Activity: 30
Merit: 0


View Profile
January 01, 2014, 12:04:57 PM
 #77

i'm trying to install sx. i get close i think but it dies as there is a missing file in obelisk:

Code:
...
checking for libzmq... yes
checking for libconfigxx... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating include/obelisk/Makefile
config.status: creating src/Makefile
config.status: creating libobelisk.pc
config.status: executing depfiles commands
config.status: executing libtool commands
Making all in include/obelisk
make[1]: Entering directory `/usr/local/src/obelisk-git/include/obelisk'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/usr/local/src/obelisk-git/include/obelisk'
Making all in src
make[1]: Entering directory `/usr/local/src/obelisk-git/src'
  CXX    message.lo
In file included from message.cpp:1:0:
./../include/obelisk/message.hpp:4:19: fatal error: zmq.hpp: No such file or directory
compilation terminated.
make[1]: *** [message.lo] Error 1
make[1]: Leaving directory `/usr/local/src/obelisk-git/src'
make: *** [all-recursive] Error 1

i'm on debian wheezy. grebit you may have had a similar error?


Also I was unable to build obelisk without making modifications, I get
Quote
In file included from worker/publisher.hpp:4:0,
                 from worker/publisher.cpp:1:
/usr/include/zmq.hpp: In member function ‘zmq::context_t& zmq::context_t::operator=(zmq::context_t&&)’:
/usr/include/zmq.hpp:207:13: error: ‘swap’ is not a member of ‘std’
             std::swap(ptr, rhs.ptr);

Which I fixed by making sure to include <algorithm> in various places in the code.

Now it seems to be all nicely installed so I will have a play Smiley

can you explain what modifications you made to get it working?
qrius1111
Newbie
*
Offline Offline

Activity: 30
Merit: 0


View Profile
January 01, 2014, 12:32:08 PM
Last edit: January 01, 2014, 12:44:28 PM by qrius1111
 #78

hmm well i got obelisk to install after all, like so:

Code:
$ cd obelisk-master
$ libtoolize --force
$ aclocal
$ autoheader
$ autoreconf -vif
$ ./configure
$ make
$ sudo make install

and now sx has installed too Smiley
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
January 01, 2014, 01:23:49 PM
 #79

qrius1111 did you use the install-sx.sh script? http://sx.dyne.org/install-sx.sh

I recommend all to use git until next release which is coming soon.
qrius1111
Newbie
*
Offline Offline

Activity: 30
Merit: 0


View Profile
January 01, 2014, 10:34:40 PM
 #80

yeah i did use install-sx.sh but it had a lot of problems for me. firstly with zeromq then with obelisk. i got it working by downloading these from git then installing manually before running the sx installer again. anyway its working now Smiley

is there a way to check the progress when running the history command?
malefice
Newbie
*
Offline Offline

Activity: 37
Merit: 0


View Profile
January 04, 2014, 08:29:13 PM
 #81

i changed install-sx.sh to compile for testnet, but it seems not to work.

Code:
./configure  --enable-testnet --enable-leveldb --prefix $INSTALL_PREFIX

at github there is a reference to -DENABLE_TESTNET for CFLAGS
https://github.com/spesmilo/sx/issues/9

I dont know C, could you explain what I need to do to have sx enabled for testnet?
jbis1
Newbie
*
Offline Offline

Activity: 50
Merit: 0



View Profile
January 05, 2014, 01:05:26 AM
 #82

I changed the first line of Makefile.am.

Old:
Code:
AM_CPPFLAGS = ${libbitcoin_CFLAGS} ${libwallet_CFLAGS}

New:
Code:
AM_CPPFLAGS = ${libbitcoin_CFLAGS} ${libwallet_CFLAGS} -DENABLE_TESTNET

Then compile as normal (./configure; make; sudo make install). Now mktx doesn't complain when I create a transaction with an address that begins with m. I have not tested beyond that.
malefice
Newbie
*
Offline Offline

Activity: 37
Merit: 0


View Profile
January 05, 2014, 11:55:51 AM
 #83

@jbs1

truth is that it still operates on the main block chain, e.g. sx history
jbis1
Newbie
*
Offline Offline

Activity: 50
Merit: 0



View Profile
January 05, 2014, 04:48:14 PM
 #84

Yes, but if you point to a Testnet obelisk server in your sx.cfg file, it should fix that. The list of servers is at https://wiki.unsystem.net/index.php/Obelisk/Servers. There is one Testnet server listed and it appears to not be working for me.
malefice
Newbie
*
Offline Offline

Activity: 37
Merit: 0


View Profile
January 05, 2014, 07:23:49 PM
 #85

Yes, but if you point to a Testnet obelisk server in your sx.cfg file, it should fix that. The list of servers is at https://wiki.unsystem.net/index.php/Obelisk/Servers. There is one Testnet server listed and it appears to not be working for me.

Thanks jbis1 tried to guesswork and compile obelisk wih -DENABLE_TESTNET. No chance. And this is all the documentation I have:
cat /usr/local/share/doc/obelisk/* | grep testnet
https://wiki.unsystem.net/index.php/Obelisk
At this point I consider moving to bitcoinj - after all I'm looking for the easiest way to work with transactions.

thx, malefice
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
January 12, 2014, 10:58:07 PM
 #86

I'd just like to announce that I'm running an Obelisk server with the publisher enabled on ottrbutt.com, default ports.

added to wiki

feel free to make an account and let me know username
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
January 16, 2014, 11:32:30 AM
Last edit: January 16, 2014, 12:29:33 PM by genjix
 #87

btw sx supports new stealth address payments:

https://wiki.unsystem.net/index.php/Sx/Stealth

still waiting for others to finalise the address scheme, but the basic kit is there.

many thanks jeremy spillman, peter todd and others!
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
January 16, 2014, 02:50:48 PM
 #88

WARNING: I just upgraded libbitcoin to new style compressed public keys. This will produce incompatibility with generating addresses on old-style Electrum deterministic wallets. Generating private keys is still fine, but the addresses will look different. I suggest moving funds off your wallet before upgrading and then moving them back after.

Anyone who needs the old style uncompressed keys, can use the latest libbitcoin tarball release off the website rather than the Git repo.
ShadowOfHarbringer
Legendary
*
Offline Offline

Activity: 1470
Merit: 1005


Bringing Legendary Har® to you since 1952


View Profile
January 16, 2014, 03:03:08 PM
 #89

btw sx supports new stealth address payments:

https://wiki.unsystem.net/index.php/Sx/Stealth

This page has invalid SSL certificate. Can you copy/paste the certificate fingerprint, so I can add it to permanent exceptions ?

marcus_of_augustus
Legendary
*
Offline Offline

Activity: 3920
Merit: 2348


Eadem mutata resurgo


View Profile
January 16, 2014, 10:07:49 PM
 #90

btw sx supports new stealth address payments:

https://wiki.unsystem.net/index.php/Sx/Stealth

still waiting for others to finalise the address scheme, but the basic kit is there.

many thanks jeremy spillman, peter todd and others!

nice work genjix

genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
February 11, 2014, 05:08:59 AM
 #91

I've implemented some changes to stealth from Peter Todd.

The nonce is now called 'ephemeral public key'.

The stealth address format has changed slightly too.

If needed, I can provide a conversion utility for old-style stealth addresses.

This page is updated to reflect latest changes: https://wiki.unsystem.net/index.php/Sx/Stealth

Developer documentation about stealth: https://wiki.unsystem.net/index.php/DarkWallet/Stealth
99Percent
Full Member
***
Offline Offline

Activity: 402
Merit: 100


🦜| Save Smart & Win 🦜


View Profile WWW
March 09, 2014, 07:53:41 AM
 #92

for those doing install on a fresh Linux Mint or Ubuntu machine run this before trying to install from the install-sx.sh script

Code:
sudo apt-get install ncurses-dev libconfig++-dev libzmq-dev libleveldb-dev libboost-dev build-essential g++ libcurl4-gnutls-dev dh-autoreconf git

It will satisfy many dependencies needed to build sx though probably not all.

grue
Legendary
*
Offline Offline

Activity: 2058
Merit: 1431



View Profile
March 11, 2014, 02:58:47 AM
 #93

for those doing install on a fresh Linux Mint or Ubuntu machine run this before trying to install from the install-sx.sh script

Code:
sudo apt-get install ncurses-dev libconfig++-dev libzmq-dev libleveldb-dev libboost-dev build-essential g++ libcurl4-gnutls-dev dh-autoreconf git

It will satisfy many dependencies needed to build sx though probably not all.
you do realize a full list of dependencies is in the installation script, right?

Code:
echo "Ubuntu/Debian users require the following packages:"
echo "git build-essential autoconf libtool libboost-all-dev"
echo "pkg-config libcurl4-openssl-dev libleveldb-dev"
echo "libzmq-dev libconfig++-dev libncurses5-dev"
echo
echo "Fedora/Redhat users require the following packages:"
echo "gcc-c++ git autoconf libtool boost-devel pkgconfig"
echo "libcurl-devel openssl-devel leveldb-devel zeromq"
echo "zeromq3 zeromq-devel libconfig libconfig-devel"
echo "ncurses-devel"
echo "and a package group called 'Development Tools'."

tl;dr
Code:
sudo apt-get git build-essential autoconf libtool libboost-all-dev pkg-config libcurl4-openssl-dev libleveldb-dev libzmq-dev libconfig++-dev libncurses5-dev

It is pitch black. You are likely to be eaten by a grue.

Adblock for annoying signature ads | Enhanced Merit UI
luv2drnkbr
Hero Member
*****
Offline Offline

Activity: 793
Merit: 1016



View Profile
March 11, 2014, 05:38:07 AM
 #94

I also always get errors about ecdsa and some other python stuff when I install SX on a new Ubunutu.  So I'd add

Code:
sudo apt-get install python-pip
sudo pip install ecdsa

to the "do before you install SX" guide.  I also had trouble with zmq and I don't remember which thing I had to install to stop getting that error.  It may have been "pip install zeroqm" but I honestly don't remember.  I know that that zmq error took me a few minutes to solve.  (I'm new to Linux, so I have to look up literally everything.)  I just know the default libzmq-dev package wasn't enough and I had to install some other zmq thing.

As always, Google is your friend, and other people have had similar errors.  Even if there's no SX-specific posts about it, somebody has had that module missing for something else and posted about it.

99Percent
Full Member
***
Offline Offline

Activity: 402
Merit: 100


🦜| Save Smart & Win 🦜


View Profile WWW
March 12, 2014, 12:15:48 AM
 #95

I did not realize it.

Because it is echo-ed right at the beginning it quickly gets lost after a lot of building and compilation output. Perhaps it would be better to just issue a apt-get command to install all the required packages when ubuntu type linux is detected?

Better yet, why not just make a dpkg

for those doing install on a fresh Linux Mint or Ubuntu machine run this before trying to install from the install-sx.sh script

Code:
sudo apt-get install ncurses-dev libconfig++-dev libzmq-dev libleveldb-dev libboost-dev build-essential g++ libcurl4-gnutls-dev dh-autoreconf git

It will satisfy many dependencies needed to build sx though probably not all.
you do realize a full list of dependencies is in the installation script, right?

Code:
echo "Ubuntu/Debian users require the following packages:"
echo "git build-essential autoconf libtool libboost-all-dev"
echo "pkg-config libcurl4-openssl-dev libleveldb-dev"
echo "libzmq-dev libconfig++-dev libncurses5-dev"
echo
echo "Fedora/Redhat users require the following packages:"
echo "gcc-c++ git autoconf libtool boost-devel pkgconfig"
echo "libcurl-devel openssl-devel leveldb-devel zeromq"
echo "zeromq3 zeromq-devel libconfig libconfig-devel"
echo "ncurses-devel"
echo "and a package group called 'Development Tools'."

tl;dr
Code:
sudo apt-get git build-essential autoconf libtool libboost-all-dev pkg-config libcurl4-openssl-dev libleveldb-dev libzmq-dev libconfig++-dev libncurses5-dev

genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
March 12, 2014, 12:47:05 AM
 #96

Sorry about this. The install script should install those packages but the build stuff for sx and the rest of the libbitcoin-related tools need some work.
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
March 12, 2014, 05:14:52 PM
 #97

Hey everyone,

 The new Obelisk has support for server-client encryption and
signing using ed25519 crypto. The client can specify a key, and the
server can specify which client pubkeys it will accept (or all) and a
whitelist of IP addresses.

See this config file for reference:

https://github.com/spesmilo/obelisk/blob/master/src/worker/worker.cfg#L24

The install-sx.sh script will be broken because of new dependencies .etc so I will fix it now. Sorry for any difficulties.
gwlloyd
Newbie
*
Offline Offline

Activity: 50
Merit: 0


View Profile
March 16, 2014, 12:39:01 AM
 #98

I'm now on my fifth attempt using 2 different servers (one a pretty much clean Debian VM and one an established server).. every time I get nearly to the end of the blockchain sync it just seems to sit around not receiving new blocks and spewing reams of errors such as below. I'm assuming blockchain database corruption but it always seems to be somewhere in the 27#### block range (I've just noticed this). Is this normal? Is there maybe something about this range of blocks, was that when someone was spamming the blockchain? Getting a bit frustrated here sapping so much time and bandwidth and still haven't got a sync'd copy to play with. I don't want to download a torrent copy.


WARNING: Error storing memory pool transaction c0c958698d61b260a885115a7e2ccec1a25c8a121c0da9ec6165f0ce11920c9b: Spent input not found
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
March 16, 2014, 11:59:14 AM
 #99

I'm now on my fifth attempt using 2 different servers (one a pretty much clean Debian VM and one an established server).. every time I get nearly to the end of the blockchain sync it just seems to sit around not receiving new blocks and spewing reams of errors such as below. I'm assuming blockchain database corruption but it always seems to be somewhere in the 27#### block range (I've just noticed this). Is this normal? Is there maybe something about this range of blocks, was that when someone was spamming the blockchain? Getting a bit frustrated here sapping so much time and bandwidth and still haven't got a sync'd copy to play with. I don't want to download a torrent copy.


WARNING: Error storing memory pool transaction c0c958698d61b260a885115a7e2ccec1a25c8a121c0da9ec6165f0ce11920c9b: Spent input not found


Nope it looks fine. Those errors aren't a problem. Example: memory pool isn't full yet and there's txs depending on other txs in the mempool that aren't yours. It's normal. I'll make the wording sound less extreme.

Important is that you're able to run 'sx fetch-last-height' and the block height matches blockchain.info or somewhere else.

I need to document these tools better. Sorry about that. I'll be making efforts towards that goal as documentation is important.
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
March 16, 2014, 01:20:09 PM
 #100

If anyone is using unSYSTEM Obelisk servers, then they will be upgraded today (Sun 16 March). If you experience problems with the new unSYSTEM servers, then upgrade SX:

Code:
$ wget http://sx.dyne.org/install-sx.sh
$ sudo bash install-sx.sh

or

Code:
$ wget http://sx.dyne.org/install-sx.sh
$ bash install-sx.sh /home/genjix/usr/

You also have the option to run a different server with an older version of Obelisk, although I'll be encouraging operators to upgrade soon. List of servers: https://wiki.unsystem.net/index.php/Obelisk/Servers - let me know if you have a server to add to the list.
gwlloyd
Newbie
*
Offline Offline

Activity: 50
Merit: 0


View Profile
March 16, 2014, 02:15:36 PM
 #101

I'm now on my fifth attempt using 2 different servers (one a pretty much clean Debian VM and one an established server).. every time I get nearly to the end of the blockchain sync it just seems to sit around not receiving new blocks and spewing reams of errors such as below. I'm assuming blockchain database corruption but it always seems to be somewhere in the 27#### block range (I've just noticed this). Is this normal? Is there maybe something about this range of blocks, was that when someone was spamming the blockchain? Getting a bit frustrated here sapping so much time and bandwidth and still haven't got a sync'd copy to play with. I don't want to download a torrent copy.


WARNING: Error storing memory pool transaction c0c958698d61b260a885115a7e2ccec1a25c8a121c0da9ec6165f0ce11920c9b: Spent input not found


Nope it looks fine. Those errors aren't a problem. Example: memory pool isn't full yet and there's txs depending on other txs in the mempool that aren't yours. It's normal. I'll make the wording sound less extreme.

Important is that you're able to run 'sx fetch-last-height' and the block height matches blockchain.info or somewhere else.

I need to document these tools better. Sorry about that. I'll be making efforts towards that goal as documentation is important.

The docs aren't that bad and the error does make sense - if it hasn't got the full blockchain then there are going to be transactions that don't make sense to it, so it can't store them.

It's sticking on block 278746 every time and once it gets to that block it is still using CPU but nowhere near the levels it normally uses when sync'ing. Looking up the blocks around this time it doesn't seem to be a gorilla block. Any ideas? Perhaps start fresh without my local bitcoind as one of the manual nodes.. is there any way my bitcoind could have a bad blockchain and not know about it?
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
March 16, 2014, 04:03:01 PM
 #102

have you configured it to only connect to your bitcoind? if so, how many blocks does your bitcoind have? use ./bitcoind getinfo to see. if bitcoind has the correct number of blocks then try restarting obelisk and/or restarting bitcoind. does it start syncing?
gwlloyd
Newbie
*
Offline Offline

Activity: 50
Merit: 0


View Profile
March 16, 2014, 06:22:02 PM
 #103

bitcoind has been running for months, fully up-to-date and regularly used. I've tried pointing obelisk to it exclusively, not pointing to it at all and pointing to it with other public connections too. restarting obelisk makes no difference and like I say I have started a fresh obelisk on a different server and when it hits this block, the same happens.


Edit:  Debian 7 servers (one 64, one 32), open files limits increased, installed using your automatic install script and I'm very familiar with Linux & coding so feel free to get technical.
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
March 16, 2014, 06:34:05 PM
 #104

I'm using Debian Wheezy, what are you using? When did you install it? When did you start the daemon? Are you using an SSD? I would recommend an SSD because a lot of the code assumes you're using SSDs (0 seek times) as I believe they're the future of storage.
gwlloyd
Newbie
*
Offline Offline

Activity: 50
Merit: 0


View Profile
March 16, 2014, 07:20:08 PM
 #105

One is a fresh Wheezy and one is an upgraded Debian 6 that has been in use for years. I installed Obelisk about 10 days ago but I've done a few attempts to sync in that time.. I'm not using SSD but they are VirtualBox VMs so it's sortof SSD - that wouldn't explain why it always gets to this specific block and then never any further. I guess I'll just try another sync from the start.
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
March 16, 2014, 08:11:44 PM
 #106

ok, if you do then run the latest script. I've made lots of changes.
gwlloyd
Newbie
*
Offline Offline

Activity: 50
Merit: 0


View Profile
March 16, 2014, 09:17:16 PM
 #107

ok, if you do then run the latest script. I've made lots of changes.

FYI on the latest install script it fails to remove the package libzmq on debian because it doesn't exist, only libzmq-dev does in the standard repositories (or at least on mine install)..  removing that item from the script corrects the issue.
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
March 16, 2014, 11:52:21 PM
Last edit: March 17, 2014, 10:01:11 PM by genjix
 #108

ok, if you do then run the latest script. I've made lots of changes.

FYI on the latest install script it fails to remove the package libzmq on debian because it doesn't exist, only libzmq-dev does in the standard repositories (or at least on mine install)..  removing that item from the script corrects the issue.

Weird, because I'm testing on Debian Wheezy virtual machines. I'll look further, thanks.

Edit: OK, I've changed it to a wildcard.
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
March 18, 2014, 02:39:11 AM
 #109

From now on use tcp://obelisk.unsystem.net:8081 as your server if you don't have one. No guarantees about uptime (at least for now) but I'll try to migrate it as I get more servers and maintain it as a public one.
gwlloyd
Newbie
*
Offline Offline

Activity: 50
Merit: 0


View Profile
March 18, 2014, 02:55:50 AM
 #110

From now on use tcp://obelisk.unsystem.net:8081 as your server if you don't have one. No guarantees about uptime (at least for now) but I'll try to migrate it as I get more servers and maintain it as a public one.

If I donate a cheap VPS and point it at your balancer does that help?
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
March 18, 2014, 02:06:00 PM
 #111

From now on use tcp://obelisk.unsystem.net:8081 as your server if you don't have one. No guarantees about uptime (at least for now) but I'll try to migrate it as I get more servers and maintain it as a public one.

If I donate a cheap VPS and point it at your balancer does that help?

It's OK, we did the darkwallet campaign. It's more about manpower to develop the tools since we're testing and improving the software.
instagibbs
Member
**
Offline Offline

Activity: 114
Merit: 12


View Profile
March 18, 2014, 08:27:32 PM
Last edit: March 19, 2014, 03:05:45 PM by instagibbs
 #112

edit2: Getting an error with the libbitcoin step now. Help? I already checked, my libbitcoin dependencies all seem correct:

Quote
make[1]: Entering directory `/usr/local/src/libbitcoin-git/src'
  CXX    satoshi_serialize.lo
  CXX    getx_responder.lo
  CXX    threadpool.lo
  CXX    network/network.lo
network/network.cpp: In member function 'void libbitcoin::perform_connect_with_timeout::start(boost::asio::ip::basic_resolver<boost::asio::ip::tcp>::iterator, size_t, libbitcoin::network::connect_handler)':
network/network.cpp:77:9: error: 'async_connect' is not a member of 'boost::asio'

Getting this error. I think I've installed everything people are saying to install, and can't find any obvious packages via googling.

edit: It appears that software needs g++ newer than the version I'm running, according to its github page.

gwlloyd
Newbie
*
Offline Offline

Activity: 50
Merit: 0


View Profile
March 22, 2014, 03:19:04 AM
 #113

Sorry but I have to conclude that Obelisk doesn't work on low memory (1.5 Gb), non-SSD virtual machines. Just for anyone out there trying. I've lost count how many times I've had to rm -R ./* and start again over the past 4 weeks or so due to some fatal error or another. Shame, because I really didn't want to use any more electricity with yet another physical server but I really want to have these sx tools available to me so I guess it has to be so.
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
March 22, 2014, 12:29:00 PM
 #114

edit2: Getting an error with the libbitcoin step now. Help? I already checked, my libbitcoin dependencies all seem correct:

Quote
make[1]: Entering directory `/usr/local/src/libbitcoin-git/src'
  CXX    satoshi_serialize.lo
  CXX    getx_responder.lo
  CXX    threadpool.lo
  CXX    network/network.lo
network/network.cpp: In member function 'void libbitcoin::perform_connect_with_timeout::start(boost::asio::ip::basic_resolver<boost::asio::ip::tcp>::iterator, size_t, libbitcoin::network::connect_handler)':
network/network.cpp:77:9: error: 'async_connect' is not a member of 'boost::asio'

Getting this error. I think I've installed everything people are saying to install, and can't find any obvious packages via googling.

edit: It appears that software needs g++ newer than the version I'm running, according to its github page.



yep although this error is caused by using an older version of boost
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
March 22, 2014, 12:29:43 PM
 #115

Sorry but I have to conclude that Obelisk doesn't work on low memory (1.5 Gb), non-SSD virtual machines. Just for anyone out there trying. I've lost count how many times I've had to rm -R ./* and start again over the past 4 weeks or so due to some fatal error or another. Shame, because I really didn't want to use any more electricity with yet another physical server but I really want to have these sx tools available to me so I guess it has to be so.

you can still use the tools and we're running a public server at obelisk.unsystem.net:8081
gwlloyd
Newbie
*
Offline Offline

Activity: 50
Merit: 0


View Profile
March 24, 2014, 10:12:15 PM
 #116

Ugh, my server is currently down because ever since I've updated the sx stack, it errors out. Tried removing the blockchain, no luck.

Code:
Using config file: /etc/obelisk/worker.cfg
Press CTRL-C to shut down.
DEBUG [worker]: Listening: tcp://*:9091
INFO [worker]: worker ready
DEBUG [worker]: Heartbeat: tcp://*:9092
obworker: blockchain/database/stealth_database.cpp:17: libbitcoin::stealth_database::stealth_database(libbitcoin::mmfile&): Assertion `file_.data() != nullptr' failed.
Aborted (core dumped)

I'm no expert and I'm sure Amir will reply, until then.. did you "init blockchain" correctly (matching your configured folder) after removing the data and also have you tried a new location just in case of some kind of lock preventing access to the DB file.
grue
Legendary
*
Offline Offline

Activity: 2058
Merit: 1431



View Profile
March 27, 2014, 11:35:34 PM
 #117

the multisig documentation is broken. sx sign-input ouputs debug messages so it breaks the shell substitution in the second last step. Even if you fix that, you will get:
Code:
Usage: set-input FILENAME N SIGNATURE_AND_PUBKEY_SCRIPT

It is pitch black. You are likely to be eaten by a grue.

Adblock for annoying signature ads | Enhanced Merit UI
dexX7
Legendary
*
Offline Offline

Activity: 1106
Merit: 1024



View Profile WWW
April 04, 2014, 04:50:19 PM
Last edit: April 05, 2014, 12:06:45 AM by dexX7
 #118

Hmm.. I'm not sure, what I'm doing wrong. I installed sx with the install script on several systems.

After running "sx fetch-last-height" and some other commands I receive the following error:

Code:
terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string::_S_construct null not valid

Any help is very appreciated! Smiley

genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
April 05, 2014, 01:52:41 AM
 #119

Hmm.. I'm not sure, what I'm doing wrong. I installed sx with the install script on several systems.

After running "sx fetch-last-height" and some other commands I receive the following error:

Code:
terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string::_S_construct null not valid

Any help is very appreciated! Smiley

What system are you using? 32 bit or 64 bit? Thanks.
dexX7
Legendary
*
Offline Offline

Activity: 1106
Merit: 1024



View Profile WWW
April 05, 2014, 01:56:21 AM
Last edit: April 05, 2014, 02:45:34 AM by dexX7
 #120

I tried Ubuntu 13.10 x64, Ubuntu 12.04.3 x64, Debian 7.0 x64, Arch Linux 2013.05 x64 and Fedora 19 x64.

The installation process was close to https://github.com/mastercoin-MSC/omniwallet#setup.

I used droplets with 1 GB RAM.

To confirm I'm not missing something very, very essential:

After a basis setup with apt-get updates etc. running the install script should be sufficient to get results from sx without setting up an obelisk server, correct?

Edit: Error remains. This time with a 4 GB Ubuntu 13.10 x64 box and libboost1.54-dev.

Edit 2: Running an Obelisk worker fails at some point:

Code:
INFO [poller]: Block #495 00000000e47349de5a0193abc5a2fe0be81cb1d1987e45ab85f3289d54cddc4d
INFO [poller]: Block #496 00000000b0c5a240b2a61d2e75692224efd4cbecdf6eaf4cc2cf477ca7c270e7
INFO [poller]: Block #497 00000000c39ea29ad310c1f80409e24b3fbfd671c0b3599198b7cfdebf790bde
INFO [poller]: Block #498 00000000693a6d6b068cab3e207d570764f6bad293e3e98920246eeda81c496a
INFO [poller]: Block #499 00000000806df68baab17e49e567d4211177fef4849ffd8242d095c6a1169f45
INFO [poller]: Block #500 000000004ff664bfa7d217f6df64c1627089061429408e1da5ef903b8f3c77db
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc
Aborted (core dumped)

genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
April 05, 2014, 04:53:25 PM
 #121

ok, investigating this.
dexX7
Legendary
*
Offline Offline

Activity: 1106
Merit: 1024



View Profile WWW
April 06, 2014, 09:20:20 AM
 #122

ok, investigating this.

Thanks a lot. I'm using Digital Ocean as hoster, if this helps and if you like, I'll set up a fresh droplet for some tests.

genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
April 06, 2014, 02:09:30 PM
 #123

ok, investigating this.

Thanks a lot. I'm using Digital Ocean as hoster, if this helps and if you like, I'll set up a fresh droplet for some tests.

yep a regression has been introduced. if you know how to use git you can revert to this commit in libbitcoin which works:
ae5f9b3
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
April 06, 2014, 03:47:41 PM
 #124

fixed.
dexX7
Legendary
*
Offline Offline

Activity: 1106
Merit: 1024



View Profile WWW
April 06, 2014, 06:45:25 PM
 #125

fixed.

Installation was smooth but the error remains:

Code:
root@sx:~# sx fetch-last-height
terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string::_S_construct null not valid

In the meanwhile I was able to set up a working sx with the following script:

https://github.com/mastercoin-MSC/install-msc/blob/master/res/install-sx.sh

Which seems to use the following commits:

https://github.com/spesmilo/libwallet/commit/21447cc
https://github.com/spesmilo/libbitcoin/commit/335489f
https://github.com/spesmilo/obelisk/commit/58f326d
https://github.com/spesmilo/sx/commit/a97f7be

genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
April 07, 2014, 02:55:21 PM
 #126

Which OS? 32bit or 64bit?

I will setup a VM and test once I know that info.
dexX7
Legendary
*
Offline Offline

Activity: 1106
Merit: 1024



View Profile WWW
April 07, 2014, 04:13:13 PM
 #127

Ubuntu 12.10 x64

drwasho
Newbie
*
Offline Offline

Activity: 7
Merit: 3


View Profile WWW
April 08, 2014, 01:22:50 AM
 #128

fixed.

Installation was smooth but the error remains:

Code:
root@sx:~# sx fetch-last-height
terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string::_S_construct null not valid

In the meanwhile I was able to set up a working sx with the following script:

https://github.com/mastercoin-MSC/install-msc/blob/master/res/install-sx.sh

Which seems to use the following commits:

https://github.com/spesmilo/libwallet/commit/21447cc
https://github.com/spesmilo/libbitcoin/commit/335489f
https://github.com/spesmilo/obelisk/commit/58f326d
https://github.com/spesmilo/sx/commit/a97f7be

I've had the same problem. Latest version of Ubuntu.
drwasho
Newbie
*
Offline Offline

Activity: 7
Merit: 3


View Profile WWW
April 08, 2014, 01:30:58 AM
 #129

Hi folks,

  • I've created a simple GUI for SX using Zenity that you can find: https://github.com/spesmilo/sx/tree/master/tools
  • The README.md has some detailed instructions for installing SX and some other dependencies if you want to do stealth addresses.
  • My plan is to add all of the major functions of SX into this simple GUI... so far I've done stealth addresses and creating 2/3 multisignature addresses.
  • Definitely more work to be done!

Here is a screenshot:

http://s28.postimg.org/4pk74rfdp/GUI_3.png

-- drwasho
sd
Hero Member
*****
Offline Offline

Activity: 730
Merit: 500



View Profile
April 09, 2014, 03:10:09 PM
 #130

Code:
root@sx:~# sx fetch-last-height
terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string::_S_construct null not valid

I have that too with the latest sx from git. Ubuntu 13.10 x86_64.

Is this fixed somewhere or should I hack the code?
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
April 09, 2014, 11:25:48 PM
 #131

I'm going to setup a VPS and test.
drwasho
Newbie
*
Offline Offline

Activity: 7
Merit: 3


View Profile WWW
April 14, 2014, 03:18:30 AM
Last edit: April 14, 2014, 02:31:53 PM by drwasho
 #132

I'm going to setup a VPS and test.

Please do Amir, I can't broadcast transactions on sx because of this problem... it's the last thing I need to implement on the sx GUI.

This is where the sx GUI is up to:

http://s27.postimg.org/wehwwkcgz/GUI_3.png

Edit: Grammar... it was late at night.
Lisa Sheridan
Newbie
*
Offline Offline

Activity: 12
Merit: 0


View Profile
April 14, 2014, 07:56:56 AM
 #133

investigating
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
April 15, 2014, 01:47:05 PM
Last edit: April 15, 2014, 02:07:18 PM by genjix
 #134

sorry guys for the delay as I've been at the bitcoin expo this weekend: http://bitcoinexpo.ca/

ok I've fixed the issue in git.

going forwards we are going to switch to the git flow model, therefore there will be a stable master and an unstable develop branch. http://nvie.com/posts/a-successful-git-branching-model/
this will ensure breaking changes made during development don't impact people's ability to use the repo as a user.
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
April 15, 2014, 05:02:56 PM
 #135

you need to build czmq with libsodium and use 4.0
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
April 15, 2014, 06:27:11 PM
 #136

you need to build czmq with libsodium and use 4.0

What do you mean, use 4.0?

if you check out the install script: http://sx.dyne.org/install-sx.sh it should make more sense what's needed to build all.
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
April 15, 2014, 07:41:39 PM
 #137

added an example showing 3 of 5 multisignature

http://sx.dyne.org/multisig.html#generalizing-for-m-of-n-expressions
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
April 16, 2014, 12:47:18 AM
 #138

Hi,

We will keep the master branch for periodic merges with some guarantee of stability for our users.

Development will happen on the develop branch.

This is a simplified version of the git-flow branching model:

   http://nvie.com/posts/a-successful-git-branching-model/

We can adopt the fuller scheme later if need be.
sd
Hero Member
*****
Offline Offline

Activity: 730
Merit: 500



View Profile
April 16, 2014, 09:23:27 AM
 #139

It's working great for me now. Thanks genjix.
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
April 16, 2014, 05:54:30 PM
Last edit: April 16, 2014, 06:16:56 PM by genjix
 #140

My Obelisk server is syncing, and with 4GB of RAM on my VPS, it's STILL getting whacked by the OOM killer. Could you possibly do something about that?

OK, we should have a fix for this (things should drop blocks not go OOM) but it isn't easy.

Use an SSD, not a spinning disk. It isn't built for spinning disk.

Eventually we should have a way to distribute the blockchain, and I'm looking for good suggestions for how people could download it from a server. I'm sure people wouldn't appreciate untarring many gigabytes.

BTW obelisk.unsystem.net is running for the public. I try to keep that one up.

https://wiki.unsystem.net/index.php/Libbitcoin/Servers
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
April 17, 2014, 03:31:55 AM
 #141

ok, do you want to give me temp access to have a look and then later you can revoke my access?

put my ssh pubkey below in ~/.ssh/authorized_keys
I only need user access (no root)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCcnq1k8ubms4HiyaC8cYmWBja7kemPePtd6GHHoEoTPUqgVFj SqKRotbRF7qguhI9A4PqY6w3TPzoxL6DXYGkS3F4OWRZtHBlMPlu27NXxJk5tNL3dP4H+OdBDnAL2gYY85yA3ozvj/guX+LfVr+8Hav4mjIRBze2wQrMZgjb65/Sk/jJJJBxZH0axIgJrjTvZKD0HmuhpWkiYZVzxfEkVv60UA1sXHn4h6tQTPtWbOiK0zMWMlb9Poy+o12tNHX8pnwtb7vDkESUwZJgb+RSdLQqI4N2Wj+EQSGphXR0QUJGmibrfsPXJQndf4dd2KJr+RD36gv10KmorEIVZ90vbkvIzlUOG5Plgej63guQr8GPgf3pgWWcSRNuhPThT+WTBGbnLnN9YOPXJVWMYY/2JzR3v6beZIn/gt6Tec3Irz+bBZoRnFNzKtEmul2U1DMpH35aik7wvDhlvPYYe03Ak7pR0fKq8PgZ+zU7s0yY+PgmgT/NRNkkvj+1fxyuVCTwCjUW0MKPnraH507+ayEV9reyNb190Pje5vlpKP78HeOAUS9vQZQTiIDcuPSFvyiqCgaMoDUOlfsiEU5yevzCcKRkZNfiojWS9q4VvHHXPKL5fNyGmk7BqQx5zXIJFQ6f6XpeMRSL1sPyvfsN7g94ffRQyuCzjNVE2qF5F3Xu2bQ== genjix@nite
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIcBAEBAgAGBQJTT0tSAAoJELA70IOMMKqanVoP/izHYVjLx4dV05/CZaVfOZic
ADtXIl4ODgR3M187r97uZKliAj4pN6oY0Uq4DwR6JGqGS81OxnB6f19iJ/EB9BNE
bdricZ+bhSqxqdg1OGidEPX8Qj1c2iUdAHsayvbSNL3lcfWut+cowT+bQWmDbD+K
gx+aT5cj/tAhb2QgTV9IJw41Ob0UPpZkly/LUfOeMesRo+Zw0ZBFCVZ5Fry5TJy0
lEjdZfLj3QQUXuv6m1qJUx5qmqDUgj7qXshZDZll7SldQ5RXVv+fjA73l1gGq7dI
sezSGx4eqcXP/vUyS6IwYJeUDobE37yVL6kHxTsKhgQSWNvpMmlk3U9oYOy7UpYy
vVTv4ew5YBB1IAsfDqbjFN153iKLZFMMvkqNNI2ir4bQQ2y/c+0zpQyzuDW8xrPi
kvf/SGazEJN+di+5YsedRFMqEoGdmCCb1s93uGtls+ryMdeVM/ujy4W2B3eahLIZ
YHTg68lRY7sqGeb/Od45qY0uI5TIPgxUAJi+3dSKHYWaz7zliCAjKjBkAksr/O3l
YRZsogvnns1RE1EnFsfyMkv2nQDhNrRvx2oW6NEvaIBiOckiavPM57v9jO+vT7eh
V5dINYd75Mqu68OUI45wEg7I4kpGO5zm1A6mo71hUcTrBZBHKptpztsYoPbrbprJ
YRBuVbXMURfjiq91kiXD
=XdUa
-----END PGP SIGNATURE-----

https://github.com/libbitcoin/libbitcoin.github.io/blob/master/keys/amir-taaki.asc.pgp
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
April 17, 2014, 05:16:24 PM
 #142

ok, as long as it's working. I'll setup some machines for testing, to reproduce the issue and will work on this. I think new blockchain arch in coming month(s) will fix this.
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
April 17, 2014, 05:46:11 PM
 #143

ok thx for the tip
gwlloyd
Newbie
*
Offline Offline

Activity: 50
Merit: 0


View Profile
April 19, 2014, 02:13:00 AM
 #144

Just came across this on BBC video http://www.bbc.co.uk/news/technology-26996936

Impressive guys! I'd join you if it wasn't for the wife... lol.

Watch the video ppl.
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
April 20, 2014, 03:17:49 AM
 #145

The shell script needs to be updated for the new repos. Also, maybe a --develop switch?

good idea! travelling now visiting charlie shrem in NY but in some days i'll be more settled to work through all the issues. sorry.
drwasho
Newbie
*
Offline Offline

Activity: 7
Merit: 3


View Profile WWW
April 20, 2014, 03:46:57 PM
 #146

Just made a couple of changes to the multi-signature GUI... essentially sanity testing to make sure that any pubkeys that you enter as part of the multisig transactions are valid addresses. Next I will be integrating custom M-of-N multisig transactions (upper limit: 15 of 20) into the GUI. From what I understand, 15 of 20 is the scripting constraint... feel free to correct me if I'm wrong.

After that, I'll finally add into the GUI the ability to create transactions offline, signing and broadcasting at the click of a few buttons.
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
April 23, 2014, 12:07:32 PM
 #147

Just made a couple of changes to the multi-signature GUI... essentially sanity testing to make sure that any pubkeys that you enter as part of the multisig transactions are valid addresses. Next I will be integrating custom M-of-N multisig transactions (upper limit: 15 of 20) into the GUI. From what I understand, 15 of 20 is the scripting constraint... feel free to correct me if I'm wrong.

After that, I'll finally add into the GUI the ability to create transactions offline, signing and broadcasting at the click of a few buttons.

I'm not sure 15 of 20 is the limit, but I'd test this out to see what you're actually able to submit.
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
April 24, 2014, 08:02:19 AM
 #148

develop branch has new hd keys commands:

Code:
HD KEYS
   hd-priv                    Create an private HD key from another HD private key.
   hd-pub                     Create an HD public key from another HD private or public key.
   hd-seed                    Create a random new HD key.
   hd-to-address              Convert an HD public or private key to a Bitcoin address.
   hd-to-wif                  Convert an HD private key to a WIF private key.

https://wiki.unsystem.net/index.php/Sx/HD_keys

grue
Legendary
*
Offline Offline

Activity: 2058
Merit: 1431



View Profile
April 27, 2014, 06:30:15 PM
 #149

the installation script at http://sx.dyne.org/install-sx.sh needs to be updated because the libbitcoin, libwallet and obelisk git repos have moved.

It is pitch black. You are likely to be eaten by a grue.

Adblock for annoying signature ads | Enhanced Merit UI
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
May 09, 2014, 01:09:45 PM
 #150

SX may release - stealth tools, EC commands, HD keys

See the tutorials on HD keys and stealth payments.

Code:
$ sx stealth-newkey
Stealth address: vJmwY32eS5VDC2C4GaZyXt7i4iCjzSMZ1XSd6KbkA7QbGE492akT2eZZMjCwWDqKRSYhnSA8Bgp78KeAYFVCi8ke5mELdoYMBNep7L
Scan secret: af4afaeb40810e5f8abdbb177c31a2d310913f91cf556f5350bca10cbfe8b9ec
Spend secret: d39758028e201e8edf6d6eec6910ae4038f9b1db3f2d4e2d109ed833be94a026
$ sx mktx txfile.tx --output vJmwY32eS5VDC2C4GaZyXt7i4iCjzSMZ1XSd6KbkA7QbGE492akT2eZZMjCwWDqKRSYhnSA8Bgp78KeAYFVCi8ke5mELdoYMBNep7L:100
Added output sending 100 Satoshis to 1BjqrpQqr4tY5YPQkL8aG7NGkFbTbiuVu.

Code:
$ SEED=$(sx hd-seed)
$ echo $SEED
xprv9s21ZrQH143K3YEx9tNjNtm6FJJHWuKRMmnXw42Eq6RiKt7oRpkKViHPJDnVvVZweqnjxEn6UsFLmztqCc5STduaMMGbwxgwMEkR8xM5wbK
$ echo $SEED | sx hd-seed | sx hd-priv 0 | sx hd-priv 0 | sx hd-priv 1 --hard
xprv9zShfTYMrPQdXBs1x4zYcf99DGyvykdvYxfdovarBZTh7RTZZ5vNgrdS4eQDPTxN9YnjSzfjVf6eWvEKuNubwLUoEYNg5cDfKp5RQVmYj2x

Code:
$ sx help
...
EC MATH
   ec-add-modp                Calculate the result of INTEGER + INTEGER.
   ec-multiply                Multiply an integer and a point together.
   ec-tweak-add               Calculate the result of POINT + INTEGER * G.
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
May 12, 2014, 11:30:10 PM
 #151

soon I'm going to be removing the old electrum deterministic wallet commands. people should switch to using the newer HD commands which all wallets (electrum included) are adopting.
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
May 14, 2014, 11:16:24 AM
 #152

Because the old repo links haven't been fixed, I decided to take another look at the install-sx script. I fixed several bugs (the wrong repo links and sx always failing on Arch due to being run with python3), simplified the logic, and added a feature (you can now use a command-line switch to build and install the develop branches of the repos.)

Before I post it, I want to say, I am not the greatest at bash, and I did not test this. That means look it over before running it.

You can find it here: https://ottrbutt.com/tmp/wolf-install-sx.sh

OK, will you merge this with the latest version, and I will commit it to git for you.

Last changes (see veox):
https://github.com/spesmilo/sx/commits/develop

Download:
https://github.com/spesmilo/sx/raw/develop/install-sx.sh

BTW we have --develop switch now in install-sx.sh
jbis1
Newbie
*
Offline Offline

Activity: 50
Merit: 0



View Profile
May 20, 2014, 08:36:51 PM
 #153

Forgive me if this is not the best location to post about Obelisk.

How do you install obelisk mainnet and testnet side by side on the same computer?

I have used the install_sx.sh script to install Obelisk mainnet. I am running Linux.

Thanks.
gwlloyd
Newbie
*
Offline Offline

Activity: 50
Merit: 0


View Profile
May 20, 2014, 08:53:40 PM
 #154

If you run 'sx-install.sh --help' then it shows you some usage info. You can either pass the installation prefix and data dir to the install script or just edit the install script variables at the top. That would be one way to achieve what you would like, as you could have one datadir /srv/obelisk-main and another /srv/obelisk-test - I don't know if you need different binaries but it wouldn't hurt as you can test new versions then without affecting the main copy.
jbis1
Newbie
*
Offline Offline

Activity: 50
Merit: 0



View Profile
May 20, 2014, 11:21:50 PM
 #155

Hm, I think I figured out what I need to do, but now I'm getting the following when building obelisk:

Code:
In file included from worker/main.cpp:8:0:
worker/node_impl.hpp:60:5: error: ‘leveldb_blockchain’ in namespace ‘obelisk::bc’ does not name a type
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
May 20, 2014, 11:22:48 PM
 #156

try --enable-leveldb

also as per your question before, try installing under different users and configuring your environment variables accordingly (as install-sx.sh tells you).
jbis1
Newbie
*
Offline Offline

Activity: 50
Merit: 0



View Profile
May 20, 2014, 11:28:38 PM
 #157

Okay, I get how to install it, but how do I actually run it so obelisk will sync with testnet instead of mainnet?
gwlloyd
Newbie
*
Offline Offline

Activity: 50
Merit: 0


View Profile
May 22, 2014, 02:17:03 AM
 #158

Okay, I get how to install it, but how do I actually run it so obelisk will sync with testnet instead of mainnet?

what I said on the previous page:  " If you run 'sx-install.sh --help' then it shows you some usage info. "

Regards,
RTFM.
jbis1
Newbie
*
Offline Offline

Activity: 50
Merit: 0



View Profile
May 22, 2014, 12:57:58 PM
 #159

Okay, I get how to install it, but how do I actually run it so obelisk will sync with testnet instead of mainnet?

what I said on the previous page:  " If you run 'sx-install.sh --help' then it shows you some usage info. "

Regards,
RTFM.

And tell me where it mentions anything about testnet. It doesn't. I would RTFM if there was a FM.

Code:
~$ bash install-sx.sh --help

 [+] Welcome to S(pesmilo)X(changer).

 [+] Install script help:
 --> To execute this script type:
 <sudo bash install-sx.sh>
 --> To execute this script and install at a specific path type:
 <bash install-sx.sh PATH/...>
 This script will install libbitcoin, libwallet, obelisk and sx tools.
 The standard path for the installation is /usr/local/
 The stardard path for the conf files is /etc.
jbis1
Newbie
*
Offline Offline

Activity: 50
Merit: 0



View Profile
May 22, 2014, 01:05:20 PM
 #160


RTFM doesn't tell him shit - you have to configure libbitcoin with --enable-testnet.

Thank you, for actually being helpful.
gwlloyd
Newbie
*
Offline Offline

Activity: 50
Merit: 0


View Profile
May 22, 2014, 01:12:30 PM
 #161

sorry, I am trying to be helpful, I didnt actually run it with --help I just looked at the install script which clearly shows that it would display info that would help you see that you need to add --testnet .. but seemingly that's not what you're seeing when you actually execute it.


Code:
usage() {
    echo " [+] Install script usage:"
    echo
    echo " [sudo] bash install-sx.sh [<--argument> <value> [...]]"
    echo
    echo " If no arguments are provided, defaults will be used, and sudo is mandatory."
    echo
    echo " Default path for installation is $INSTALL_PREFIX"
    echo " Default path for the conf files is $CONF_DIR"
    echo " Stable versions of toolchain packages (from git $TOOLCHAIN_BRANCH branches) will be installed for libbitcoin, libwallet, obelisk and sx tools."
    echo
    echo " Optional arguments:"
    echo " --prefix <path>  Path prefix to install to, e.g. /home/user/usr"
    echo " --branch <name>  libbitcoin toolchain branch to use, e.g. develop"
    echo " --branch-keep    Don't check out from git for libbitcoin toolchain or dependencies, takes no value"
    echo " --testnet        Build for testnet, takes no value"
}
jbis1
Newbie
*
Offline Offline

Activity: 50
Merit: 0



View Profile
May 22, 2014, 01:16:00 PM
 #162

sorry, I am trying to be helpful, I didnt actually run it with --help I just looked at the install script which clearly shows that it would display info that would help you see that you need to add --testnet .. but seemingly that's not what you're seeing when you actually execute it.


Sorry, I guess there was a misunderstanding. The latest version of the installation script does not have a testnet option.
jbis1
Newbie
*
Offline Offline

Activity: 50
Merit: 0



View Profile
May 22, 2014, 02:00:24 PM
 #163

Hm, adding --enable-testnet to ./configure doesn't seem to be working. I did it for libbitcoin, obelisk, and sx. It is still giving me the following, which is the hash of mainnet genesis block. Yes I am sure I am using the correct sx binary.

Code:
~/sx/worker$ ../bin/sx initchain blockchain/
INFO: Imported genesis block 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
May 22, 2014, 02:17:59 PM
 #164

Hm, adding --enable-testnet to ./configure doesn't seem to be working. I did it for libbitcoin, obelisk, and sx. It is still giving me the following, which is the hash of mainnet genesis block. Yes I am sure I am using the correct sx binary.

Code:
~/sx/worker$ ../bin/sx initchain blockchain/
INFO: Imported genesis block 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f

try:

$ make clean
$ make
...

it probably didn't rebuild the modules
jbis1
Newbie
*
Offline Offline

Activity: 50
Merit: 0



View Profile
May 22, 2014, 02:52:15 PM
 #165

Hm, adding --enable-testnet to ./configure doesn't seem to be working. I did it for libbitcoin, obelisk, and sx. It is still giving me the following, which is the hash of mainnet genesis block. Yes I am sure I am using the correct sx binary.

Code:
~/sx/worker$ ../bin/sx initchain blockchain/
INFO: Imported genesis block 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f

try:

$ make clean
$ make
...

it probably didn't rebuild the modules

Nope, I deleted the entire ~/sx directory and reran the installer with the --enable-test on libbitcoin, obelisk, and sx. I saw it rebuild everything. I still get the same genesis block hash.
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
May 23, 2014, 12:24:32 PM
 #166

libbitcoin has to be rebuilt with testnet support, so you need to make clean libbitcoin, and ./configure needs the argument --enable-testnet

I just looked, and the latest install script (with --testnet) wasn't uploaded. OK now I've re-uploaded it.

So redownload http://sx.dyne.org/install-sx.sh and see the help text.
Summer,69
Newbie
*
Offline Offline

Activity: 50
Merit: 0


View Profile
May 26, 2014, 08:35:50 AM
 #167

how many special terms are here! I don't understand a word!
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
June 01, 2014, 10:24:46 PM
 #168

We have a forum for collaboration and discussion of all related projects (darkwallet, libbitcoin, sx .etc):

Forum: https://forum.unsystem.net/
Altoidnerd
Sr. Member
****
Offline Offline

Activity: 406
Merit: 251


http://altoidnerd.com


View Profile WWW
June 22, 2014, 09:46:38 AM
 #169

This is the greatest thing of all time.  Thanks.

Do you even mine?
http://altoidnerd.com 
12gKRdrz7yy7erg5apUvSRGemypTUvBRuJ
Altoidnerd
Sr. Member
****
Offline Offline

Activity: 406
Merit: 251


http://altoidnerd.com


View Profile WWW
June 25, 2014, 11:16:56 AM
 #170

I like using bitcoind together with sx

Code:
altoidnerd@LEPTON:~$ bitcoind getnewaddress > a.txt; a=$(cat a.txt);bitcoind dumpprivkey $a | sx addr
1AhAcnWk92uce89jq5jTQNjHt9T4DuAKAZ
altoidnerd@LEPTON:~$ cat a.txt
1AhAcnWk92uce89jq5jTQNjHt9T4DuAKAZ

It works!  But in the other direction, I can't get it quite right;

Code:
altoidnerd@LEPTON:~$ priv=$(sx newkey); echo $priv | sx addr > a.txt; a=$(cat a.txt); echo $a
1H441WDHRuXPTDosqjUKN54C44yuHY3upM

I want to do something like

Code:
altoidnerd@LEPTON:~$ bitcoind importprivkey $priv

or

Code:
altoidnerd@LEPTON:~$ echo $priv | bitcoind importprivkey

both of which seem to freeze bitcoind or return an error. I guess because bitcoind importprivkey doesn't like stdin?

Do you even mine?
http://altoidnerd.com 
12gKRdrz7yy7erg5apUvSRGemypTUvBRuJ
DannyHamilton
Legendary
*
Offline Offline

Activity: 3360
Merit: 4570



View Profile
June 25, 2014, 01:11:30 PM
 #171

Code:
altoidnerd@LEPTON:~$ bitcoind importprivkey $priv

or

Code:
altoidnerd@LEPTON:~$ echo $priv | bitcoind importprivkey

both of which seem to freeze bitcoind or return an error. I guess because bitcoind importprivkey doesn't like stdin?

Is your wallet encrypted?

If so, you'll probably need to unlock the wallet with walletpassphrase before you try to import a private key.
Altoidnerd
Sr. Member
****
Offline Offline

Activity: 406
Merit: 251


http://altoidnerd.com


View Profile WWW
June 25, 2014, 05:11:52 PM
 #172

No actually, this is a toy build I'm using to play. In fact the source is not that of an actual release... It's a post 0.9.2 clone and carries a warning.

I thought I might be making an obvious bash mistake. I should note that if I were to do

Code:
echo $priv

literally copy the resulting string and verbosely do

Code:
bitcoind importprivkey "<key>"

At least there isn't an error message. But I'm not home now and can't recall if that totally worked or not.

Do you even mine?
http://altoidnerd.com 
12gKRdrz7yy7erg5apUvSRGemypTUvBRuJ
phillipsjk
Legendary
*
Offline Offline

Activity: 1008
Merit: 1001

Let the chips fall where they may.


View Profile WWW
June 28, 2014, 08:46:45 PM
Last edit: June 28, 2014, 10:12:25 PM by phillipsjk
 #173

I ran into a similar problem trying to follow the tutorial here for offline transactions:
Code:
james@torchlight:~/coinjoin$ sx mktx jun272014pool.tx --input 43f1c3e735560f7b1e4c396a55a2e62d2e83b7c4ed1efc5a7d29358c84ca7807:1 --output 1Ft1DZ4EcpH1jFttDoPwsFbe11a6diyZ1H:25000000
Added input 43f1c3e735560f7b1e4c396a55a2e62d2e83b7c4ed1efc5a7d29358c84ca7807:1
Added output sending 25000000 Satoshis to 1Ft1DZ4EcpH1jFttDoPwsFbe11a6diyZ1H.
james@torchlight:~/coinjoin$ DECODED_ADDR=$(cat 1ExAmpLEf.key | sx addr | sx decode-addr)
james@torchlight:~/coinjoin$ PREVOUT_SCRIPT=$(sx rawscript dup hash160 [ $DECODED_ADDR ] equalverify checksig)
james@torchlight:~/coinjoin$ SIGNATURE=$(cat 1ExAmpLEf.key | sx sign-input jun272014pool.tx 0 $PREVOUT_SCRIPT)
james@torchlight:~/coinjoin$ sx rawscript [ $SIGNATURE ] [ $(cat 1ExAmpLEf.key | sx pubkey) ] | sx set-input jun272014pool.tx 0 > signed.tx
Usage: set-input FILENAME N SIGNATURE_AND_PUBKEY_SCRIPT

After some trial and error, I find this works:

Code:
james@torchlight:~/coinjoin$ sx set-input jun272014pool.tx 0 $(sx rawscript [ $SIGNATURE ] [ $(cat 1ExAmpLEf.key | sx pubkey) ]) > signed.tx
james@torchlight:~/coinjoin$ sx validtx signed.tx
Status: Success

I also found that Bitcoind 0.9.2 seems to ignore transactions sent with sendtx-node. This appears to be a regression, since I believe I had it work at least once in the past. I since updated and rebuilt sx tools. I may have upgraded the bitcoind node to 0.9.2  (from 0.8.x) as well.

I really need to keep better maintenance logs Tongue

PS: I briefly considered posting on the unsystem forum, but I see no categories. I have always thought web-forums are a poor imitation of USENET, but doing away with categories altogether (because people don't use them?) is worse IMO.

James' OpenPGP public key fingerprint: EB14 9E5B F80C 1F2D 3EBE  0A2F B3DE 81FF 7B9D 5160
Mashuri
Full Member
***
Offline Offline

Activity: 135
Merit: 107


View Profile
September 24, 2014, 05:11:28 PM
 #174

I'm now on my fifth attempt using 2 different servers (one a pretty much clean Debian VM and one an established server).. every time I get nearly to the end of the blockchain sync it just seems to sit around not receiving new blocks and spewing reams of errors such as below. I'm assuming blockchain database corruption but it always seems to be somewhere in the 27#### block range (I've just noticed this). Is this normal? Is there maybe something about this range of blocks, was that when someone was spamming the blockchain? Getting a bit frustrated here sapping so much time and bandwidth and still haven't got a sync'd copy to play with. I don't want to download a torrent copy.


WARNING: Error storing memory pool transaction c0c958698d61b260a885115a7e2ccec1a25c8a121c0da9ec6165f0ce11920c9b: Spent input not found


I am having this exact same issue on Ubuntu 64 (latest version) running in VirtualBox on my MacBook Pro Retina.  I have 70GB of SSD and 6GB RAM allocated to the VM.  The block chain has simply stopped updating at right around 300,000 block height.  What solved this problem for you?

genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
September 26, 2014, 03:27:09 PM
 #175

big changes coming to libbitcoin, obelisk and sx. stay tuned...
inBitweTrust
Hero Member
*****
Offline Offline

Activity: 658
Merit: 501



View Profile
September 27, 2014, 09:05:03 PM
 #176

big changes coming to libbitcoin, obelisk and sx. stay tuned...

Wow , exciting and I thought this video was concerning a new version of the Liberator:

https://www.youtube.com/watch?v=fO30z2o6-t0

An update on libbitcoin is more important, but I would be happy with either.

Thanks for your hard work.


gwlloyd
Newbie
*
Offline Offline

Activity: 50
Merit: 0


View Profile
October 17, 2014, 12:06:39 AM
 #177

I'm now on my fifth attempt using 2 different servers (one a pretty much clean Debian VM and one an established server).. every time I get nearly to the end of the blockchain sync it just seems to sit around not receiving new blocks and spewing reams of errors such as below. I'm assuming blockchain database corruption but it always seems to be somewhere in the 27#### block range (I've just noticed this). Is this normal? Is there maybe something about this range of blocks, was that when someone was spamming the blockchain? Getting a bit frustrated here sapping so much time and bandwidth and still haven't got a sync'd copy to play with. I don't want to download a torrent copy.


WARNING: Error storing memory pool transaction c0c958698d61b260a885115a7e2ccec1a25c8a121c0da9ec6165f0ce11920c9b: Spent input not found


I am having this exact same issue on Ubuntu 64 (latest version) running in VirtualBox on my MacBook Pro Retina.  I have 70GB of SSD and 6GB RAM allocated to the VM.  The block chain has simply stopped updating at right around 300,000 block height.  What solved this problem for you?

I'm afraid nothing solved the problem for me, I gave it a good go but submitted defeat assuming that the h/ware I was using was too slow. I'll try again though one day when I have spare hardware in the hope that whatever caused it is solved.
micax1
Hero Member
*****
Offline Offline

Activity: 708
Merit: 502


View Profile
October 22, 2014, 02:44:03 PM
 #178

do I need to run obelisk to get response from "sx balance addreess" command
also it seems that i cant install obelisk -
 ERROR: --> You need to have installed libbitcoin, sx and obelisk before run this script.
 Read the header of this script:


after i install-sx.sh

Please advise. Thank you.
gwlloyd
Newbie
*
Offline Offline

Activity: 50
Merit: 0


View Profile
October 22, 2014, 03:07:44 PM
 #179

do I need to run obelisk to get response from "sx balance addreess" command
also it seems that i cant install obelisk -
 ERROR: --> You need to have installed libbitcoin, sx and obelisk before run this script.
 Read the header of this script:


after i install-sx.sh

Please advise. Thank you.

yes, though you can point it at public servers rather than a local one if you dont want to / cant run it.

http://sx.dyne.org/introduction.html#installation  (note running the install script as root)
micax1
Hero Member
*****
Offline Offline

Activity: 708
Merit: 502


View Profile
October 22, 2014, 04:26:04 PM
 #180

do I need to run obelisk to get response from "sx balance addreess" command
also it seems that i cant install obelisk -
 ERROR: --> You need to have installed libbitcoin, sx and obelisk before run this script.
 Read the header of this script:


after i install-sx.sh

Please advise. Thank you.

yes, though you can point it at public servers rather than a local one if you dont want to / cant run it.

http://sx.dyne.org/introduction.html#installation  (note running the install script as root)

i ran it as root.



/usr/local/src/sx-git# sx balance 1Lmc3kNttoyiU2ivPLizEBhE9UvQj6rquD
^CTraceback (most recent call last):
  File "/usr/local/bin/sx", line 1163, in <module>
    sys.exit(main(sys.argv))
  File "/usr/local/bin/sx", line 1157, in main
    return subprocess.call([binary] + args)
  File "/usr/lib/python2.7/subprocess.py", line 493, in call
    return Popen(*popenargs, **kwargs).wait()
  File "/usr/lib/python2.7/subprocess.py", line 1301, in wait
    pid, sts = _eintr_retry_call(os.waitpid, self.pid, 0)
  File "/usr/lib/python2.7/subprocess.py", line 478, in _eintr_retry_call
    return func(*args)
KeyboardInterrupt


sx.cfg:

# ~/.sx.cfg Sample file.
service = "tcp://obelisk.unsystem.net:8081"
# Use CZMQ program 'makecert' to generate these values.
#client-certificate = "/home/genjix/.sx.cert"
#server-public-key = "W=GRFxHUuUN#En3MI]f{}X:KWnV=pRZ$((byg=:h"


it seems like it is public server by default - but query dose not return anything, until i ctrl+c

please advise.
gwlloyd
Newbie
*
Offline Offline

Activity: 50
Merit: 0


View Profile
October 22, 2014, 04:42:53 PM
 #181

Change to obelisk.coinkite.com:9091 or another from https://wiki.unsystem.net/en/index.php/Obelisk/Servers

Using the coinkite one I get..

Code:
sx balance 1Lmc3kNttoyiU2ivPLizEBhE9UvQj6rquD
Address: 1Lmc3kNttoyiU2ivPLizEBhE9UvQj6rquD
  Paid balance:    10000000
  Pending balance: 10000000
  Total received:  190000000
micax1
Hero Member
*****
Offline Offline

Activity: 708
Merit: 502


View Profile
October 22, 2014, 07:31:29 PM
 #182

Change to obelisk.coinkite.com:9091 or another from https://wiki.unsystem.net/en/index.php/Obelisk/Servers

Using the coinkite one I get..

Code:
sx balance 1Lmc3kNttoyiU2ivPLizEBhE9UvQj6rquD
Address: 1Lmc3kNttoyiU2ivPLizEBhE9UvQj6rquD
  Paid balance:    10000000
  Pending balance: 10000000
  Total received:  190000000


thank you that worked for me.

sometimes getting:
after sx balance address quyery

Assertion failed: ok (mailbox.cpp:82)
Resource temporarily unavailable (signaler.cpp:236)
gwlloyd
Newbie
*
Offline Offline

Activity: 50
Merit: 0


View Profile
October 22, 2014, 09:55:34 PM
 #183

Change to obelisk.coinkite.com:9091 or another from https://wiki.unsystem.net/en/index.php/Obelisk/Servers

Using the coinkite one I get..

Code:
sx balance 1Lmc3kNttoyiU2ivPLizEBhE9UvQj6rquD
Address: 1Lmc3kNttoyiU2ivPLizEBhE9UvQj6rquD
  Paid balance:    10000000
  Pending balance: 10000000
  Total received:  190000000


thank you that worked for me.

sometimes getting:
after sx balance address quyery

Assertion failed: ok (mailbox.cpp:82)
Resource temporarily unavailable (signaler.cpp:236)



Probably a rate limiter as it's a public server, I believe using obelisk balancer you can specify more than one public server and it will balance the queries. Whether it does auto-failover or weighted balancing I don't know off the top of my head. Or you could go back to trying to install a local obelisk server, then you wouldn't need the public ones. I'm no expert, just trying to help, give the website/docs a read.


contactlight
Full Member
***
Offline Offline

Activity: 168
Merit: 100


View Profile
October 29, 2014, 09:24:57 AM
 #184

I'm now on my fifth attempt using 2 different servers (one a pretty much clean Debian VM and one an established server).. every time I get nearly to the end of the blockchain sync it just seems to sit around not receiving new blocks and spewing reams of errors such as below. I'm assuming blockchain database corruption but it always seems to be somewhere in the 27#### block range (I've just noticed this). Is this normal? Is there maybe something about this range of blocks, was that when someone was spamming the blockchain? Getting a bit frustrated here sapping so much time and bandwidth and still haven't got a sync'd copy to play with. I don't want to download a torrent copy.


WARNING: Error storing memory pool transaction c0c958698d61b260a885115a7e2ccec1a25c8a121c0da9ec6165f0ce11920c9b: Spent input not found


I am having this exact same issue on Ubuntu 64 (latest version) running in VirtualBox on my MacBook Pro Retina.  I have 70GB of SSD and 6GB RAM allocated to the VM.  The block chain has simply stopped updating at right around 300,000 block height.  What solved this problem for you?

I'm afraid nothing solved the problem for me, I gave it a good go but submitted defeat assuming that the h/ware I was using was too slow. I'll try again though one day when I have spare hardware in the hope that whatever caused it is solved.

I'm now on my fifth attempt using 2 different servers (one a pretty much clean Debian VM and one an established server).. every time I get nearly to the end of the blockchain sync it just seems to sit around not receiving new blocks and spewing reams of errors such as below. I'm assuming blockchain database corruption but it always seems to be somewhere in the 27#### block range (I've just noticed this). Is this normal? Is there maybe something about this range of blocks, was that when someone was spamming the blockchain? Getting a bit frustrated here sapping so much time and bandwidth and still haven't got a sync'd copy to play with. I don't want to download a torrent copy.


WARNING: Error storing memory pool transaction c0c958698d61b260a885115a7e2ccec1a25c8a121c0da9ec6165f0ce11920c9b: Spent input not found


I am having this exact same issue on Ubuntu 64 (latest version) running in VirtualBox on my MacBook Pro Retina.  I have 70GB of SSD and 6GB RAM allocated to the VM.  The block chain has simply stopped updating at right around 300,000 block height.  What solved this problem for you?

I was having the same problem and I even have the same configuration with the MBP Retina.

It has nothing to do with the hardware or virtualization. It has to do with the systemwide file descriptor limits. Linux limits the number of files a process can have open and how many files can be open globally.

While excessively lenient of a policy, applying these settings wiil fix the issue:
Code:
sysctl -w fs.file-max=409600
echo "fs.file-max=409600" >> /etc/sysctl.conf
ulimit -n 409600
echo "$USER soft nofile 409600" >> /etc/security/limits.conf
echo "$USER hard nofile 409600" >> /etc/security/limits.conf
HeadsOrTails
Full Member
***
Offline Offline

Activity: 233
Merit: 100



View Profile
October 30, 2014, 03:50:55 AM
 #185

Can someone kindly advise me what the issue is with Ubuntu 14 LTS installation? I'm a Ubuntu newbie but have followed the instructions and running sudo bash ./install-sx.sh file from / (root) always gives this install error:

Code:
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether g++ accepts -g... (cached) yes
checking dependency style of g++... (cached) gcc3
checking whether g++ supports C++11 features by default... no
checking whether g++ supports C++11 features with -std=c++11... yes
checking whether make supports nested variables... (cached) yes
checking --enable-testnet argument... no
checking for boostlib >= 1.20.0... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for SSL... yes
checking for CURL... yes
checking for libsecp256k1... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating include/bitcoin/Makefile
config.status: creating src/Makefile
config.status: creating libbitcoin.pc
config.status: executing depfiles commands
config.status: executing libtool commands
configure: WARNING: unrecognized options: --with-libsecp256k1
Making all in include/bitcoin
make[1]: Entering directory `/usr/local/src/libbitcoin-git/include/bitcoin'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/usr/local/src/libbitcoin-git/include/bitcoin'
Making all in src
make[1]: Entering directory `/usr/local/src/libbitcoin-git/src'
  CXX      utility/ec_keys.lo
utility/ec_keys.cpp: In function 'libbitcoin::ec_point libbitcoin::secret_to_public_key(const ec_secret&, bool)':
utility/ec_keys.cpp:66:23: error: 'secp256k1_ecdsa_pubkey_create' was not declared in this scope
             compressed))
                       ^
utility/ec_keys.cpp: In function 'bool libbitcoin::verify_public_key(const ec_point&)':
utility/ec_keys.cpp:75:78: error: 'secp256k1_ecdsa_pubkey_verify' was not declared in this scope
     return secp256k1_ecdsa_pubkey_verify(public_key.data(), public_key.size());
                                                                              ^
utility/ec_keys.cpp: In function 'bool libbitcoin::verify_private_key(const ec_secret&)':
utility/ec_keys.cpp:81:60: error: 'secp256k1_ecdsa_seckey_verify' was not declared in this scope
     return secp256k1_ecdsa_seckey_verify(private_key.data());
                                                            ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_tweak_add(libbitcoin::ec_point&, const ec_secret&)':
utility/ec_keys.cpp:115:73: error: 'secp256k1_ecdsa_pubkey_tweak_add' was not declared in this scope
     return secp256k1_ecdsa_pubkey_tweak_add(a.data(), a.size(), b.data());
                                                                         ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_multiply(libbitcoin::ec_point&, const ec_secret&)':
utility/ec_keys.cpp:121:73: error: 'secp256k1_ecdsa_pubkey_tweak_mul' was not declared in this scope
     return secp256k1_ecdsa_pubkey_tweak_mul(a.data(), a.size(), b.data());
                                                                         ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_add(libbitcoin::ec_secret&, const ec_secret&)':
utility/ec_keys.cpp:127:64: error: 'secp256k1_ecdsa_privkey_tweak_add' was not declared in this scope
     return secp256k1_ecdsa_privkey_tweak_add(a.data(), b.data());
                                                                ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_multiply(libbitcoin::ec_secret&, const ec_secret&)':
utility/ec_keys.cpp:133:64: error: 'secp256k1_ecdsa_privkey_tweak_mul' was not declared in this scope
     return secp256k1_ecdsa_privkey_tweak_mul(a.data(), b.data());
                                                                ^
utility/ec_keys.cpp: In function 'bool libbitcoin::verify_public_key(const ec_point&)':
utility/ec_keys.cpp:76:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
utility/ec_keys.cpp: In function 'bool libbitcoin::verify_private_key(const ec_secret&)':
utility/ec_keys.cpp:82:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_tweak_add(libbitcoin::ec_point&, const ec_secret&)':
utility/ec_keys.cpp:116:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_multiply(libbitcoin::ec_point&, const ec_secret&)':
utility/ec_keys.cpp:122:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_add(libbitcoin::ec_secret&, const ec_secret&)':
utility/ec_keys.cpp:128:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_multiply(libbitcoin::ec_secret&, const ec_secret&)':
utility/ec_keys.cpp:134:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
make[1]: *** [utility/ec_keys.lo] Error 1
make[1]: Leaving directory `/usr/local/src/libbitcoin-git/src'
make: *** [all-recursive] Error 1
sim@ubuntu:/$ sx
The program 'sx' is currently not installed. You can install it by typing:
sudo apt-get install lrzsz

Everything is fine up until this point.

Any help would be greatly appreciated; have literally spent 2 days trying to work this out with LTS 12 now LTS 14 (ie I'm not here as first resort, I've RTFM!)

TL;DR:

Ubuntu 14 LTS, how to fix this error?

Code:
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_multiply(libbitcoin::ec_secret&, const ec_secret&)':
utility/ec_keys.cpp:133:64: error: 'secp256k1_ecdsa_privkey_tweak_mul' was not declared in this scope
     return secp256k1_ecdsa_privkey_tweak_mul(a.data(), b.data());
                                                                ^
utility/ec_keys.cpp: In function 'bool libbitcoin::verify_public_key(const ec_point&)':
utility/ec_keys.cpp:76:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
utility/ec_keys.cpp: In function 'bool libbitcoin::verify_private_key(const ec_secret&)':
utility/ec_keys.cpp:82:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_tweak_add(libbitcoin::ec_point&, const ec_secret&)':
utility/ec_keys.cpp:116:1: warning: control reaches end of non-void function [-Wreturn-type]
contactlight
Full Member
***
Offline Offline

Activity: 168
Merit: 100


View Profile
October 30, 2014, 04:35:37 PM
 #186

Can someone kindly advise me what the issue is with Ubuntu 14 LTS installation? I'm a Ubuntu newbie but have followed the instructions and running sudo bash ./install-sx.sh file from / (root) always gives this install error:

Code:
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether g++ accepts -g... (cached) yes
checking dependency style of g++... (cached) gcc3
checking whether g++ supports C++11 features by default... no
checking whether g++ supports C++11 features with -std=c++11... yes
checking whether make supports nested variables... (cached) yes
checking --enable-testnet argument... no
checking for boostlib >= 1.20.0... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for SSL... yes
checking for CURL... yes
checking for libsecp256k1... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating include/bitcoin/Makefile
config.status: creating src/Makefile
config.status: creating libbitcoin.pc
config.status: executing depfiles commands
config.status: executing libtool commands
configure: WARNING: unrecognized options: --with-libsecp256k1
Making all in include/bitcoin
make[1]: Entering directory `/usr/local/src/libbitcoin-git/include/bitcoin'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/usr/local/src/libbitcoin-git/include/bitcoin'
Making all in src
make[1]: Entering directory `/usr/local/src/libbitcoin-git/src'
  CXX      utility/ec_keys.lo
utility/ec_keys.cpp: In function 'libbitcoin::ec_point libbitcoin::secret_to_public_key(const ec_secret&, bool)':
utility/ec_keys.cpp:66:23: error: 'secp256k1_ecdsa_pubkey_create' was not declared in this scope
             compressed))
                       ^
utility/ec_keys.cpp: In function 'bool libbitcoin::verify_public_key(const ec_point&)':
utility/ec_keys.cpp:75:78: error: 'secp256k1_ecdsa_pubkey_verify' was not declared in this scope
     return secp256k1_ecdsa_pubkey_verify(public_key.data(), public_key.size());
                                                                              ^
utility/ec_keys.cpp: In function 'bool libbitcoin::verify_private_key(const ec_secret&)':
utility/ec_keys.cpp:81:60: error: 'secp256k1_ecdsa_seckey_verify' was not declared in this scope
     return secp256k1_ecdsa_seckey_verify(private_key.data());
                                                            ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_tweak_add(libbitcoin::ec_point&, const ec_secret&)':
utility/ec_keys.cpp:115:73: error: 'secp256k1_ecdsa_pubkey_tweak_add' was not declared in this scope
     return secp256k1_ecdsa_pubkey_tweak_add(a.data(), a.size(), b.data());
                                                                         ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_multiply(libbitcoin::ec_point&, const ec_secret&)':
utility/ec_keys.cpp:121:73: error: 'secp256k1_ecdsa_pubkey_tweak_mul' was not declared in this scope
     return secp256k1_ecdsa_pubkey_tweak_mul(a.data(), a.size(), b.data());
                                                                         ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_add(libbitcoin::ec_secret&, const ec_secret&)':
utility/ec_keys.cpp:127:64: error: 'secp256k1_ecdsa_privkey_tweak_add' was not declared in this scope
     return secp256k1_ecdsa_privkey_tweak_add(a.data(), b.data());
                                                                ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_multiply(libbitcoin::ec_secret&, const ec_secret&)':
utility/ec_keys.cpp:133:64: error: 'secp256k1_ecdsa_privkey_tweak_mul' was not declared in this scope
     return secp256k1_ecdsa_privkey_tweak_mul(a.data(), b.data());
                                                                ^
utility/ec_keys.cpp: In function 'bool libbitcoin::verify_public_key(const ec_point&)':
utility/ec_keys.cpp:76:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
utility/ec_keys.cpp: In function 'bool libbitcoin::verify_private_key(const ec_secret&)':
utility/ec_keys.cpp:82:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_tweak_add(libbitcoin::ec_point&, const ec_secret&)':
utility/ec_keys.cpp:116:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_multiply(libbitcoin::ec_point&, const ec_secret&)':
utility/ec_keys.cpp:122:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_add(libbitcoin::ec_secret&, const ec_secret&)':
utility/ec_keys.cpp:128:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_multiply(libbitcoin::ec_secret&, const ec_secret&)':
utility/ec_keys.cpp:134:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
make[1]: *** [utility/ec_keys.lo] Error 1
make[1]: Leaving directory `/usr/local/src/libbitcoin-git/src'
make: *** [all-recursive] Error 1
sim@ubuntu:/$ sx
The program 'sx' is currently not installed. You can install it by typing:
sudo apt-get install lrzsz

Everything is fine up until this point.

Any help would be greatly appreciated; have literally spent 2 days trying to work this out with LTS 12 now LTS 14 (ie I'm not here as first resort, I've RTFM!)

TL;DR:

Ubuntu 14 LTS, how to fix this error?

Code:
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_multiply(libbitcoin::ec_secret&, const ec_secret&)':
utility/ec_keys.cpp:133:64: error: 'secp256k1_ecdsa_privkey_tweak_mul' was not declared in this scope
     return secp256k1_ecdsa_privkey_tweak_mul(a.data(), b.data());
                                                                ^
utility/ec_keys.cpp: In function 'bool libbitcoin::verify_public_key(const ec_point&)':
utility/ec_keys.cpp:76:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
utility/ec_keys.cpp: In function 'bool libbitcoin::verify_private_key(const ec_secret&)':
utility/ec_keys.cpp:82:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_tweak_add(libbitcoin::ec_point&, const ec_secret&)':
utility/ec_keys.cpp:116:1: warning: control reaches end of non-void function [-Wreturn-type]


I had the same issue and fixed it.

Make sure you have:
1- secp256k1 installed
2- libbitcoin installed

To install secp256k1:
Code:
$ git clone https://github.com/bitcoin/secp256k1
$ cd secp256k1
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

To install libbitcoin:
Code:
$ git clone https://github.com/libbitcoin/libbitcoin
$ cd libbitcoin
$ autoreconf -i
$ ./configure --enable-leveldb
$ make
$ sudo make install
$ sudo ldconfig

You will likely need to do the following as well:
Code:
$ sudo apt-get install build-essential autoconf automake libtool libboost-all-dev pkg-config libcurl4-openssl-dev libleveldb-dev libssl-dev
luv2drnkbr
Hero Member
*****
Offline Offline

Activity: 793
Merit: 1016



View Profile
November 03, 2014, 07:48:00 AM
 #187

Can someone kindly advise me what the issue is with Ubuntu 14 LTS installation? I'm a Ubuntu newbie but have followed the instructions and running sudo bash ./install-sx.sh file from / (root) always gives this install error:

Code:
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether g++ accepts -g... (cached) yes
checking dependency style of g++... (cached) gcc3
checking whether g++ supports C++11 features by default... no
checking whether g++ supports C++11 features with -std=c++11... yes
checking whether make supports nested variables... (cached) yes
checking --enable-testnet argument... no
checking for boostlib >= 1.20.0... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for SSL... yes
checking for CURL... yes
checking for libsecp256k1... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating include/bitcoin/Makefile
config.status: creating src/Makefile
config.status: creating libbitcoin.pc
config.status: executing depfiles commands
config.status: executing libtool commands
configure: WARNING: unrecognized options: --with-libsecp256k1
Making all in include/bitcoin
make[1]: Entering directory `/usr/local/src/libbitcoin-git/include/bitcoin'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/usr/local/src/libbitcoin-git/include/bitcoin'
Making all in src
make[1]: Entering directory `/usr/local/src/libbitcoin-git/src'
  CXX      utility/ec_keys.lo
utility/ec_keys.cpp: In function 'libbitcoin::ec_point libbitcoin::secret_to_public_key(const ec_secret&, bool)':
utility/ec_keys.cpp:66:23: error: 'secp256k1_ecdsa_pubkey_create' was not declared in this scope
             compressed))
                       ^
utility/ec_keys.cpp: In function 'bool libbitcoin::verify_public_key(const ec_point&)':
utility/ec_keys.cpp:75:78: error: 'secp256k1_ecdsa_pubkey_verify' was not declared in this scope
     return secp256k1_ecdsa_pubkey_verify(public_key.data(), public_key.size());
                                                                              ^
utility/ec_keys.cpp: In function 'bool libbitcoin::verify_private_key(const ec_secret&)':
utility/ec_keys.cpp:81:60: error: 'secp256k1_ecdsa_seckey_verify' was not declared in this scope
     return secp256k1_ecdsa_seckey_verify(private_key.data());
                                                            ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_tweak_add(libbitcoin::ec_point&, const ec_secret&)':
utility/ec_keys.cpp:115:73: error: 'secp256k1_ecdsa_pubkey_tweak_add' was not declared in this scope
     return secp256k1_ecdsa_pubkey_tweak_add(a.data(), a.size(), b.data());
                                                                         ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_multiply(libbitcoin::ec_point&, const ec_secret&)':
utility/ec_keys.cpp:121:73: error: 'secp256k1_ecdsa_pubkey_tweak_mul' was not declared in this scope
     return secp256k1_ecdsa_pubkey_tweak_mul(a.data(), a.size(), b.data());
                                                                         ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_add(libbitcoin::ec_secret&, const ec_secret&)':
utility/ec_keys.cpp:127:64: error: 'secp256k1_ecdsa_privkey_tweak_add' was not declared in this scope
     return secp256k1_ecdsa_privkey_tweak_add(a.data(), b.data());
                                                                ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_multiply(libbitcoin::ec_secret&, const ec_secret&)':
utility/ec_keys.cpp:133:64: error: 'secp256k1_ecdsa_privkey_tweak_mul' was not declared in this scope
     return secp256k1_ecdsa_privkey_tweak_mul(a.data(), b.data());
                                                                ^
utility/ec_keys.cpp: In function 'bool libbitcoin::verify_public_key(const ec_point&)':
utility/ec_keys.cpp:76:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
utility/ec_keys.cpp: In function 'bool libbitcoin::verify_private_key(const ec_secret&)':
utility/ec_keys.cpp:82:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_tweak_add(libbitcoin::ec_point&, const ec_secret&)':
utility/ec_keys.cpp:116:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_multiply(libbitcoin::ec_point&, const ec_secret&)':
utility/ec_keys.cpp:122:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_add(libbitcoin::ec_secret&, const ec_secret&)':
utility/ec_keys.cpp:128:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_multiply(libbitcoin::ec_secret&, const ec_secret&)':
utility/ec_keys.cpp:134:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
make[1]: *** [utility/ec_keys.lo] Error 1
make[1]: Leaving directory `/usr/local/src/libbitcoin-git/src'
make: *** [all-recursive] Error 1
sim@ubuntu:/$ sx
The program 'sx' is currently not installed. You can install it by typing:
sudo apt-get install lrzsz

Everything is fine up until this point.

Any help would be greatly appreciated; have literally spent 2 days trying to work this out with LTS 12 now LTS 14 (ie I'm not here as first resort, I've RTFM!)

TL;DR:

Ubuntu 14 LTS, how to fix this error?

Code:
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_multiply(libbitcoin::ec_secret&, const ec_secret&)':
utility/ec_keys.cpp:133:64: error: 'secp256k1_ecdsa_privkey_tweak_mul' was not declared in this scope
     return secp256k1_ecdsa_privkey_tweak_mul(a.data(), b.data());
                                                                ^
utility/ec_keys.cpp: In function 'bool libbitcoin::verify_public_key(const ec_point&)':
utility/ec_keys.cpp:76:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
utility/ec_keys.cpp: In function 'bool libbitcoin::verify_private_key(const ec_secret&)':
utility/ec_keys.cpp:82:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_tweak_add(libbitcoin::ec_point&, const ec_secret&)':
utility/ec_keys.cpp:116:1: warning: control reaches end of non-void function [-Wreturn-type]


I had the same issue and fixed it.

Make sure you have:
1- secp256k1 installed
2- libbitcoin installed

To install secp256k1:
Code:
$ git clone https://github.com/bitcoin/secp256k1
$ cd secp256k1
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

To install libbitcoin:
Code:
$ git clone https://github.com/libbitcoin/libbitcoin
$ cd libbitcoin
$ autoreconf -i
$ ./configure --enable-leveldb
$ make
$ sudo make install
$ sudo ldconfig

You will likely need to do the following as well:
Code:
$ sudo apt-get install build-essential autoconf automake libtool libboost-all-dev pkg-config libcurl4-openssl-dev libleveldb-dev libssl-dev

I still get HeadsOrTails's error of "utility/ec_keys.cpp:134:1: warning: control reaches end of non-void function" whenever I try to make libbitcoin after the configure step.  Any advice or things to try?

contactlight
Full Member
***
Offline Offline

Activity: 168
Merit: 100


View Profile
November 03, 2014, 05:47:54 PM
 #188

Can someone kindly advise me what the issue is with Ubuntu 14 LTS installation? I'm a Ubuntu newbie but have followed the instructions and running sudo bash ./install-sx.sh file from / (root) always gives this install error:

Code:
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether g++ accepts -g... (cached) yes
checking dependency style of g++... (cached) gcc3
checking whether g++ supports C++11 features by default... no
checking whether g++ supports C++11 features with -std=c++11... yes
checking whether make supports nested variables... (cached) yes
checking --enable-testnet argument... no
checking for boostlib >= 1.20.0... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for SSL... yes
checking for CURL... yes
checking for libsecp256k1... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating include/bitcoin/Makefile
config.status: creating src/Makefile
config.status: creating libbitcoin.pc
config.status: executing depfiles commands
config.status: executing libtool commands
configure: WARNING: unrecognized options: --with-libsecp256k1
Making all in include/bitcoin
make[1]: Entering directory `/usr/local/src/libbitcoin-git/include/bitcoin'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/usr/local/src/libbitcoin-git/include/bitcoin'
Making all in src
make[1]: Entering directory `/usr/local/src/libbitcoin-git/src'
  CXX      utility/ec_keys.lo
utility/ec_keys.cpp: In function 'libbitcoin::ec_point libbitcoin::secret_to_public_key(const ec_secret&, bool)':
utility/ec_keys.cpp:66:23: error: 'secp256k1_ecdsa_pubkey_create' was not declared in this scope
             compressed))
                       ^
utility/ec_keys.cpp: In function 'bool libbitcoin::verify_public_key(const ec_point&)':
utility/ec_keys.cpp:75:78: error: 'secp256k1_ecdsa_pubkey_verify' was not declared in this scope
     return secp256k1_ecdsa_pubkey_verify(public_key.data(), public_key.size());
                                                                              ^
utility/ec_keys.cpp: In function 'bool libbitcoin::verify_private_key(const ec_secret&)':
utility/ec_keys.cpp:81:60: error: 'secp256k1_ecdsa_seckey_verify' was not declared in this scope
     return secp256k1_ecdsa_seckey_verify(private_key.data());
                                                            ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_tweak_add(libbitcoin::ec_point&, const ec_secret&)':
utility/ec_keys.cpp:115:73: error: 'secp256k1_ecdsa_pubkey_tweak_add' was not declared in this scope
     return secp256k1_ecdsa_pubkey_tweak_add(a.data(), a.size(), b.data());
                                                                         ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_multiply(libbitcoin::ec_point&, const ec_secret&)':
utility/ec_keys.cpp:121:73: error: 'secp256k1_ecdsa_pubkey_tweak_mul' was not declared in this scope
     return secp256k1_ecdsa_pubkey_tweak_mul(a.data(), a.size(), b.data());
                                                                         ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_add(libbitcoin::ec_secret&, const ec_secret&)':
utility/ec_keys.cpp:127:64: error: 'secp256k1_ecdsa_privkey_tweak_add' was not declared in this scope
     return secp256k1_ecdsa_privkey_tweak_add(a.data(), b.data());
                                                                ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_multiply(libbitcoin::ec_secret&, const ec_secret&)':
utility/ec_keys.cpp:133:64: error: 'secp256k1_ecdsa_privkey_tweak_mul' was not declared in this scope
     return secp256k1_ecdsa_privkey_tweak_mul(a.data(), b.data());
                                                                ^
utility/ec_keys.cpp: In function 'bool libbitcoin::verify_public_key(const ec_point&)':
utility/ec_keys.cpp:76:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
utility/ec_keys.cpp: In function 'bool libbitcoin::verify_private_key(const ec_secret&)':
utility/ec_keys.cpp:82:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_tweak_add(libbitcoin::ec_point&, const ec_secret&)':
utility/ec_keys.cpp:116:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_multiply(libbitcoin::ec_point&, const ec_secret&)':
utility/ec_keys.cpp:122:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_add(libbitcoin::ec_secret&, const ec_secret&)':
utility/ec_keys.cpp:128:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_multiply(libbitcoin::ec_secret&, const ec_secret&)':
utility/ec_keys.cpp:134:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
make[1]: *** [utility/ec_keys.lo] Error 1
make[1]: Leaving directory `/usr/local/src/libbitcoin-git/src'
make: *** [all-recursive] Error 1
sim@ubuntu:/$ sx
The program 'sx' is currently not installed. You can install it by typing:
sudo apt-get install lrzsz

Everything is fine up until this point.

Any help would be greatly appreciated; have literally spent 2 days trying to work this out with LTS 12 now LTS 14 (ie I'm not here as first resort, I've RTFM!)

TL;DR:

Ubuntu 14 LTS, how to fix this error?

Code:
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_multiply(libbitcoin::ec_secret&, const ec_secret&)':
utility/ec_keys.cpp:133:64: error: 'secp256k1_ecdsa_privkey_tweak_mul' was not declared in this scope
     return secp256k1_ecdsa_privkey_tweak_mul(a.data(), b.data());
                                                                ^
utility/ec_keys.cpp: In function 'bool libbitcoin::verify_public_key(const ec_point&)':
utility/ec_keys.cpp:76:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
utility/ec_keys.cpp: In function 'bool libbitcoin::verify_private_key(const ec_secret&)':
utility/ec_keys.cpp:82:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
utility/ec_keys.cpp: In function 'bool libbitcoin::ec_tweak_add(libbitcoin::ec_point&, const ec_secret&)':
utility/ec_keys.cpp:116:1: warning: control reaches end of non-void function [-Wreturn-type]


I had the same issue and fixed it.

Make sure you have:
1- secp256k1 installed
2- libbitcoin installed

To install secp256k1:
Code:
$ git clone https://github.com/bitcoin/secp256k1
$ cd secp256k1
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

To install libbitcoin:
Code:
$ git clone https://github.com/libbitcoin/libbitcoin
$ cd libbitcoin
$ autoreconf -i
$ ./configure --enable-leveldb
$ make
$ sudo make install
$ sudo ldconfig

You will likely need to do the following as well:
Code:
$ sudo apt-get install build-essential autoconf automake libtool libboost-all-dev pkg-config libcurl4-openssl-dev libleveldb-dev libssl-dev

I still get HeadsOrTails's error of "utility/ec_keys.cpp:134:1: warning: control reaches end of non-void function" whenever I try to make libbitcoin after the configure step.  Any advice or things to try?

That's just a warning, you should be able to build it despite that message. If it isn't building successfully, it must be another error.

To get rid of the warning, find the function and have it return something at the end.
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
November 04, 2014, 10:18:56 PM
 #189

hey so just an update as to what's going on:
- Obelisk has been renamed to libbitcoin-server and is undergoing lots of changes.
- libbitcoin has a new faster blockchain backend.
- SX is renamed to libbitcoin-explorer and has been improved.
we're still working on testing & improving the software, but once that's complete, there will be a new release.
sorry about all the troubles.
contactlight
Full Member
***
Offline Offline

Activity: 168
Merit: 100


View Profile
November 04, 2014, 10:35:52 PM
 #190

hey so just an update as to what's going on:
- Obelisk has been renamed to libbitcoin-server and is undergoing lots of changes.
- libbitcoin has a new faster blockchain backend.
- SX is renamed to libbitcoin-explorer and has been improved.
we're still working on testing & improving the software, but once that's complete, there will be a new release.
sorry about all the troubles.

No problem at all, we really appreciate the work that you guys put into this. Do you know when we will have access to this new release? Is it already on GitHub?

Are you guys aware that obelisk-server's syncing routine stalls in certain cases? I had to write a script to make sure that obelisk processes at least 5 blocks per minute, and if that's not the case, restarts it in order to continue syncing.

I suspect this is happening due to the following error that's exposed to the user:

Code:
Failed to store transaction in mempool <Transaction-Hash>: Spent input not found
gwlloyd
Newbie
*
Offline Offline

Activity: 50
Merit: 0


View Profile
November 05, 2014, 02:20:43 AM
 #191

hey so just an update as to what's going on:
- Obelisk has been renamed to libbitcoin-server and is undergoing lots of changes.
- libbitcoin has a new faster blockchain backend.
- SX is renamed to libbitcoin-explorer and has been improved.
we're still working on testing & improving the software, but once that's complete, there will be a new release.
sorry about all the troubles.

Sounds great, thank you for your hard work. I look forward to firing up the VMs again soon and trying it out.
genjix (OP)
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
November 06, 2014, 01:06:17 PM
 #192

we're working on the server a lot, see this:
https://wiki.unsystem.net/en/index.php/Libbitcoin/Blockchain/htdb_slab_Performance

here are the development repos:
https://github.com/libbitcoin/libbitcoin-explorer (formerly sx)
https://github.com/libbitcoin/libbitcoin-server (formerly Obelisk)

sx has basically been rewritten by eric voskuil, and the server will undergo more improvements too (see https://github.com/libbitcoin/libbitcoin-protocol ) which will allow SPV for wallets with the new protocol.
inBitweTrust
Hero Member
*****
Offline Offline

Activity: 658
Merit: 501



View Profile
November 06, 2014, 01:51:19 PM
 #193

Awesome, I can't wait to start testing. Grin

HeadsOrTails
Full Member
***
Offline Offline

Activity: 233
Merit: 100



View Profile
November 23, 2014, 11:55:11 AM
 #194


I had the same issue and fixed it.

Make sure you have:
1- secp256k1 installed
2- libbitcoin installed

To install secp256k1:
Code:
$ git clone https://github.com/bitcoin/secp256k1
$ cd secp256k1
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

To install libbitcoin:
Code:
$ git clone https://github.com/libbitcoin/libbitcoin
$ cd libbitcoin
$ autoreconf -i
$ ./configure --enable-leveldb
$ make
$ sudo make install
$ sudo ldconfig

You will likely need to do the following as well:
Code:
$ sudo apt-get install build-essential autoconf automake libtool libboost-all-dev pkg-config libcurl4-openssl-dev libleveldb-dev libssl-dev

I did get it to work; between this reply (which I just saw) and a question on Stack Exchange it's all up and running.

I should add, while I understand these tools aren't meant to be for the complete newb, I have found them exceedingly difficult to use. Documentation scarce at best...

For eg,
Code:
sx history `cat addr`

(ie history of outputs for an address will just not work)
HeadsOrTails
Full Member
***
Offline Offline

Activity: 233
Merit: 100



View Profile
November 26, 2014, 04:11:34 AM
 #195

I cannot get the code from http://sx.dyne.org/offlinetx.html to run:

Code:
$ DECODED_ADDR=$(cat private.key | sx addr | sx decode-addr)
$ PREVOUT_SCRIPT=$(sx rawscript dup hash160 [ $DECODED_ADDR ] equalverify checksig)
$ SIGNATURE=$(cat private.key | sx sign-input txfile.tx 0 $PREVOUT_SCRIPT)
$ sx rawscript [ $SIGNATURE ] [ $(cat private.key | sx pubkey) ] | sx set-input txfile.tx 0 > signed-tx
$ sx showtx signed-tx
hash: 4a8be467fb75f0f757649348dbb05762142236ec236ac9e55e4683d7083ffca2
version: 1  locktime: 0
Input:
  previous output:
97e06e49dfdd26c5a904670971ccf4c7fe7d9da53cb379bf9b442fc9427080b3:1
  script: [
304602210083f8b5131f6399cdc01ed8368f6137f288f771e40834a94d65cee6b380fec873022100da5ed6d1d283f228752a88c2d6f629587b2a6fbc102202ae7c20f48af7c0533c01
] [
04e3af7cdfaab6ba2f14001a7ea0a490f40c6ba43607be92a05111d2e8fc1eecf6fa2c248b3e25ddf7db081684f6f49dc83fd7b9b5a3a88a2e6b83b918f8972351
]  sequence: 4294967295
  address: 134HfD2fdeBTohfx8YANxEpsYXsv5UoWyz
Output:
  value: 90000
  script: dup hash160 [ 18c0bd8d1818f1bf99cb1df2269c645318ef7b73 ] equalverify
checksig
  address: 13Ft7SkreJY9D823NPm4t6D1cBqLYTJtAe

Error returned is similar to (haven't got it in front of me):

Code:
sx set-input FILENAME N SIGANDPUBKEYSCRIPT

Running sx set-input txfile.tx 0 `cat rawscript.tx` or even
Code:
sx set-input txfile.tx 0 4730......
(where 4730 is the sig/pubkey script) ... it won't work

Any advice?


TL;DR:

Code:
sx rawscript [ $SIGNATURE ] [ $(cat private.key | sx pubkey) ] | sx set-input txfile.tx 0 > signed-tx

This code from the eg doesn't work (and variants of it)
Altoidnerd
Sr. Member
****
Offline Offline

Activity: 406
Merit: 251


http://altoidnerd.com


View Profile WWW
December 08, 2014, 06:24:20 AM
 #196

This seems odd.  I cannot understand why sx seems to disagree with vbuterin/pybitcointools (https://github.com/vbuterin/pybitcointools)

If you need to install pybitcointools do
Code:
$ git clone https://github.com/vbuterin/pybitcointools
$ cd pybitcointools
$ chmod +x setup.py
$ ./setup.py install

I am not getting the same result for simple sha256 hashes from pybitcointools and sx.  See:

Code:
$ python
>>> from bitcoin import *
>>> x=sha256('ok')
>>> x
'2689367b205c16ce32ed4200942b8b8b1e262dfc70d9bc9fbc77c49699a4f1df'
>>>quit()
$

sx gives something else...or am i stupid?

Code:

$ sx sha256 ok
6e340b9cffb37a989ca544e6bb780a2c78901d3fb33738768511a30617afa01d
$ sx sha256 'ok'
6e340b9cffb37a989ca544e6bb780a2c78901d3fb33738768511a30617afa01d


Why?

Do you even mine?
http://altoidnerd.com 
12gKRdrz7yy7erg5apUvSRGemypTUvBRuJ
Altoidnerd
Sr. Member
****
Offline Offline

Activity: 406
Merit: 251


http://altoidnerd.com


View Profile WWW
December 08, 2014, 06:27:39 AM
Last edit: December 08, 2014, 07:15:50 AM by Altoidnerd
 #197

Heres the kicker...

Code:
$ echo -n "ok" | openssl dgst -sha256
2689367b205c16ce32ed4200942b8b8b1e262dfc70d9bc9fbc77c49699a4f1df

edit - issue opened here https://github.com/spesmilo/sx/issues/95

Do you even mine?
http://altoidnerd.com 
12gKRdrz7yy7erg5apUvSRGemypTUvBRuJ
brituspol
Sr. Member
****
Offline Offline

Activity: 458
Merit: 250

From nothing to nothing


View Profile
February 02, 2015, 03:18:25 PM
 #198

Checking this out today. Very interesting. Good luck to the creator.
ziomik
Legendary
*
Offline Offline

Activity: 1946
Merit: 1009


SELL bitcoinmarket.net | bitcoinitalia.com SELL


View Profile WWW
November 13, 2015, 08:33:18 AM
 #199

mmm..
Code:
--> Updating libbitcoin...

Current branch version1 is up to date.

 --> Beginning build process now....

Si è già su 'version1'
Your branch is up-to-date with 'origin/version1'.
configure: error: cannot find install-sh, install.sh, or shtool in "." "./.." "./../.."

DOMINI IN VENDITA/NOLEGGIO
bitcoinmarket.net | bitcoinitalia.com

Contattatemi pure per info.
---- +++ ----
"Se domani senti due massaie che parlano di bitcoin tra di loro dal macellaio, forse e' il momento di vendere.. se pero' le sentirai fra 10 anni forse staranno solo pagando il conto" GBianchi
---- +++ ----
Pages: 1 2 3 4 5 6 7 8 9 10 [All]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!