[Dev] Develop new core 0.9.3 for feathercoin, together
-
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
-
I think we need to support qr-codes ,I will read 0.8.7 codes , then find them.
-
Re: Multisig prefix, same for Bitcoin, LTC and FTC.
I note Charlie is proposing multiple start values for LTC, al la Ghostlanders solution for the genesis code confusion between coins.
I think changing Litecoin multisig prefix is a good idea. Anton, are you suggesting doing this as a soft fork? Basically, we can have it so that new versions allow both '3' and '4' addresses. '4' addresses will be rejected by the network until the soft fork happens. If you can write up a detailed proposal, that would be helpful. â€" Reply to this email directly or [view it on GitHub][0].![AEZWALX8V_a1kKgRA9QMZPR0z15v83pJks5nNGjf](https://github.com/notifications/beacon/AEZWALX8V_a1kKgRA9QMZPR0z15v83pJks5nNGjfgaJpZM4C3HPH.gif)
I realise that this would need its own development sub area. But this will cause a lot of problems to exchanges and merchants accepting multicoins, so would be a killer feature (over Litecoin) and may not require a hard fork if it is developed before release. Although I haven’t had time yet to fully investigate the details of the development of multisignature technology.
-
so how difficult would it be to change our multi sig address to something other than 3/4 e.g. 9 or whatever.??
-
Now, Core Wallet support QRcode, I will continue to complete QR-snap.
-
Wow, you have been busy, would be great to get this made the official wallet soon
-
so how difficult would it be to change our multi sig address to something other than 3/4 e.g. 9 or whatever.??
I think changing Feathercoin multisig prefix is a good idea, But I need helpful.a detailed proposal.
-
I solved the issue, Core wallet can support QR-Snap .
I must modify ZebraCrossing, Because it compile on Visual Studio 2013 only.
How to compile ZebraCrossing
cd /D/FTC/dev/ZebraCrossing-master mkdir mw cd mw cmake -G "Unix Makefiles" .. make
then libzxing.a copy *.a to /D/FTC/dev/ZebraCrossing-master/build32/Release
You need to modify some files
- BitMatrixParser.h and DecodedBitStreamParser.cpp, create a new stdint2.h
typedef long int int64_t;
- LinesSampler.cpp
add #include
delete using std::abs;
I had add USE_ZXING option to configure.ac , A simple way is to directly modify src\qt\Makefile.
CPPFLAGS = -I/D/FTC/dev/ZebraCrossing-master/src/libsrc LDFLAGS = -L/D/FTC/dev/ZebraCrossing-master/build32/Release LIBS = -lzxing -L/D/FTC/dev/ZebraCrossing-master/build32/Release
-
is that on your github?
Then I could try to compile on Linux