Bitcoin Forum
May 24, 2024, 04:59:29 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 6 7 8 9 10 [11] 12 13 14 »  All
  Print  
Author Topic: ANN: Announcing code availability of the bitsofproof supernode  (Read 35112 times)
grau (OP)
Hero Member
*****
Offline Offline

Activity: 836
Merit: 1021


bits of proof


View Profile WWW
June 11, 2013, 12:13:43 PM
 #201

Hello grau, i've been playing with your code for a while - nice work Smiley

Questions:
1. How about some sort of contracts interface? How do you plan on implementing this?

2. How do I connect to a specified set of IPs only (mimic connect=ip option in bitcoin.conf). FixedAddressDiscorvery makes listed IPs as discovery nodes that can relay their cached nodes to my server instance. After a while my server hits timeout(?) and connects to those relayed nodes.

3. On testnet3 i cannot connect to nodes with getAddress ().isReachable 1000ms timeout, works fine when i change it to 4000ms; temp fix for BBST-7 for me.

Hi netrikare, thanks for evaluating. I am glad you like it.

1. Contracts is an exciting subject. BOP is however a commercial not a research project, therefore I would do whatever needed for a concrete use case, but do not currently plan invest into a generic interface. If you have the bandwidth and ideas I am however ready to discuss or even take a pull.

2. I think that you need to lower the number of connections required (see below from production.xml) to that of the addresses listed in the FixedAddressDiscovery, otherwise the discovery will try to locate more peers.
Quote
   <bean id="bitcoinNetwork" class="com.bitsofproof.supernode.core.BitcoinNetwork">
      <constructor-arg>
         <value>10</value>
      </constructor-arg> <!-- Number of connections desired -->

3. Thanks for the hint on BBST-7!

