Author Topic: 50 PTS Bounty - Fix PTS Synchronization Time Issues [PAID]  (Read 6151 times)

0 Members and 1 Guest are viewing this topic.

Offline barwizi

  • Hero Member
  • *****
  • Posts: 764
  • Noirbits, NoirShares, NoirEx.....lol, noir anyone?
    • View Profile
    • Noirbitstalk.org
Re: 50 PTS Bounty - Fix PTS Synchronization Time Issues [PENDING]
« Reply #30 on: December 28, 2013, 11:46:54 pm »
PiNEJGUv4AZVZkLuF6hV4xwbYTRp5etWWJ
--Bar--  PiNEJGUv4AZVZkLuF6hV4xwbYTRp5etWWJ

The magical land of crypto, no freebies people.

Offline toast

  • Hero Member
  • *****
  • Posts: 4002
    • View Profile
  • BitShares: nikolai
Re: 50 PTS Bounty - Fix PTS Synchronization Time Issues [PENDING]
« Reply #31 on: December 29, 2013, 12:28:25 am »
Yo, it doesn't build anymore after the churn fix

init.cpp: In function ‘bool AppInit2(boost::thread_group&)’:
init.cpp:498:22: error: ‘setChurnMode’ was not declared in this scope
make: *** [obj/init.o] Error 1


edit: derp, wasn't in the header
« Last Edit: December 29, 2013, 12:37:30 am by toast »
Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.

Offline toast

  • Hero Member
  • *****
  • Posts: 4002
    • View Profile
  • BitShares: nikolai
Re: 50 PTS Bounty - Fix PTS Synchronization Time Issues [PENDING]
« Reply #32 on: December 29, 2013, 12:44:34 am »
Did you try building and testing your change? There were compile errors
Code: [Select]
net.cpp: In function ‘void setChurnMode()’:
net.cpp:77:29: error: assignment of read-only variable ‘MAX_OUTBOUND_CONNECTIONS’
net.cpp: In function ‘void ThreadOpenConnections()’:

Fixed by making MAX_OUTBOUND_CONNECTIONS not a static const


Is my churn usage understanding correct? I'm changing your script to use the new flag:
Code: [Select]
sudo apt-get update && sudo apt-get install git make g++ build-essential libminiupnpc-dev libboost-all-dev libdb++-dev libgmp-dev libssl-dev dos2unix
git clone https://github.com/InvictusInnovations/ProtoShares
cd Protoshares/src
make -f makefile.unix
echo "rpcuser=[youruser]" >> /root/.protoshares/protoshares.conf
echo "rpcpassword=[yourpass]" >> /root/.protoshares/protoshares.conf
./bitcoind -daemon -churn
./bitcoind setgenerate true 3
Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.

Offline bytemaster

Re: 50 PTS Bounty - Fix PTS Synchronization Time Issues [PENDING]
« Reply #33 on: December 29, 2013, 12:51:58 am »
Ok, I'm setting up a DO droplet. I'll report when it's built and blockchain is downloaded. Once we confirm it works, I'll write a setup script and spin up 5-10 instances, then update the pull request with the new IP addresses.

I don't want to pay for more instances than necessary, so can we justify the monthly cost of 5-10 instances vs just 5?   
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline barwizi

  • Hero Member
  • *****
  • Posts: 764
  • Noirbits, NoirShares, NoirEx.....lol, noir anyone?
    • View Profile
    • Noirbitstalk.org
Re: 50 PTS Bounty - Fix PTS Synchronization Time Issues [PENDING]
« Reply #34 on: December 29, 2013, 12:54:11 am »
it did compile on mine, strange. oh, i know why it gave you that error, net.h was missing from the files i uploaded. follow the link again, it should be there.
--Bar--  PiNEJGUv4AZVZkLuF6hV4xwbYTRp5etWWJ

The magical land of crypto, no freebies people.

Offline barwizi

  • Hero Member
  • *****
  • Posts: 764
  • Noirbits, NoirShares, NoirEx.....lol, noir anyone?
    • View Profile
    • Noirbitstalk.org
