Bitcoin Forum
April 18, 2024, 03:43:53 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 11 12 13 14 15 16 17 18 19 20 21 22 23 [24] 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 ... 159 »
  Print  
Author Topic: Slimcoin | First Proof of Burn currency | Decentralized Web  (Read 136736 times)
gjhiggins
Legendary
*
Offline Offline

Activity: 2254
Merit: 1278



View Profile WWW
March 18, 2017, 01:49:49 PM
 #461

Great update and thanks a lot for your work!

As I saw a bit of activity on the repository I played with a few of the branches during the last few days.

The master branch didn't compile, but ...

Thanks for the feedback, that is most useful. I'll attend to master and ensure that it compiles (temporarily ignoring the auto_ptr deprecations) and (all but two of) the tests succeed (below is a description of how to compile and run the tests)
.
Code:
cd slimcoin/src
make -f makefile.unix test_slimcoin
./test_slimcoin


I found it just a little too tedious to keep all the branches merged with master and frankly, once ported, there isn't much to do other than add tests, so I merged the lot into prerelease and will then merge that with master to create a release (which, on Github, opens the opportunity to provide OSX/Win binaries downloadable from the GH repos “Releases” tab. That's the overall plan at any rate.

Quote
Just a word about the OP_RETURN features. Did you hear about AKASHA (http://akasha.world)?

..

This project may go in the direction of that "collective intelligence" you talked about in some of your previous posts.

Thanks for drawing my attention to AKASHA. I did see it and I passed it by - I'm being brutalist; any social-networking-oriented effort that is insensible to the implications of a 99.9999:0.0001 m/f ratio can safely be ignored as doomed to fail. (see Simon Baron-Cohen’s work on the “Extreme Male Brain” and note carefully that this a spectrum [1, 2])

Quote
As for Slimcoin, still a huge fan and looking forward to the OSX release. Right now I'm moving all the Slimcoins from the linux machines (including the raspberry PI) to the OSX version, in which I enabled staking. So mining and burning is done on Linux and staking only on the visual client.

OP_RETURN debugging continues - I'm beginning to suspect that (at least part of) the problem lies in what I've coded to be written as OP_RETURN data rather than what's being read but neverthess, OP_RETURN txs are being correctly recognised by the code:





The (lifted from Torrentcoin) code correctly reads the OP_RETURN data and (incorrectly in our case) splits the data by space characters and assigns the (expected) third chunk (the split is 0-indexed) to be processed.

It's not getting what it expects and there's no clue in the Torrentcoin code as to what was written originally as OP_RETURN data (I can only assume there was a separate RPC script that did the heavy lifting) so I'm obliged to use the C++ code to build an understanding of what the code expects to see - and then decide whether that's actually suitable for Slimcoin's particular use of OP_RETURN.

There is an overall direction to the work I'm doing on the Slimcoin code. The codebase is now (reasonably? arguably?) stable - but what are we going to do with it?

So, I'm looking at “Server-less & domain-less websites updatable via torrents and bitcoin blockchain.” https://github.com/elendirx/web2web/

I've already got this running (on a 0.13.X Core codebase) using the Qt5 WebEngineWidget. The disadvantage is that QWebEngineWidget uses the Chromium JS engine and (so) there is no MXE cross-compilation path to Windows. I'm given to understand that native compilation on Windows is feasible using a recent version of VS but I'm not really in a position to go down that route, so it's tentative at best. However, it's a pure soft fork, uses the standard OP_RETURN tx feature and doesn't need anything out of the ordinary, so QWebEngine-capable Linux and OS X “publish-by-torrent” Slimcoin clients can happily co-exist with vanilla WIndow clients

[1] https://iancommunity.org/cs/understanding_research/extreme_male_brain
[2] https://en.wikipedia.org/wiki/Empathizing–systemizing_theory

“Here comes the science ...”

Quote
According to Baron-Cohen, females on average score higher on measures of empathy and males on average score higher on measures of systemizing. This has been found using the child and adolescent versions of the Empathy Quotient (EQ) and the Systemizing Quotient (SQ), which are completed by parents about their child/adolescent,[11] and on the self-report version of the EQ and SQ in adults.

Quote
More recently, Simon Baron-Cohen, a prominent autism researcher at Cambridge University, has proposed the extreme male brain theory of autism, which attempts to explain the remarkable similarities between traits generally associated with human "maleness" and traits associated with the autism spectrum.

What are these traits? For one thing, typically developing males tend to show strengths in mathematical and spatial reasoning and the ability to discriminate details from a complex whole. Compared with typically developing females, however, males tend to be at higher risk for language impairment and at a disadvantage on social-judgment tasks, measures of empathy and cooperation, and imaginary play during childhood. 12  Many of the traits associated with ASDs could be thought of as an extreme profile of "typical male" strengths and challenges. Where, on average, typical men may be good at detail-oriented processing, people with ASD may be incredibly good at perceiving detail...and impaired when it comes to seeing "the big picture." Where typical men may be less able than women to make social judgments or empathize with others, people with ASDs are literally disabled in these areas.

It's a spectrum which prompts me to think objectively about the implications for altcoin communities which are, in practical terms, all-male groups.

Cheers

Graham
1713411833
Hero Member
*
Offline Offline

Posts: 1713411833

View Profile Personal Message (Offline)

Ignore
1713411833
Reply with quote  #2

1713411833
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
gjhiggins
Legendary
*
Offline Offline

Activity: 2254
Merit: 1278



View Profile WWW
March 18, 2017, 10:44:43 PM
 #462

@gjhiggins what it will take to add a layer of privacy on top of Slimcoin? I'm interested to know your opinions, from a "software architecture" point of view.

OP_RETURN is the key:

https://bitcoinmagazine.com/articles/stealth-transactions-and-reusable-payment-codes-how-bitcoin-addresses-can-be-hidden-in-plain-sight-1467743772/

Cheers

Graham
gavrilo77
Hero Member
*****
Offline Offline

Activity: 819
Merit: 502



View Profile
March 19, 2017, 08:35:59 AM
 #463

I could not compile "prerelease"

/usr/include/c++/6/array:90:12: note:                 template<class _Tp, long unsigned int _Nm> struct std::array
     struct array
            ^~~~~
makefile.unix:134: recipe for target 'obj/net.o' failed
make: *** [obj/net.o] Error 1
cryptovore
Member
**
Offline Offline

Activity: 98
Merit: 10


View Profile
March 19, 2017, 10:59:43 AM
 #464


Very interesting. Looks like the first option is a bit "expensive". The second one, though, looks promising. And sending the "extended public key" in an OP_RETURN transaction, encrypted, could only add to the layer of protection. Sounds like an interesting direction.
cryptovore
Member
**
Offline Offline

Activity: 98
Merit: 10


View Profile
March 19, 2017, 11:06:20 AM
 #465



Thanks for drawing my attention to AKASHA. I did see it and I passed it by - I'm being brutalist; any social-networking-oriented effort that is insensible to the implications of a 99.9999:0.0001 m/f ratio can safely be ignored as doomed to fail. (see Simon Baron-Cohen’s work on the “Extreme Male Brain” and note carefully that this a spectrum [1, 2])


You'd be surprised about their egalitarian approach. Their customer management head is a female. But enough with the prayers, the project is still in its very early stages, as promising as it looks.

The debugging of OP_RETURN looks a bit tiring. The data written is properly encoded/decoded? Just asking...

As for what it should be used for, well, the sky is the limit. I can think of many uses, from vertical knowledge databseses, Quora or Stackoverflow-like, but server-less, up to alternative publishing territories for specific groups.
Xenophanes0
Jr. Member
*
Offline Offline

Activity: 50
Merit: 10


View Profile
March 21, 2017, 06:50:17 AM
 #466

I wonder what would happen if, instead of using hashes of torrents, we will store ... whatever. You can build an entire communication protocol on top of the blockchain.

With limitations, yes. Torrent hashes are just low-hanging fruit. See https://github.com/solid/solid for the Really Big Picture(tm).

Cheers

Graham


do the best expect the worst and do not lose your cheerfulness at any cost in the game of life.
gjhiggins
Legendary
*
Offline Offline

Activity: 2254
Merit: 1278



View Profile WWW
March 21, 2017, 02:12:39 PM
 #467

I transcribed Peter Bushnell’s “Stealth addresses” branch of Deepcoin into a Slimcoin “feature.stealthaddress” branch.

As one might expect with such a speculative venture, the added code didn't all work. I could create stealth addresses but not send money to them because of an inbuilt sanity check in the “send coins” code which checks that the destination address length == 20 chars (stealth addresses are at least twice that length). So, nearly, but no cigar.

I've been shepherding my ducks into a line, tidying things up in preparation for a release and, whilst reviewing the commit history, saw that the PPCoin codebase had seen various commits after the date of the “common commit” between the PPCoin and Slimcoin codebase that I exploited to bring Slimcoin up to PPCoin 0.4

In both instances, you need to scroll down to the commit labelled “Fix calculation of account balance.” (the common point).

In the PPcoin repos, there's a series of later commits, some with opaque labels which mask their significance but broadly, everything up to the top of that page is relevant to Slimcoin and I spent yesterday evening working my way through the sequence, fixing conflicts from cherrypicking the commits i.e. apply just the selected commit and ensuring that the result compiles (instead of the simpler but cruder approach of merging all the commits in one indigestible chunk).

In the process of managing the conflicts introduced, I noticed that the “address.length == 20” sanity check was replaced by a check which (presumably) will accept stealth addresses (represented as OP_RETURN data) of a length > 20 chars. So, if it all works out, I should be able to successfully add stealth address support to Slimcoin.

Also, some of the GUI additions will become more robust as they typically assume that the codebase support the abstractions introduced in the “Merge some Bitcoin code as preliminary step to support coin control features” commit

New data structures:
-CPubKey
-CKeyID
-CScriptID
-CTxDestination
(cherry picked from commit 4708d16)

And it's these new data structures that I reported previously that I managed to “smuggle in” to allow the GUI code to function, e.g. in the Deepcoin stealth address code:

https://github.com/Deepcoinbiz/Deepcoin/commit/51221031e8aa4ec0b9bd25bab1508a7a71df2fd9#diff-c04bd6830c6c2f5dac54b1559805f906R482

std::map<CTxDestination, std::string>::iterator mi = wallet->mapAddressBook.find(address_parsed.Get());

It remains to be seen whether these later PPcoin commits actually support the integration of coincontrol (not achieved yet in PPcoin, I believe) but we do have an existing model in the Sprouts codebase: (scroll down to “Fix calculation of account balance” as before, subsequent commits should be cherry-pickable).

The coincontrol additions are in the commit labelled Merge pull request #1 from sproutcoin/coincontrol (list of commits, scroll down to the label). There are a lot of changes and it's very definitely speculative work but it just might provide an opportunity to re-seat the Slimcoin code in a much more recent codebase, so I reckon it's worth a go.

On a tangent, I have mischievously selected some contents of https://github.com/smith7800/ for your delectation ...

Quote
https://github.com/smith7800/brightcoin “SlimCoin Official Development Repo”  - Latest commit 81fe961  on 23 May 2015, “J Smith initial”

https://github.com/smith7800/SLIMCoin-1 “SLIMCoin unofficial development shrub” - Latest commit f26b09c  on 31 Jan 2015

https://github.com/smith7800/slimminer-opencl

https://github.com/smith7800/heat “heat Official Development Repo What is heat? [heat]() (abbreviated SLM),“

https://github.com/smith7800/slimcoin “Slimcoin.club Community Development Tree” Latest commit c733da8  on 7 Nov 2014 (kryptoslab’s fork)

https://github.com/smith7800/slimcoinseeder

https://github.com/smith7800/torrentcoin

I think it is entertainingly suggestive that the original dev is still active but has no active interest in Slimcoin. And, if true, would seem to put the kibosh on any speculation that the original dev was someone notable in the crypto[graphy|currency] scene.

Cheers

Graham
gjhiggins
Legendary
*
Offline Offline

Activity: 2254
Merit: 1278



View Profile WWW
March 23, 2017, 12:19:46 PM
 #468

I could not compile "prerelease"

/usr/include/c++/6/array:90:12: note:                 template<class _Tp, long unsigned int _Nm> struct std::array
     struct array
            ^~~~~
makefile.unix:134: recipe for target 'obj/net.o' failed
make: *** [obj/net.o] Error 1


Noted.

What OS are you using for the build?

Cheers

Graham
gjhiggins
Legendary
*
Offline Offline

Activity: 2254
Merit: 1278



View Profile WWW
March 23, 2017, 01:00:29 PM
 #469

... broadly, everything up to the top of that page is relevant to Slimcoin and I spent yesterday evening working my way through the sequence, fixing conflicts from cherrypicking the commits

This approach seems to have paid off. I've been able to replace the half-assed partial bridge code that I smuggled in with (more trustworthy) commits that I cherry-picked from the PPC development stream --- to the extent I have been able to successfully merge the latest PPcoin master branch.

The “stealth transactions” addition has been put on hold, it won't compile when merged with the new Slimcoin code because of an organisational infelicity:

Code:
In file included from src/script.h:11:0,
                 from src/main.h:12,
                 from src/bitcoinrpc.cpp:8:
src/base58.h:334:60: error: expected template-name before ‘<’ token
 class CBitcoinAddressVisitor : public boost::static_visitor<bool>
                                                            ^
src/base58.h:334:60: error: expected ‘{’ before ‘<’ token
src/base58.h:334:60: error: expected unqualified-id before ‘<’ token
In file included from /usr/include/boost/asio/handler_type.hpp:20:0,
                 from /usr/include/boost/asio/async_result.hpp:19,
                 from /usr/include/boost/asio.hpp:20,
                 from src/bitcoinrpc.cpp:24:
/usr/include/boost/asio/detail/push_options.hpp:71:40: error: expected declaration before end of line
Makefile:7525: recipe for target 'build/bitcoinrpc.o' failed

The source code is both syntactically and semantically correct, the compilation error points to a problem with the organisation of the codebase.

So I decided “first things, first”: I've merged all the existing prerelease code into the master branch and have now turned my attention to the ensuring that the test suite fixtures are adjusted to use Slimcoin addresses, etc. and that the tests pass.

Ultimately, I'll update the Travis CI configuration file and then we should be able to return to the reassuring position where Travis CI triggers on each new Slimcoin GH commit: automatically cloning the repos, compiling the code and running the test suite.

When that's complete (and both Windows/MacOX binaries generated) I will cut a release, assuming we don't hit any snags on the way.


Cheers

Graham
gavrilo77
Hero Member
*****
Offline Offline

Activity: 819
Merit: 502



View Profile
March 23, 2017, 06:45:02 PM
Last edit: March 23, 2017, 07:20:15 PM by gavrilo77
 #470

I could not compile "prerelease"

/usr/include/c++/6/array:90:12: note:                 template<class _Tp, long unsigned int _Nm> struct std::array
     struct array
            ^~~~~
makefile.unix:134: recipe for target 'obj/net.o' failed
make: *** [obj/net.o] Error 1


Noted.

What OS are you using for the build?

Cheers

Graham

Ubuntu 14.04 and 16.10. Same error

Master i compile without problem including qt
gjhiggins
Legendary
*
Offline Offline

Activity: 2254
Merit: 1278



View Profile WWW
March 24, 2017, 04:40:23 AM
 #471

Ubuntu 14.04 and 16.10. Same error

Master i compile without problem including qt

Okay, thanks. I'll run it up on a VM.

Cheers

Graham
cryptovore
Member
**
Offline Offline

Activity: 98
Merit: 10


View Profile
March 24, 2017, 08:43:18 AM
 #472


When that's complete (and both Windows/MacOX binaries generated) I will cut a release, assuming we don't hit any snags on the way.

Cheers

Graham



Kudoz to that, much appreciated!
blizzen1
Full Member
***
Offline Offline

Activity: 156
Merit: 100


View Profile
March 27, 2017, 01:09:30 PM
 #473

any news?

Bitrated user: blizzen.
gjhiggins
Legendary
*
Offline Offline

Activity: 2254
Merit: 1278



View Profile WWW
March 27, 2017, 01:19:42 PM
Last edit: March 27, 2017, 01:36:10 PM by gjhiggins
 #474

any news?

https://github.com/slimcoin-project/Slimcoin/commits/master


Code:
gjh@ashpool:~/minkiz/fabshop/SlimCoinWork/slimcoin-master/src$ ./test_slimcoin
Running 61 test cases...
test/key_tests.cpp(120): error in "key_test1": check fCompressed == false failed
test/key_tests.cpp(122): error in "key_test1": check fCompressed == false failed
test/key_tests.cpp(128): error in "key_test1": check secret1 == secret1C failed
test/key_tests.cpp(129): error in "key_test1": check secret2 == secret2C failed
test/key_tests.cpp(137): error in "key_test1": check addr1.Get() == CTxDestination(key1.GetPubKey().GetID()) failed
test/key_tests.cpp(138): error in "key_test1": check addr2.Get() == CTxDestination(key2.GetPubKey().GetID()) failed
test/key_tests.cpp(139): error in "key_test1": check addr1C.Get() == CTxDestination(key1C.GetPubKey().GetID()) failed
test/key_tests.cpp(140): error in "key_test1": check addr2C.Get() == CTxDestination(key2C.GetPubKey().GetID()) failed
test/Checkpoints_tests.cpp(29): error in "sanity": check !Checkpoints::CheckHardened(19080, p121300) failed
test/Checkpoints_tests.cpp(30): error in "sanity": check !Checkpoints::CheckHardened(99999, p15165) failed

*** 10 failures detected in test suite "Slimcoin Test Suite"

peercoin original test bindings:

Code:
static const string strSecret1     ("7AChr8cfXUxKJCpjekqEQGoRgpN1iFw44egp4jtqzmX8xTdtsiy");
static const string strSecret2     ("79kbfhqh1HV1B8ZxnsbSnu2F9jbm7XryrNBgvSKusoTpeppWmZr");
static const string strSecret1C    ("UBcfHrcR3YP9kwBhFeTt9ijuxk3k96uaX7LijWKqFyW27MPrVSuX");
static const string strSecret2C    ("U9dS1qFuaFkbmiQVFUK2qacVTZ2RhqDbvtWBCrnUPE5PKkLweTka");
static const CBitcoinAddress addr1 ("PKkaDEczLygWFN1C3ccEGraLshKMMEoBgn");
static const CBitcoinAddress addr2 ("PXYTm8BcoygtXB7VrAn77DeXhXCNSxxwsW");
static const CBitcoinAddress addr1C("PJC1cL5mBMKmQ357ZNMDVAWH5sDVJNX3p8");
static const CBitcoinAddress addr2C("P95CZ3kFgAvjnMdRgqLoApDuQ49ir7VAP7");

Note: strSecret?C values have an extra char.

TIL TWIWMBLA (*) “compressed keys” ...

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

Cheers

Graham

(*)  TWIWMBLA = “This week I will be mainly learning about ...” (https://www.youtube.com/watch?v=SWr0E_Qb39A)
gjhiggins
Legendary
*
Offline Offline

Activity: 2254
Merit: 1278



View Profile WWW
March 27, 2017, 03:05:53 PM
 #475

The mist begins to dissipate ...

Quote
More specifically, a public key in Bitcoin is a pair integers (x,y). For uncompressed public keys, these integers are encoded as 256-bit unsigned big-endian ints, concatenated together, and then prepended with a single 0x04 byte. The result is 65 bytes long.

For compressed public keys, only the x coordinate is encoded (like above, as 256-bit unsigned big-endian int). It turns out that the y coordinate can only be one of two values, one even and one odd. Instead of prepending a single 0x04 byte, a single 0x02 or 0x03 byte is prepended depending on y's value (0x02 for even, 0x03 for odd). The result is 33 bytes long.

Cheers

Graham
gavrilo77
Hero Member
*****
Offline Offline

Activity: 819
Merit: 502



View Profile
March 27, 2017, 06:30:32 PM
 #476

I  cant build "master"

Code:
uint256.h:273:24: note:   no known conversion for argument 1 from ‘CTxDestination {aka boost::variant<CNoDestination, CKeyID, CScriptID, CStealthAddress>}’ to ‘const base_uint<160u>&’
make: *** [obj/main.o] Error 1

and a lot of "no known conversion"

Used make -f makefile.unix
gjhiggins
Legendary
*
Offline Offline

Activity: 2254
Merit: 1278



View Profile WWW
March 27, 2017, 08:06:16 PM
 #477

I  cant build "master" [...] a lot of "no known conversion"

Used make -f makefile.unix

You’re a leetle ahead of the game, I hadn't actually gotten round yet to updating the makefiles for the headless client.

Two object files were missing from the list and the -std=gnu++11 CXXFLAG wasn’t set.

The latest commit should allow a successful compilation of the slimcoind headless client and the test_slimcoin binary (it does for me on 16.04 at any rate).

As soon as I’ve figured out how to generate compressed & uncompressed pubkeys, I can make the correct value bindings in the test suite and then I can move on to sorting out the Travis CI config.

Cheers

Graham
whiskers75
Hero Member
*****
Offline Offline

Activity: 658
Merit: 502


Doesn't use these forums that often.


View Profile
March 27, 2017, 08:28:06 PM
 #478

Are there any blockchain to download?
WTB slimcoin..
price PM thx.Wink

Elastic.pw Elastic - The Decentralized Supercomputer
ELASTIC ANNOUNCEMENT THREAD | ELASTIC SLACK | ELASTIC FORUM
ptrace
Newbie
*
Offline Offline

Activity: 34
Merit: 0


View Profile
March 27, 2017, 09:24:25 PM
 #479

Is there a way to keep memory requirements low, by configuration option?

I like to fire up a node on a small VPS with only 512MB Ram..
gjhiggins
Legendary
*
Offline Offline

Activity: 2254
Merit: 1278



View Profile WWW
March 28, 2017, 12:25:56 AM
Last edit: March 28, 2017, 01:19:26 AM by gjhiggins
 #480

Are there any blockchain to download?
WTB slimcoin..
price PM thx.Wink

I managed to nuke my copy of the blockchain during development shenanigans. I didn't notice for a while as I had to close down the started-on-bootup Qt client in order to run the version I was developing. Basically, it just wouldn't synch, the log immediately started filling up with orphans and endless consensus disagreements.

I totally failed to persuade the client to read a copied-down blk0001.dat, even if renamed as bootstrap.dat. In the end, I simply ssh'd into my remote-host server, ran cd ~/.slimcoin; tar -zcf /tmp/slmblock.tar.gz blk* database, copied that and it worked, even going from the remote server's Ubuntu 14.04 to my laptop's 16.04. Seems to need the index, dunno why. It's a bit inelegant but what the hey.

So, if you're on an Ubuntu box, there's a solution, might even work on other distros. I've set up a cron job on the server to make a daily tar gzip dump.

https://minkiz.co/noodlings/slm/slm-datadir-blockfiles.tar.gz (655M)

I can't do much with Windows native (IIRC, wine-hosted is no good because the db files are still wrongly endian). OS X (again, IIRC) is okay using Linux bzips. I have created a zip file just in case: https://minkiz.co/noodlings/slm/slm-datadir-blockfiles.zip

There is, ofc, linearize, the preferred solution, which I'm working on. The trouble is that it's so slooooow (I mean days) that it's computationally infeasible on my local kit. So I shovelled it up to the server and let it run there but it just silently failed after some time. (I suppose I should check whether PyPy makes any difference).

Cheers

Graham

Edit: corrected archive compression & file extension
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 [24] 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 ... 159 »
  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!