You already discovered our JIRA (http://bitsofproof.com:8081/browse/BBST). Feel free to raise any issues you face there.
 
grau (OP)
Hero Member
*****
Offline Offline

Activity: 836
Merit: 1021


bits of proof


View Profile WWW
June 22, 2013, 01:03:18 PM
 #202

I am pleased to announce that the server is now available in an upgraded Version 1.1.

What is new?

1. Enhanced HD Wallet - Read only wallet and server side scan for all addresses derivable from an extended public key.
2. Never out of sync with Satoshi - optional Master-Slave operation option effectively eliminates the risk of a fork.
3. Simplified API

Read about the features in detail on the documentation site: http://bitsofproof.com:8082/display/BPD/What+is+new+in+1.1
zvs
Legendary
*
Offline Offline

Activity: 1680
Merit: 1000


https://web.archive.org/web/*/nogleg.com


View Profile WWW
June 23, 2013, 11:35:37 PM
 #203

BOP just got a new 12 CPU 48 GB RAM server.

Wow, I suppose you meant 12 cores Smiley

BTW: I watched your presentation and the project seems great!
Yes, they are likely less CPUs, but 12 cores for sure. I order them by specifying the CPU power I want to use, how the data center maps that is up to them.
So they could have given you 2x Xeon L7455?

*scratch*
solracx
Sr. Member
****
Offline Offline

Activity: 294
Merit: 250


View Profile WWW
June 24, 2013, 07:57:30 PM
 #204

Does this supernode support mining of the coins like the bitcoind?

ZenithCoin - Sustainable Scrypt Based Crypto Currency
grau (OP)
Hero Member
*****
Offline Offline

Activity: 836
Merit: 1021


bits of proof


View Profile WWW
June 24, 2013, 09:14:48 PM
Last edit: June 24, 2013, 09:51:54 PM by grau
 #205

Does this supernode support mining of the coins like the bitcoind?

In case you mean support for miner protocols like getwork RPC, then no support for that. As of now I see no upside mining Bitcoin with this, not for the product and not for the network.

In case you are considering to develop an alt-coin,  then it would not be a big trick to add CPU mining with your rules as it has a memory pool of unconfirmed transactions.
grau (OP)
Hero Member
*****
Offline Offline

Activity: 836
Merit: 1021


bits of proof


View Profile WWW
June 24, 2013, 09:45:02 PM
 #206

Added a new demo project that shows how to sweep a private key to an address using the client library and a BOP server.
https://github.com/bitsofproof/bop-sweep

The trick can be done by a few lines, that execute in seconds. (The project is more elaborate)
Code:
// connect a BOP Enterprise Bitcoin Server
BCSAPI api = getServer (getConnectionFactory (url, user, password));

// create an account manager that uses arbitary list of keys
KeyListAccountManager account = new KeyListAccountManager ("A", 0);

// parse the WIF format key as known from bitcoind and add to the account manager
account.addKey (ECKeyPair.parseWIF (key));

// send the address of the key to the server and retrieve all unspent output to it
account.sync (api);

// convert address from base58, create and sign transaction that spends all confirmed funds to the address
Transaction transaction = account.pay (AddressConverter.fromSatoshiStyle (address, api.isProduction () ? 0x0 : 0x6f), account.getConfirmed (), FEE);

// send the signed transaction to the server, so it broadcasts to the network
api.sendTransaction (transaction);


Note that the key does not travel to the server, only its address to retrieve all unspent outputs and then the final signed transaction sending those outputs to the destination address.
solracx
Sr. Member
****
Offline Offline

Activity: 294
Merit: 250


View Profile WWW
June 24, 2013, 09:58:39 PM
 #207

Does this supernode support mining of the coins like the bitcoind?

In case you mean support for miner protocols like getwork RPC, then no support for that. As of now I see no upside mining Bitcoin with this, not for the product and not for the network.

In case you are considering to develop an alt-coin,  then it would not be a big trick to add CPU mining with your rules as it has a memory pool of unconfirmed transactions.

So as I undestand the getwork protocol in not supported.

So to create a block with a coin base and the mechanism to do that, is not in the current code base?  What I mean is that bitcoind has a setgenerate true argument that starts up a bitcoinminer in CPU.  Is that part implemented or does that need to be reimplemented in your supernode?

ZenithCoin - Sustainable Scrypt Based Crypto Currency
grau (OP)
Hero Member
*****
Offline Offline

Activity: 836
Merit: 1021


bits of proof


View Profile WWW
June 24, 2013, 10:09:30 PM
 #208

Does this supernode support mining of the coins like the bitcoind?

In case you mean support for miner protocols like getwork RPC, then no support for that. As of now I see no upside mining Bitcoin with this, not for the product and not for the network.

In case you are considering to develop an alt-coin,  then it would not be a big trick to add CPU mining with your rules as it has a memory pool of unconfirmed transactions.

So as I undestand the getwork protocol in not supported.

So to create a block with a coin base and the mechanism to do that, is not in the current code base?  What I mean is that bitcoind has a setgenerate true argument that starts up a bitcoinminer in CPU.  Is that part implemented or does that need to be reimplemented in your supernode?
There is a unit/integration test that shows how to build a chain on the fly to test the API: https://github.com/bitsofproof/supernode/blob/1.1/server/src/test/java/com/bitsofproof/supernode/test/APITest.java

The mempool is in https://github.com/bitsofproof/supernode/blob/1.1/server/src/main/java/com/bitsofproof/supernode/core/TxHandler.java
called unconfirmed.

I have however no motivation to put those pieces together into a CPU miner as there is no upside for that in Bitcoin and have no alt-coin customer yet. Let me know if you have commercial interest or want to work on it.


solracx
Sr. Member
****
Offline Offline

Activity: 294
Merit: 250


View Profile WWW
June 24, 2013, 11:57:55 PM
 #209

I'll probably work on it then.


ZenithCoin - Sustainable Scrypt Based Crypto Currency
Amitabh S
Legendary
*
Offline Offline

Activity: 1001
Merit: 1003


View Profile
July 02, 2013, 09:36:48 PM
 #210

Unable to build using mvn

My setup:
win7 pro (64bit)
java version "1.6.0_43"

[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] \code\Bitcoin\bitsofproof\supernode\api\src\main\java\com\bitsofproof\supernode\api\BCSAPIMessage.java:[11,22] com.bitsofproof.supernode.api.BCSAPIMessage.Ping is not abstract and does not override abstract method newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent) in com.google.protobuf.GeneratedMessage
...

full error here
http://pastebin.com/GfUVKvYi

Coinsecure referral ID: https://coinsecure.in/signup/refamit (use this link to signup)
grau (OP)
Hero Member
*****
Offline Offline

Activity: 836
Merit: 1021


bits of proof


View Profile WWW
July 04, 2013, 12:52:43 PM
 #211

Why not follow the build instructions and install protobuf 2.4
1?
marcoski711
Newbie
*
Offline Offline

Activity: 15
Merit: 0



View Profile WWW
August 20, 2013, 12:27:47 PM
 #212

Also added documentation on configuration and database schema overview in:
https://github.com/bitsofproof/supernode/wiki
Grau, where is the schema now located, can't find it via that link? Thanks.
grau (OP)
Hero Member
*****
Offline Offline

Activity: 836
Merit: 1021


bits of proof


View Profile WWW
August 20, 2013, 12:46:16 PM
 #213

as of 1.2 the relational schema is no longer part of the community version, but moved to the audit server.
alp
Full Member
***
Offline Offline

Activity: 284
Merit: 101


View Profile
September 28, 2013, 08:40:20 PM
 #214