Re: 50 PTS Bounty - Fix PTS Synchronization Time Issues [PENDING]
« Reply #35 on: December 29, 2013, 12:56:17 am »
oh, you already got around it, cool. churn, is Freetrade's item, he'd know best.

--Bar--  PiNEJGUv4AZVZkLuF6hV4xwbYTRp5etWWJ

The magical land of crypto, no freebies people.

Offline toast

  • Hero Member
  • *****
  • Posts: 4002
    • View Profile
  • BitShares: nikolai
Re: 50 PTS Bounty - Fix PTS Synchronization Time Issues [PENDING]
« Reply #36 on: December 29, 2013, 01:05:49 am »
Would like bytemaster to comment:

Can we make hosting nodes a separate bounty? Maybe like, 2 PTS plus the cost of hosting, for the first 4 people who use a new provider (I did the first one with DO). That way the seed nodes aren't all controlled by one person, and people who already have accounts on other hosting services can set it up. We already have the setup script and everything. We could hard-code the IPs later once they are set up, there is already enough to have new nodes connect successfully.

If we do that, I think 50 PTS is still fair, even though we did more than was strictly necessary to satisfy the initial requirements. I say a token 2 PTS to freetrade for his suggestion, then 20 to me and 28 to barwizi.
Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.

Offline bytemaster

Re: 50 PTS Bounty - Fix PTS Synchronization Time Issues [PENDING]
« Reply #37 on: December 29, 2013, 01:19:10 am »
Would like bytemaster to comment:

Can we make hosting nodes a separate bounty? Maybe like, 2 PTS plus the cost of hosting, for the first 4 people who use a new provider (I did the first one with DO). That way the seed nodes aren't all controlled by one person, and people who already have accounts on other hosting services can set it up. We already have the setup script and everything. We could hard-code the IPs later once they are set up, there is already enough to have new nodes connect successfully.

If we do that, I think 50 PTS is still fair, even though we did more than was strictly necessary to satisfy the initial requirements. I say a token 2 PTS to freetrade for his suggestion, then 20 to me and 28 to barwizi.

Agreed.  I will start a new bounty for that, with a maximum hosting cost of $10 per month because many people are probably already running servers that are not at full capacity and adding an extra service is not costing them anything extra.

For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline toast

  • Hero Member
  • *****
  • Posts: 4002
    • View Profile
  • BitShares: nikolai
Re: 50 PTS Bounty - Fix PTS Synchronization Time Issues [PENDING]
« Reply #38 on: December 29, 2013, 01:40:05 am »
So what else do we have to do to claim this? The pull request is ready and has been tested on ubuntu.
There are build errors on OSX, but they are totally unrelated to our changes. Is this expected? Error below.
I don't have a way to test on windows.


Code: [Select]
/Users/nikolai/ProtoShares/src/serialize.h:911:10: error: class member cannot be redeclared
    void insert(iterator it, std::vector<char>::const_iterator first, std::vector<char>::const_iterator last)
         ^
/Users/nikolai/ProtoShares/src/serialize.h:898:10: note: previous declaration is here
    void insert(iterator it, const_iterator first, const_iterator last)
         ^
/Users/nikolai/ProtoShares/src/serialize.h:911:10: error: redefinition of 'insert'
    void insert(iterator it, std::vector<char>::const_iterator first, std::vector<char>::const_iterator last)
         ^
/Users/nikolai/ProtoShares/src/serialize.h:898:10: note: previous definition is here
    void insert(iterator it, const_iterator first, const_iterator last)
         ^
Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.

Offline FreeTrade

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 700
    • View Profile
