[Dev] Develop new core 0.9.3 for feathercoin, together
-
I like add a page for merchant. When you click a merchant Logo , open it from feathercoin-core wallet.
-
I update menu,
1.Wallet menu
openAction
backupWalletAction
encryptWalletAction
changePassphraseAction
usedSendingAddressesAction
usedReceivingAddressesAction
2.Settings menu
signMessageAction
verifyMessageAction
openRPCConsoleAction
3.Advanced menu
accountReportAction
merchantListAction
4.Help menu
showHelpMessageAction
aboutAction
aboutQtAction
git push source code in https://github.com/cqtenq/feathercoin_core
Today ,had finished the job.
I will check ACP ,eHRC , qr-import ,neoscrypt and history fork for 0.9.3 core wallet tomorrow.
-
Develop core wallet for neoscrypt , I had finished it Today. Also I do history fork.
I can work normal.
-
Today, upgrade db-4.8.30.NC to db-5.1.29.NC. I like BerkeleyDB.5.1 :)
You need to add bitcoin_find_bdb51.m4 in src/m4
2014-10-23 14:47:48 Feathercoin version v0.9.3.0-git-Standard (Fri, 12 September 2014 16:29:30 -0400) 2014-10-23 14:47:48 Using OpenSSL version OpenSSL 1.0.1i 6 Aug 2014 2014-10-23 14:47:48 Using BerkeleyDB version Berkeley DB 5.1.29: (October 25, 2011) 2014-10-23 14:47:48 Default data directory C:\Users\lizhi.lizhi-PC\AppData\Roaming\Feathercoin 2014-10-23 14:47:48 Using data directory C:\Users\lizhi.lizhi-PC\AppData\Roaming\Feathercoin 2014-10-23 14:47:48 Using at most 125 connections (2048 file descriptors available) 2014-10-23 14:47:48 Using 2 threads for script verification 2014-10-23 14:47:48 Using wallet wallet.dat 2014-10-23 14:47:48 init message: Verifying wallet... 2014-10-23 14:47:48 CDBEnv::Open : LogDir=C:\Users\lizhi.lizhi-PC\AppData\Roaming\Feathercoin\database ErrorFile=C:\Users\lizhi.lizhi-PC\AppData\Roaming\Feathercoin\db.log 2014-10-23 14:47:48 Bound to [::]:9336 2014-10-23 14:47:48 Bound to 0.0.0.0:9336 2014-10-23 14:47:48 init message: Loading block index...
-
I had Implemented ACP , add checkpointsync.cpp and checkpointsync.h to project , It looks normal. :)
I check debug.log , It can synchronized checkpoint.
2014-10-26 10:27:18 Before: 1c009936 0000000000993600000000000000000000000000000000000000000000000000
2014-10-26 10:27:18 After: 1c008eff 00000000008eff33333333333333333333333333333333333333333333333333
2014-10-26 10:27:18 ConnectBlock hashPrevBlock=3661d21636c8001d4411d951319d14e68d8b17f6086ea8566379fb118c87308d
2014-10-26 10:27:18 ConnectBlock view.GetBestBlock()=3661d21636c8001d4411d951319d14e68d8b17f6086ea8566379fb118c87308d
2014-10-26 10:27:18 UpdateTip: new best=24b16d47e958635c2dd283f2fe7291273d60aed1368a4a9628661b6aade1f6c4 height=431618 log2_work=57.824336 tx=1502948 date=2014-10-26 10:14:11 progress=0.999976
2014-10-26 10:27:18 ProcessBlock: ACCEPTED2014-10-26 10:27:40 Opened LevelDB successfully
2014-10-26 10:27:45 LoadBlockIndexDB(): last block file = 3
2014-10-26 10:27:45 LoadBlockIndexDB(): last block file info: CBlockFileInfo(blocks=115238, size=91879279, heights=316415…431623, time=2014-07-20…2014-10-26)
2014-10-26 10:27:45 LoadBlockIndexDB(): synchronized checkpoint 24b16d47e958635c2dd283f2fe7291273d60aed1368a4a9628661b6aade1f6c4
2014-10-26 10:27:45 LoadBlockIndexDB(): transaction index disabled
2014-10-26 10:27:45 LoadBlockIndexDB(): hashBestChain=acee96e699e484cfc9776139508f002c27e19c0d5b79af664cd10b4268f9d23f height=431623 date=2014-10-26 10:19:38 progress=0.999985
2014-10-26 10:27:45 init message: Verifying blocks…Because 0.8.7 ACP code have some problem in 0.9.3 core , I re-write SetBestChain in main.cpp. I think Peter Bushnell to check it .
I push my codes ti Github.
-
what is the benfit /difference between db-4.8.30.NC to db-5.1.29.NC.
some quick easy info to understand? -
This is working out really well!
I’m really keen to see how this turns out.
-
what is the benfit /difference between db-4.8.30.NC to db-5.1.29.NC.
some quick easy info to understand?This is just the version of the DB library that is being used. I can’t find anything specific on the changes but I’m guessing minimum is performance improvements and bug fixes. :)
-
0.9.3 core wallet had support neoscrypt ,It is very good.
I modify core.h
/* Calculates block proof-of-work hash using either NeoScrypt or Scrypt */ uint256 GetPoWHash() const { unsigned int profile = 0x0; uint256 hash; neoscrypt((unsigned char *) &nVersion, (unsigned char *) &hash, profile); return(hash); }
0.9.3 core sync blockchain normal .
Debug.log
2014-10-27 07:23:10 nTargetTimespan = 60 nActualTimespan = 58 2014-10-27 07:23:10 Before: 1c49674a 0000000049674a00000000000000000000000000000000000000000000000000 2014-10-27 07:23:10 After: 1c46f4e9 0000000046f4e9aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 2014-10-27 07:23:10 ConnectBlock hashPrevBlock=b933f9d19bc60265e008fad2dd8c9f1c9829d19928d1ae8c9f67d5a816eb30cf 2014-10-27 07:23:10 ConnectBlock view.GetBestBlock()=b933f9d19bc60265e008fad2dd8c9f1c9829d19928d1ae8c9f67d5a816eb30cf 2014-10-27 07:23:10 UpdateTip: new best=e61b145c955ea2a0b36ec5985388acffe0a207d0fa7e7ae41c14ab7f568bc086 height=432727 log2_work=57.827305 tx=1504547 date=2014-10-27 06:21:27 progress=0.999886 2014-10-27 07:23:10 ProcessBlock: ACCEPTED
I can send feathercoin to 0.8.7 from 0.9.3 core ,or to 0.9.3 core from 0.8.7. :)
-
Enhancement note : Transaction details
Just noticed (again) so making note. The Transaction details in transactions TAB are quite limited, is there any other details available e.g. the block number, better format?
Status: 19 confirmations
Date: 28/10/2014 11:37
Source: Generated
Credit: 0.22871001 FTC (matures in 82 more blocks)
Net amount: 0.00 FTC
Transaction ID: 76ba496b293aa595fa74c4e0cf79b48f236717430f93132259ff5563f658b3f9 -
Absolut awesome work Lizhi!!
-
I have almost finished it, but I’m stuck on this last question. Genesis block is unacceptable. If you upgrade from 0.8.X ,it is all right. But if you are new user, The core can not install normal. :-
Debug:
2014-10-31 15:15:34 Initializing databases…
2014-10-31 15:15:34 Pre-allocating up to position 0x1000000 in blk00000.dat
2014-10-31 15:15:34 ERROR: amount CheckProofOfWork() : hash doesn’t match nBits
2014-10-31 15:15:34 ERROR: Check the header ReadBlockFromDisk : Errors in block header
2014-10-31 15:15:34 *** Failed to read block
2014-10-31 15:15:36 ERROR: LoadBlockIndex() : genesis block not accepted
2014-10-31 15:15:36 Aborted block database rebuild. Exiting. -
Luckily, I found a way to solve the problem. I write CheckProofOfWork in CBlockHeader class, When nHeight>=nForkFour ,use neoscrypt, When nHeight
-
I add my site to DNS, After users install core wallet, have 2 address can work
vSeeds.push_back(CDNSSeedData(“ftc-c.com”, “www.ftc-c.com”));
vSeeds.push_back(CDNSSeedData(“pool.ftc-c.com”, “pool.ftc-c.com”));They are written to peers.dat :)****
I think I’m finished development. I will test multi-sign.
-
Just seen this on Litecoin Github. Need to make sure FTC multisig also is not start with 3…
Gentlemen,
We are doing massive amounts of work with Litecoin and Bitcoin in our project. This project extensively uses Multi Signature addresses. Naturally (and I saw there was an issue closed previously related to this, but couldn’t find it) Litecoin Multi Signature addresses are indistinguishable from Bitcion as their version prefix appears as ‘3’…
This is creating a lot of confusion, even among our developers as we exchange addresses during testing. I myself spent few minutes today on blockchain.info wondering why a transaction was not transmitted, just to realize that it was an LTC multisig transaction. Moreover, I am concerned that issuing a transaction to address starting with ‘3’ on Bitcoin network will result in a loss of funds and creating serious burden for users as they may have to extract their private keys in effort to convert them between networks (if that is even feasible).
I perfectly realize the scale of the network and that deploying that kind of change is virtually impossible without breaking multisig support, hence I would like to propose the following: We introduce support for A and B cases, where A is version ‘3’ and B will be another version, such as ‘4’. We roll out this change in the next release. We continue issuing ‘3’ in RPC functions. We wait for a year or so to disable version ‘3’ or can even leave it there. As long as we support ‘4’ and documentation states that clearly, then I don’t see any problems with use doing this in a staged manner.
@wtogami if you are willing to supervise, I can work on this with my team, submit the necessary changes and supervise the transition over the coming year.
-
Jeez… and that’s why we trail behind and implement fixed versions or better versions…
So there’s an issue here?
-
I create a Multi-Sign transaction,send 1 ftc to myself, the multi-address is 3FRL69QcG5PSNzgQMwN7qSzfrZY5zDYBUo. It look great.
C:\FTC>feathercoind listunspent
[
{
“txid” : “413d80e439cd13753a61cdde79dd5d4cc0abf309f4fe903bde7bfed47f4945
00”,
“vout” : 0,
“address” : “3FRL69QcG5PSNzgQMwN7qSzfrZY5zDYBUo”,
“account” : “Mutli-sign”,
“scriptPubKey” : “a914969a44f8edeb0ad6c8a8f234507d581163f55b8b87”,
“redeemScript” : “522103955c4823b6e410b86b992888dc3cec756b2845dda3c6de9d
db71a5e2c6e33915210315ef1ca1a375de78fa01e1cba96881fe873d7102a8cd3f309e2a3f8e29de
be372103b15fab5adabf3767f801a68b189e68c27936870f9e3a1dcb4df5d9724d9c32c453ae”,
“amount” : 1.00000000,
“confirmations” : 12
},
{
“txid” : “413d80e439cd13753a61cdde79dd5d4cc0abf309f4fe903bde7bfed47f4945
00”,
“vout” : 1,
“address” : “6yDXDB45znZVpkWiXgHmgX5NPNzfWQF6Qn”,
“scriptPubKey” : “76a914d5b9bb0d3a13d578163dfa87e58c7096d99dfd2588ac”,
“amount” : 1.99000000,
“confirmations” : 12
}
]how to create a multisigaddress in 0.9.3 ?
feathercoind validateaddress 6xvtGPDGLVWrzJUynPcFk4sqZDHZKxMP9j
{
“isvalid” : true,
“address” : “6xvtGPDGLVWrzJUynPcFk4sqZDHZKxMP9j”,
“ismine” : true,
“isscript” : false,
“pubkey” : “03955c4823b6e410b86b992888dc3cec756b2845dda3c6de9ddb71a5e2c6e33915”,
“iscompressed” : true,
“account” : “m1”
}
feathercoind validateaddress 6vBqGpjnykXMnukGYrwpa3apUY9ExUw1ac
{
“isvalid” : true,
“address” : “6vBqGpjnykXMnukGYrwpa3apUY9ExUw1ac”,
“ismine” : true,
“isscript” : false,
“pubkey” : “0315ef1ca1a375de78fa01e1cba96881fe873d7102a8cd3f309e2a3f8e29debe37”,
“iscompressed” : true,
“account” : “m2”
}
feathercoind validateaddress 6q5UfxDFyDxhfgYbQ9mPGqMgpUKQdFB5kw
C:\FTC>feathercoind validateaddress 6q5UfxDFyDxhfgYbQ9mPGqMgpUKQdFB5kw
{
“isvalid” : true,
“address” : “6q5UfxDFyDxhfgYbQ9mPGqMgpUKQdFB5kw”,
“ismine” : true,
“isscript” : false,
“pubkey” : “03b15fab5adabf3767f801a68b189e68c27936870f9e3a1dcb4df5d9724d9c32c4”,
“iscompressed” : true,
“account” : “m3”
}C:\FTC>feathercoind createmultisig 2 [\“03955c4823b6e410b86b992888dc3cec756b2845dda3c6de9ddb71a5e2c6e33915\”,\“0315ef1ca1a375de78fa01e1cba96881fe873d7102a8cd3f309e2a3f8e29debe37\”,\“03b15fab5adabf3767f801a68b189e68c27936870f9e3a1dcb4df5d9724d9c32c4\”]
You will get a multisigaddress in wallet.
{
“address” : “3FRL69QcG5PSNzgQMwN7qSzfrZY5zDYBUo”,
“redeemScript” : “522103955c4823b6e410b86b992888dc3cec756b2845dda3c6de9ddb71a5e2c6e33915210315ef1ca1a375de78fa01e1cba96881fe873d7102a8cd3f309e2a3f8e29debe372103b15fab5adabf3767f801a68b189e68c27936870f9e3a1dcb4df5d9724d9c32c453ae”
} -
More info on the Litecoin Multisig “bug” on Github. First ever Litecoin hard fork…
Re: Need to make sure FTC multisig addrresses also is not start with 3…
**wtogami ** commented
an hour agoI agree it has been a problem. #blamecoblee =P The unfortunate problem with this type of transition is that it would require the first ever hardfork in Litecoin’s history. Can the plan be written in a more detailed proposal in the format of a Bitcoin BIP? We will need to propose it to the community, receive feedback and buy-in from stakeholders.
-
Yes, I find FTC multisig addrresses also is start with 3…
The unfortunate problem :'(
It is not a bug, However, it is easy to make us confused ;)
A back in github
“I think you can contact Quickwallet (https://twitter.com/quickwalletcom), they are huobi store’s website, is to use Multisig addresses versions are ‘3’.”
We can not modify rpcmisc.cpp.
-
I got the 0.9.3 core compiled on OpenSuSe 12.3
It was a bit tricky, as OpenSuSe uses non-standard directories for 64bit libraries and the dependencies are always a challenge ;)
Good Work Lizhi!
I noticed that I can’t create qr-codes in the ‘receive’ tab,although I configured with --enable-qr=yes