A dumb question I'm sure, but how to I set up users and passwords on a community edition server? I have a node running and am trying to connect with the bop-api-example and have had no luck connecting with a user and password.

I am looking for a good signature. Here could be your advertisement
grau (OP)
Hero Member
*****
Offline Offline

Activity: 836
Merit: 1021


bits of proof


View Profile WWW
September 29, 2013, 08:00:02 AM
 #215

The authentication is handled by the message broker. The community server is the open source code that you can build and run on your own with your own message broker process. e.g. ActiveMQ, so username and password depends on your configuration.

In case you would like to use an Enterprise Server hosted by BOP, then please drop me a mail or a PM.
freeminer
Newbie
*
Offline Offline

Activity: 35
Merit: 0


View Profile
October 01, 2013, 09:38:47 PM
 #216

Is bitsofproof.com down  Huh
grau (OP)
Hero Member
*****
Offline Offline

Activity: 836
Merit: 1021


bits of proof


View Profile WWW
October 02, 2013, 05:47:00 AM
 #217

You were "lucky" to hit the maintenance window our hosting provider announced and used.
freeminer
Newbie
*
Offline Offline

Activity: 35
Merit: 0


View Profile
October 02, 2013, 11:12:32 AM
 #218

You were "lucky" to hit the maintenance window our hosting provider announced and used.

Um, I tried to open it on Sunday and Monday and it was down too, so maybe you need to change your provider.
grau (OP)
Hero Member
*****
Offline Offline

Activity: 836
Merit: 1021


bits of proof


View Profile WWW
October 02, 2013, 04:51:53 PM
 #219

You were "lucky" to hit the maintenance window our hosting provider announced and used.

Um, I tried to open it on Sunday and Monday and it was down too, so maybe you need to change your provider.
I am quite sure it was not down. Maybe routing problems. Where are you accessing from?
grau (OP)
Hero Member
*****
Offline Offline

Activity: 836
Merit: 1021


bits of proof


View Profile WWW
December 08, 2013, 09:43:28 PM
 #220

Added BIP39 support,  that passes Trezor's test vectors.
https://github.com/bitsofproof/supernode/blob/master/api/src/main/java/com/bitsofproof/supernode/wallet/BIP39.java

Added Shamir's secret shares algorithm
https://github.com/bitsofproof/supernode/blob/master/api/src/main/java/com/bitsofproof/supernode/wallet/ShamirsSecretSharing.java

You can create a random word list e.g.:
Code:
		SecureRandom random = new SecureRandom ();
byte[] seed = new byte[16];
random.nextBytes (seed);
System.out.println (BIP39.encode (seed, ""));
// assume it prints:
// mind evil language crouch legal brave insane bid speed notice material scheme

You may now create a BIP32 master out of a word list as e.g.
Code:
		String mnemonic = "mind evil language crouch legal brave insane bid speed notice material scheme";
ExtendedKey key = ExtendedKey.create (BIP39.decode (mnemonic, ""));
System.out.println (key.serialize (true));
// prints: xprv9s21ZrQH143K2uwgrphL7P5ePDPBp8ukjVT3CspHyvdHigHY9DAYQX6D6dkBThQCgmJskkzTbHFy6ZGvz3Vm8GzkGuDAWmvqsKrityeTW5W

Instead of storing the secret word list you could create 3 backups of which 2 is needed to recreate the list (and one is useless alone).

Code:
		List<String> backups = ShamirsSecretSharing.issueMnemonicShares (BIP39.decode (mnemonic, ""), 3, 2, "");
for ( String b : backups )
{
System.out.println (b);
}
// prints:
// find worry owner drill category cancel error stock inspire place bullet blind wood course spend gather response fat
// huge bulk human envelope theory van cricket cattle reopen divorce alley upper pig afford spy mass design reduce
// noodle predict ancient tuition still result garbage melt wise angle island peace rate cereal outside actual more lock

Now take any two of the three to reconstruct the key:

Code:
		List<String> pick = new ArrayList<> ();
pick.add (backups.get (0));
pick.add (backups.get (2));
ExtendedKey recreated = ExtendedKey.create (ShamirsSecretSharing.reconstructFromMnemonicShares (pick, ""));
System.out.println (recreated.serialize (true));
// prints again:
// prints: xprv9s21ZrQH143K2uwgrphL7P5ePDPBp8ukjVT3CspHyvdHigHY9DAYQX6D6dkBThQCgmJskkzTbHFy6ZGvz3Vm8GzkGuDAWmvqsKrityeTW5W

Use the passphrase option (the "" in parameters) to get plausible deniability of the wallet, since you may fund more than one passphrase.
Pages: « 1 2 3 4 5 6 7 8 9 10 [11] 12 13 14 »  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!