Re: 50 PTS Bounty - Fix PTS Synchronization Time Issues [PENDING]
« Reply #39 on: December 29, 2013, 01:43:22 am »
Is my churn usage understanding correct? I'm changing your script to use the new flag:
Code: [Select]
sudo apt-get update && sudo apt-get install git make g++ build-essential libminiupnpc-dev libboost-all-dev libdb++-dev libgmp-dev libssl-dev dos2unix
git clone https://github.com/InvictusInnovations/ProtoShares
cd Protoshares/src
make -f makefile.unix
echo "rpcuser=[youruser]" >> /root/.protoshares/protoshares.conf
echo "rpcpassword=[yourpass]" >> /root/.protoshares/protoshares.conf
./bitcoind -daemon -churn
./bitcoind setgenerate true 3

I think so - check your log to ensure that you're getting notices of disconnections due to churn.

Also you might want to play around with the default numbers. For the MC network, I chose the default number of outgoing connections to be 4 - you might want to stick with 8. I think I set the number of outgoing connections for a churn node to be 50, but you might want more if you have a bigger network.
“People should be more sophisticated? How are you gonna get that done?” - Jerry Seinfeld reply to Bill Maher

Offline zvs

  • Full Member
  • ***
  • Posts: 193
    • View Profile
Re: 50 PTS Bounty - Fix PTS Synchronization Time Issues [PENDING]
« Reply #40 on: December 29, 2013, 03:17:42 am »
this is ridiculous, there never was an issue to begin with

while you're bust distributing money to people that have done absolutely nothing, i've been running a dedicated node for a month

    "version" : 80600,
    "protocolversion" : 70001,
    "walletversion" : 60000,
    "balance" : 0.00000000,
    "blocks" : 36221,
    "timeoffset" : -1,
    "connections" : 375,
    "proxy" : "",
    "difficulty" : 0.01203577,
    "testnet" : false,
    "keypoololdest" : 1384922232,
    "keypoolsize" : 6,
    "paytxfee" : 0.01000000,
    "errors" : ""

the solution was obvious, fix the seed node list

i have noticed i've been getting more connections lately.  i'd hate to be a source of free money for someone that's done two things:  jack and shit.  so if i find that it's on a new seed node list, i'll take it down
Pls to join Primedice 3 and frolic about merrily whilst gambling awe-inspiring quantities of bitcoins. The power of Christ compels you.

I have a dogecoin p2pool at Nogleg.

Offline bytemaster

Re: 50 PTS Bounty - Fix PTS Synchronization Time Issues [PENDING]
« Reply #41 on: December 29, 2013, 03:27:53 am »

this is ridiculous, there never was an issue to begin with

while you're bust distributing money to people that have done absolutely nothing, i've been running a dedicated node for a month

    "version" : 80600,
    "protocolversion" : 70001,
    "walletversion" : 60000,
    "balance" : 0.00000000,
    "blocks" : 36221,
    "timeoffset" : -1,
    "connections" : 375,
    "proxy" : "",
    "difficulty" : 0.01203577,
    "testnet" : false,
    "keypoololdest" : 1384922232,
    "keypoolsize" : 6,
    "paytxfee" : 0.01000000,
    "errors" : ""

the solution was obvious, fix the seed node list

i have noticed i've been getting more connections lately.  i'd hate to be a source of free money for someone that's done two things:  jack and shit.  so if i find that it's on a new seed node list, i'll take it down

First of all there is an issue that I have observed.  The fix requires providing a new binary with free trades churn arg.  As I do not have time nor a windows machine to produce the binaries and our other devs are busy it is easily worth $1000 to save our time. 







Sent from my iPhone using Tapatalk
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline toast

  • Hero Member
  • *****
  • Posts: 4002
    • View Profile
  • BitShares: nikolai
Re: 50 PTS Bounty - Fix PTS Synchronization Time Issues [PENDING]
« Reply #42 on: December 29, 2013, 03:33:09 am »
ZVS, do you have a windows machine?

If you build the new source on a windows machine you can get in on this bounty. Yes, the original issue was just that their seed nodes list was bad but since then we've made a few other improvements too. Also, in this thread we've had bytemaster confirm that he'll reimburse up to $10 a month for people who run seed nodes, up to 4 total nodes on distinct providers.

