The current DTC code is very old.
I can try to upgrade the code. Is it meaningful?
May be I will try to support it. I need a list of necessary improvements.
But I am a newbie in cryptocurrencies. I need the time for deep exploration of the original code and proposed improvements (if there will be any). It can take a month or more. Please write here if you are interested in.
Please write the list of necessary improvements.
Is it possible to integrate some new cryptocurrency technologies into DTC? If source code of such technologies is open I can try to integrate it.
How do you think?
1. Windows wallet needs to be updated. 2. Are you familiar with the anonymity features of Dash, Monero and Zcash? Maybe these could be added to Datacoin?
|
|
|
../datacoin-hp/src/rpcrawtransaction.cpp:242:77: required from here
Change line #242 of src/rpcrawtransaction.cpp from ... const CScriptID& hash = boost::get<const CScriptID&>(address);to ... const CScriptID& hash = boost::get<CScriptID>(address);Cheers Graham Thanks! That compiled beautifully. I am now running Datacoin version v0.1.2.0dtc-hp14-unk-beta. I mirrored the changes on Github under extro24/datacoin-hp. The most up to date version of the client is that of Graham Higgins, https://github.com/gjhiggins/datacoin, and that is the one that I will be compiling in the future.
|
|
|
I wish there had been a change to the CLIENT_NAME in src/version.cpp or an incremental update to the CLIENT_VERSION_REVISION in src/clientversion.h because when I look at the peers today, I see 3x as many nodes running /Satoshi:0.8.3/ (datacoin-hp) as I see running /Satoshi:0.8.5/ (datacoin) and I can't tell which are running from the datacoin-project repository and which are running from foo1inge's repository.
I work on a cheapo 5-year old Acer i3 laptop (got 8Gb tho') so not in a position to mine DTC. Have you tried g1g0's hp14 version? https://github.com/g1g0/datacoin-hpCheers Graham When I tried to compile g1g0's version of Datacoin I got the following error: ../datacoin-hp/src/rpcrawtransaction.cpp:242:77: required from here /usr/include/boost/variant/get.hpp:178:5: error: invalid application of 'sizeof' to incomplete type 'boost::STATIC_ASSERTION_FAILURE<false>' BOOST_STATIC_ASSERT_MSG( ^ Makefile:2018: recipe for target 'build/rpcrawtransaction.o' failed make: *** [build/rpcrawtransaction.o] Error 1 22:58:14: The process "/usr/bin/make" exited with code 2. Error while building/deploying project datacoin-qt (kit: Qt4) When executing step "Make" I followed exactly the instructions for compiling bitcoin under Ubuntu found here: https://github.com/bitcoin/bitcoin/blob/master/doc/build-unix.mdI am using Qt Creator 3.5.1 with kit Qt4.
|
|
|
Is Datacoin still relevant as we have other active projects like SIA, STORJ and filecoin with active dev team and lot of money to spend at their disposal?
Datacoin went down because the developer disappeared. It was very active before that happened. With new developers the coin should revive fairly quickly. The name has good brand recognition and immediately indicates the function.
|
|
|
I smell teamwork.
Embii tells me (on Facebook) that they will look into verionum's suggestion for Apertus.io over this weekend. They are starting with the next version of Apertus.io and I think we should follow the developments, especially as far as integration with Datacoin is concerned. Biggest problem with exchanges is that they always ask "who is the developer?" and "where is the latest wallet?". In future I am going to start naming the people in this forum who seem to be involved in the code or who have a Datacoin repository on Github. People like Chicago, cryptrol, gjhiggins or verionum. Please create your own Datacoin repositories and do pull requests. That is really all the exchanges are asking for. If you want to volunteer or object please say so. Gregory Higgins has a list of exchanges here: https://minkiz.co/exchangeEverybody please mine and run nodes. I could get thousands of coins with old Celeron laptops. Difficulty is now 7.61 and climbing, but that is much better than the 6.8 where we were. I get the sense that with Bitcoin at $4000 people are highly motivated to look at the old and neglected coins like Datacoin. Especially since you can do more with Datacoin than with Bitcoin. Datacoin plus Namecoin is effectively an uncensorable Internet, with websites that cannot be seized or shut down.
|
|
|
Value getdata(const Array& params, bool fHelp) { if (fHelp || params.size() != 1) throw runtime_error( "getdata <hash>\n" "Returns base64 data from a given tx-hash.");
std::string strHash = params[0].get_str(); uint256 hash(strHash);
CTransaction tx; uint256 hashBlock = 0; if (!GetTransaction(hash, tx, hashBlock, true)) throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "No information available about transaction");
string data = tx.GetBase64Data();
return data; }
From bitcoin documentation. https://chainquery.com/bitcoin-api/gettransactionCommand: gettransaction Notes: The gettransaction RPC gets detailed information about an in-wallet transaction. ....
Note Only transactions for this wallet are shown, for other transactions try getrawtransaction.
It seems the GetTransaction function must be correctly replaced with getrawtransaction function. Thank you for your insight. I understand the Apertus.io team are now looking at it.
|
|
|
We need:
A few people to be publicly identified as the "Datacoin developers". Some C++ coding skills plus your own Datacoin repository on Github would be needed. Or maybe we just take the most active people on this tread.
Full integration with Apertus.io.
An exchange.
Something like a "Datacoin Magazine" or "Datacoin News"
We then need to announce all of this with a new OP that is referenced from this thread.
I'll go first. Anybody else interested?
|
|
|
Does anybody develop DTC seriously at present time?
Where is the original developer?
oocook5u was the developer, but he disappeared very early on. Since then the coin has been limping along, and I suppose we would welcome a new developer.
|
|
|
cryptrol wrote: Data is stored *unencrypted* inside the blockchain, unless you encrypt it by your own means. Data can be posted RAW or using the envelope protocol (defined by OP). I wrote a tool some time ago to read both types of data from a running datacoind using RPC calls . I tried to install the "Aliens" HTML 5 game onto the Datacoin blockchain, as shown in the very interesting Apertus.io tutorial: https://www.youtube.com/watch?v=dCyxrtbD4lITo my surprise, the cost was 159DTC. Embii then informed me that this was because Apertus.io could only store data in 20 byte chunks, not 128kB chunks, so the cost was prohibitive. If they used the 128kB chunks of the getdata/senddata methods other wallets could not execute the programs from the blockchain. To quote: " FYI: Apertus.io also supports Datacoin's variable field storage. it is a lot cheaper method of storing data. one big problem with it... The datacoin wallet does not allow external wallets to access the variable coin data via RPC calls so any DTC-V etchings can only be rebuilt from the wallet that created it. (fee free to experiment with it by enabling the DTC-V coin within your wallet settings... We hope that the datacoin development team will fix this someday as it would be a great additional storage mechanism. DTC standard etching behave the same as all other etchings...They are accessible in wallets that did not archive them." End quote. I believe that it is extremely important to be able to execute Javascript programs cheaply from the Datacoin blockchain, and I ask everyone on this forum to please go through the tutorial and try to etch that alien game into the Datacoin blockchain. Try to see where the problem is and how we can make this work. I am not in any way connected with the Apertus.io team, but I believe this would be the "killer app" for Datacoin. I will even send you some Datacoins, but it is actually very easy to mine them yourself with a cheap or old computer because the difficulty is very very low. If Datacoin can execute Javascript programs it would be "Turing complete", like Ethereum.
|
|
|
They can write the data, but no other client can read it.
In rpcwallet.cpp I saw
senddata(const Array& params, bool fHelp)
I'm not sure why your correspondent would think that. Certainly senddata must allow the user to provide a password for unlocking an encrypted wallet but there isn't any such requirement for getdata: https://github.com/foo1inge/datacoin-hp/commit/791125b901767b9dec40e04f6865181a3276395b#diff-e75eff0ce0dde388eddbe3173db85bd4R320Value getdata(const Array& params, bool fHelp) { if (fHelp || params.size() != 1) throw runtime_error( "getdata <hash>\n" "Returns base64 data from a given tx-hash.");
std::string strHash = params[0].get_str(); uint256 hash(strHash);
CTransaction tx; uint256 hashBlock = 0; if (!GetTransaction(hash, tx, hashBlock, true)) throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "No information available about transaction");
string data = tx.GetBase64Data();
return data; }
Or am I missing something fundamental? Cheers Graham Yes, this does baffle me. I thought data was stored without encryption, and that any other client could read it. We will have to redo the steps that the Apertus.io team went through to understand what went on. This seems to imply that the block explorer or DTCbrowser (or Apertus.io) must do some sort of decryption. I also wonder of they were using a client that could not do RPC for getdata. If I remember correctly the earliest datacoin-hp client could not do RPC. It was mostly for mining.
|
|
|
Mr Higgins I work on old Celeron laptops and I have mined tens of thousands of Datacoin. The difficulty is currently 6.98, so you get about 500 DTC every day from an ordinary computer.
To be honest, I would respectfully differ on changing the Datacoin abbreviation. I like the idea of saying 100 DTC instead of 100 DATA.
The Apertus.io project tried very hard to get Datacoin to work with their project. The Storj founder super3 did the same thing with Metadisk, but he wanted to create his own coin. The Apertus.io people want to work with existing coins, and Datacoin and Apertus seem handmade for each other. Javascript programs on the Datacoin blockchain that execute when it is browsed is a mouth watering idea. It would finally unlock the unique promise of Datacoin, which lies in those 128kB. They did not change the client, and it seems as if they do not have a C++ programmer amongst them. I may be wrong, but it would have been easier if such a person had produced his own version of the client.
So we have to figure this out somehow and produce an updated client.
This is a problem in senddata, not getdata. The Apertus.io people insist they cannot read Javascript programs etched on the Datacoin blockchain with senddata. It could only be read by the client that etched it. So we have to drop the encryption in senddata.
|
|
|
Maybe somebody can help.
I was chatting to Embii on the Facebook page of Apertus.io. He mentioned that they are able to get Javascript programs to run on Datacoin but only with the 20byte payload, not the full 128kB payload. They can write the data, but no other client can read it. With the 20byte payload it is very expensive to write Javascript programs into the Datacoin blockchain (you need to pay 0.05DTC for every chunk of code that gets written and with 20bytes you need a lot of chunks).
From embii: "we implemented encoding and deciding base 64 for DataCoin...we did get this to work...except what is saved in this manner is only accessible via RPC to the wallet that saved it... this is the real problem and is the main reason we abandoned it. It does have personal applications but does not let you share anything saved with others."
I tried to see if I could find the problem in the Datacoin wallet. In rpcwallet.cpp I saw
senddata(const Array& params, bool fHelp) { if (fHelp || 1 != params.size()) throw runtime_error( "senddata [data]\n" "<data> is a base64 encoded data chunk" + HelpRequiringPassphrase());
CWalletTx wtx;
// Transaction data std::string txdata; if (params.size() > 0 && params[0].type() != null_type && !params[0].get_str().empty()) { txdata = params[0].get_str(); if (txdata.length() > MAX_TX_DATA_SIZE) throw JSONRPCError(RPC_INVALID_PARAMETER, "data chunk is too long. split it the payload to several transactions."); }
string strError = pwalletMain->SendData(wtx, false, txdata); if (strError != "") throw JSONRPCError(RPC_WALLET_ERROR, strError);
return wtx.GetHash().GetHex(); }
I suspect HelpRequiringPassphrase() is the suspect. Anybody else have an idea? We will have to remove this so that other wallets can see the 128kB data in the blockchain. If this can be done the Datacoin blockchain will contain Javascript programs that will be visible to other clients and executable in the Apertus.io browser. And maybe other browsers as well. Datacoin could then use Javascript as a programming language.
|
|
|
Submitted to Bitsquare. I understand another official website would be http://datacoininfo.org. I understand we need to do a pull request to the exchange to have the coin added.
|
|
|
There's the DTCBrowser and Apertus linked to this coin. On Github. And there is Bytestamp. Some of them mine the coin, so there is enough to keep it going.
At some point I believe another developer will take over and the coin will be listed on an exchange. I keep on mining it.
|
|
|
This coin is a sleeping giant. I can only find one node though!
Yesterday (12 February 2017) connected to 16 nodes. And CPU mining works quite well - mined 80 coins for the day.
|
|
|
Difficulty down to 7.5. Now well worth mining with a CPU. Block reward almost 18DTC.
|
|
|
|