Hi all!
vanitygen parameter "-F" in what format pubkey need?
"pubkey" is already the default. The -F parameter would be used as following:
.exe -F pubkey 1...
.exe -F compressed 1...
.exe -F script 3...
Each bitcoin address is the result of an encoding of a hash the public key. That public key can be expressed in two ways, uncompressed (equivalent to X and Y coordinates) and compressed (equivalent to X coordinate and a sign, from which the Y coordinate can be derived).
Say you generate '1abc' using both (don't actually use these keys/addresses!):
Uncompressed (default):
vanitygen.exe -F pubkey 1abc
Difficulty: 4553521
Pattern: 1abc
Address: 1abcCjhme96hnPDe3pDc3Ch1EnEj5Rjv7
Privkey: 5KG6rYdSopgYo1rejJAdPfbS6RgqhtAecg7EA19mJi9P9s2Ftru
The private key for an uncompressed form always starts with a 5.
vanitygen.exe -F compressed 1abc
Difficulty: 4553521
Pattern: 1abc
Address: 1abcRZRi2Gh4tZHJNbAyVyjSRx8uB67jk
Privkey: L2i2dzuR7CtDTkXQeh2m9jKiBtuxFNTTCHobBb3bySaHhxDFf6WK
The private key for a compressed form starts with a K or an L.
This is generally how wallet clients etc. recognize which form to use, and that's important because of what I mentioned earlier. Let's say I use the private key 5KG6rY, once with the correct uncompressed public key, and once with an incorrectly assumed compressed public key:
private: 5KG6rYdSopgYo1rejJAdPfbS6RgqhtAecg7EA19mJi9P9s2Ftru
public key (uncompressed): 04C57E907AEC9BA14D377EA1627672197A87D38A0BB12A390B1504FF9A6A941772D052906B5A5AFB908E096C1C884C0E14096BB47EAC617C99DEDADBC4AE5241F7
hash: 065A9D7AD12CA8C1962FB0E21C4E92DB86BE137E
address: 1abcCjhme96hnPDe3pDc3Ch1EnEj5Rjv7
private: 5KG6rYdSopgYo1rejJAdPfbS6RgqhtAecg7EA19mJi9P9s2Ftru
public key (compressed): 03C57E907AEC9BA14D377EA1627672197A87D38A0BB12A390B1504FF9A6A941772
hash: D4BEAF01D5E007F63FB28BF262DF1E9E3A68132B
address: 1LPtgbhspbUKVxmntmRSYzUMkpkZiHJH6w
So you can see that if you make an incorrect assumption, you end up with the alternate (non-vanity) address.
( You'd probably be searching quite a while to find a private key that yields
a vanity prefix in both uncompressed and compressed, let alone
the same vanity prefix
)
As a general rule, you should probably be using "-F compressed", as the blockchain ends up being smaller if everybody used compressed public keys (even if it does get negated by dust, comment spam, tumblers, etc.), but either pubkey or compressed will work.
The "script" one is a parameter you can ignore unless you really want to muck about with BIP13 type transactions
( Note that the above applies to Bitcoin addresses - if you're generating for an altcoin, the -F parameter may or may not apply depending on that coin's details. )