https://github.com/nmushegian/ProtoShares/tree/psforkinit
Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.

Offline barwizi

  • Hero Member
  • *****
  • Posts: 764
  • Noirbits, NoirShares, NoirEx.....lol, noir anyone?
    • View Profile
    • Noirbitstalk.org
Re: 50 PTS Bounty - Fix PTS Synchronization Time Issues [PENDING]
« Reply #43 on: December 29, 2013, 06:10:30 am »

this is ridiculous, there never was an issue to begin with

while you're bust distributing money to people that have done absolutely nothing, i've been running a dedicated node for a month

    "version" : 80600,
    "protocolversion" : 70001,
    "walletversion" : 60000,
    "balance" : 0.00000000,
    "blocks" : 36221,
    "timeoffset" : -1,
    "connections" : 375,
    "proxy" : "",
    "difficulty" : 0.01203577,
    "testnet" : false,
    "keypoololdest" : 1384922232,
    "keypoolsize" : 6,
    "paytxfee" : 0.01000000,
    "errors" : ""

the solution was obvious, fix the seed node list

i have noticed i've been getting more connections lately.  i'd hate to be a source of free money for someone that's done two things:  jack and shit.  so if i find that it's on a new seed node list, i'll take it down

First of all there is an issue that I have observed.  The fix requires providing a new binary with free trades churn arg.  As I do not have time nor a windows machine to produce the binaries and our other devs are busy it is easily worth $1000 to save our time. 

Sent from my iPhone using Tapatalk

I'd like to point out that I feel this is not in the spirit of the bounty, the bounty is for a fix for synchronization time. That i completed on my second try. FreeTrade then mentioned that he has a util "churn" and you asked that it be added, which i did, but that was already past the "fix". You did not mention the need for windows or osx in the OP. All further work such as providing binaries and other patches is separate and was done on request, it is up to you whether you wish to pay for it but i feel the terms of this bounty have been met.

In response to ZVS, the difference between you having a permanent seed node, and my Hard-coding them into the client is that my fix affects everyone, it meets the requirement. Instead of having to either browse through threads for addnodes or waiting for the client to discover on it's own, it will just start by connecting to an always on node, which greatly shortens the time required to sync.

As for windows build, it is not part of the bounty but i will try to get the dependencies nw that i have a windows machine and try my hand at it. Which version of boost is necessary by the way?

As part of the fix, i think i may as well include a checkpoint since I don't think we need daily builds. Osx is another thing altogether, toast, can you try it out?
« Last Edit: December 29, 2013, 06:15:20 am by barwizi »
--Bar--  PiNEJGUv4AZVZkLuF6hV4xwbYTRp5etWWJ

The magical land of crypto, no freebies people.

Offline toast

  • Hero Member
  • *****
  • Posts: 4002
    • View Profile
  • BitShares: nikolai
Re: 50 PTS Bounty - Fix PTS Synchronization Time Issues [PENDING]
« Reply #44 on: December 29, 2013, 06:15:43 am »

...

First of all there is an issue that I have observed.  The fix requires providing a new binary with free trades churn arg.  As I do not have time nor a windows machine to produce the binaries and our other devs are busy it is easily worth $1000 to save our time. 

Sent from my iPhone using Tapatalk

I'd like to point out that I feel this is not in the spirit of the bounty, the bounty is for a fix for synchronization time. That i completed on my second try. FreeTrade then mentioned that he has a util "churn" and you asked that it be added, which i did, but that was already past the "fix" as you did not mention the need for windows or osx in the OP. All further work such as providing binaries and other patches is separate and was done on request, it is up to you whether you wish to pay for it but i feel the terms of this bounty have been met.

Totally agree, most of the work we did was for stuff tacked on as the thread evolved.

Quote
As for windows build, it is not part of the bounty but i will try to get the dependencies nw that i have a windows machine and try my hand at it. Which version of boost is necessary by the way?

Check out doc/build-msw.md
Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.