GithubHelp home page GithubHelp logo

cryptonote-generator's Introduction

cryptonote-generator

A python / bash Cryptonote source creator. Generate and compile new or maintain old code with a single command.

Table of Contents

Features

  • Cryptonote source code creation, based on:
    • Bytecoin code (latest version)
  • Single command code and binaries update
  • Simple update for existing code
  • Compile for
    • Windows (tested on 8.1)
    • Ubuntu (tested on 14.04)
    • Mac OS X (tested on Yosemite)

Usage

1) Downloading & Installing

Clone the repository:

	git clone https://github.com/forknote/cryptonote-generator.git generator
	cd generator

Install dependencies:

bash install_dependencies.sh

2) Configuration

Warning for existing Cryptonote coins other than Dashcoin: this software may or may not work with any given cryptonote coin.

Create your configuration here and export as JSON: http://forknote.net/create

Copy the config_example.json file to config.json then overview each options and change any to match your preferred setup.

Explanation for each field:

{

/* Extensions to load */
"extensions": [ "core/bytecoin.json", "print-genesis-tx.json" ],

/* Source coin. Bytecoin example. See the available base coins here: https://github.com/forknote/cryptonote-generator/tree/master/cores */
"base_coin": "bytecoin-v2",

"core":{
	/* Check uniqueness with Google and Map of Coins. */
	"CRYPTONOTE_NAME":"dashcoin",

	/* Address prefix. Generate here: https://cryptonotestarter.org/inner.html */
	"CRYPTONOTE_PUBLIC_ADDRESS_BASE58_PREFIX":72,

	"P2P_DEFAULT_PORT":29080,
	"RPC_DEFAULT_PORT":29081,

	/* Seed nodes. Use at least 2 */
	"SEED_NODES":["162.243.247.45:29080", "146.185.191.90:29080", "104.131.132.129:29080", "128.199.146.243:29080"],

	/* Array with checkpoints. */
	"CHECKPOINTS":["28000:70d2531151529ac00bf875281e15f51324934bc85e5733dcd92e1ccb1a665ff8", "40000:c181ec9223a91fef8658c7aa364c093c41c28d250870ca1ed829bf74f0abf038", "55000:5289fe9f2dce8f51441019b9fbc85c70ad85ff49a666ef0109f3269890c6af6d", "70000:193e335f34b8b8f1fab3857111cb668c2720340e80176a25155071e573481acb", "87500:cce8a035f34457ec1098ab41e5949cac3db00ebff3503e26f36bfa057543095a", "91453:ad46d069bb2726a9bc5962cda6b2108376c0b95c157da0f09ee32458f486d87f"],

	/* Created with connectivity_tool. Leave empty if not needed */
	"P2P_STAT_TRUSTED_PUB_KEY":"4d26c4df7f4ca7037950ad026f9ab36dd05d881952662992f2e4dcfcafbe57eb",

	/* Genesis! Leave empty for new coins */
	"GENESIS_COINBASE_TX_HEX":"010a01ff0001ffffffffffff0f029b2e4c0271c0b42e7c53291a94d1c0cbff8883f8024f5142ee494ffbbd08807121013c086a48c15fb637a96991bc6d53caf77068b5ba6eeb3c82357228c49790584a",

	/* Random hex, identifier for your network */
	"BYTECOIN_NETWORK":"0x12, 0x11, 0x21, 0x11, 0x11, 0x10, 0x41, 0x01, 0x13, 0x11, 0x00, 0x12, 0x12, 0x11, 0x01, 0x10",

	/* Visualize here https://cryptonotestarter.org/inner.html  */
	/* Total amount of coins to be emitted. Most of CryptoNote-based coins use (uint64_t)(-1) (equals to 18446744073709551616).
	   You can define number explicitly (for example UINT64_C(858986905600000000)). */
	"MONEY_SUPPLY":"static_cast<uint64_t>(-1)",
	"EMISSION_SPEED_FACTOR":18,
	"GENESIS_BLOCK_REWARD":0,
	"DIFFICULTY_TARGET":120,   // In seconds

	"MINIMUM_FEE":1000000,   // 10^6. Equals to 0.01 in Dashcoin
	"DEFAULT_DUST_THRESHOLD":1000000,
	"COIN":100000000,    // Number of atom units in a coin. 10^8 in Dashcoin
	"CRYPTONOTE_DISPLAY_DECIMAL_POINT":8,    // The pow from the previews value

	"CRYPTONOTE_MINED_MONEY_UNLOCK_WINDOW":10,    // in blocks
	"CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE":20000,    // in bytes

	"DIFFICULTY_CUT":60,  // timestamps to cut after sorting
	"DIFFICULTY_LAG":15,

	/* USED ONLY IN OLD COINS. IF YOU UPDATE CHANGE THIS TO YOUR OLD CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE */
	"CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE_V1":10000,

	/* ONLY USED IN OLD COINS. IT WILL HARDFORK YOUR COIN AT THIS BLOCK */
	"UPGRADE_HEIGHT":91452,

	/* Max initial block size */
	"MAX_BLOCK_SIZE_INITIAL":"25 * 1024"

	/* Max initial block size */
	"EXPECTED_NUMBER_OF_BLOCKS_PER_DAY":"24 * 60 * 60 / 120"
}
}

3) Generate coin

The file config.json is used by default but a file can be specified using the -f file command argument, for example:

	bash generator.sh -f [CONFIG_FILE] [-c COMPILE_OPTIONS]

By default, the cryptonote generator is not using multithread. I strongly recommend to use this arguments, if you are not building on a on VPS with no swap defined

Windows:
	bash generator.sh -f config_example.json -c '/maxcpucount:3'
Linux / Mac OS X (Cmake 2.8.x):
	bash generator.sh -f config_example.json -c '-j3'

4) Print genesis tx hex

If you are creating a new coin, you need to create the genesis tx hex:

	cd generated_files/binaries/yourcoin   # yourcoin-linux for Linux, yourcoin-mac for Mac
	./yourcoind --print-genesis-tx

Change the GENESIS_COINBASE_TX_HEX in your configuration file, then 3) Generate coin again.

Examples (real life)

1) Dashcoin - http://dashcoin.info

To generate Dashcoin:

	git clone https://github.com/forknote/cryptonote-generator.git generator && cd generator
	bash install_dependencies.sh && bash generator.sh -f configs/bytecoin-v2/dashcoin.json

2) Forknote - http://forknote.net

To generate Forknote:

	git clone https://github.com/forknote/cryptonote-generator.git generator && cd generator
	bash install_dependencies.sh && bash generator.sh -f configs/bytecoin-v2/forknote.json

Community / Support

Projects Using This Software

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Extensions must be located in extensions folder.

Donations

  • BTC: 1EYiA8o1KsDZxMHXvptxXyaVwuhTVNBMFp
  • DSH: D3z2DDWygoZU4NniCNa4oMjjKi45dC2KHUWUyD1RZ1pfgnRgcHdfLVQgh5gmRv4jwEjCX5LoLERAf5PbjLS43Rkd8vFUM1m
  • BCN: 21YR5mw5BF2ah3yVE3kbhkjDwvuv21VR6D7hnpm4zHveDsvq5WEwyTxXLXNwtU5K4Pen89ZZzJ81fB3vxHABEUJCAhxXz2v
  • XMR: 47LEJyhCgNFcoz6U8x7tUk6LEHe38NobAfn4ou8d588jY5nddvgEANLMMcwxsbfbkJRw4xPwcG583Gq189hjusShEyk9FXz

Donate XMR if you want to XMR version to be developed

Additional credits

  • piotaak (tests for cryptonotecoin-core extension)

License

Released under the GNU General Public License v2

http://www.gnu.org/licenses/gpl-2.0.html

cryptonote-generator's People

Contributors

2acoin avatar pmitchev avatar quinnmallorry avatar rocksteadytc avatar sylarbend avatar trendscharts avatar zpalmtree avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cryptonote-generator's Issues

Generator Problem

generator doesnt accept prefixes longer as 2 chars like: 0xc761172

hey say , expected on column 49 which is after 0x.

std::cout issue

I've been trying to run the generator for a while and keep on bumping into the same issue,
has anyone seen this?

/src/CryptoNoteCore/SwappedMap.h:198:8: error: no member named 'cout' in namespace 'std' ?

generator.sh error in MAC YOSHIMITSU

margotgarcia:generator rubens.garcia$ bash generator.sh -f sneakcoin.json -c '-j3'
Traceback (most recent call last):
File "lib/environment_variables.py", line 31, in
config = json.load(json_data)
File "/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/init.py", line 290, in load
*_kw)
File "/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/init.py", line 338, in loads
return _default_decoder.decode(s)
File "/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 366, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 382, in raw_decode
obj, end = self.scan_once(s, idx)
ValueError: Expecting property name: line 2 column 2 (char 3)
Remove temporary files...
margotgarcia:generator rubens.garcia$ sudo bash generator.sh -f sneakcoin.json -c '-j3'
Password:
Traceback (most recent call last):
File "lib/environment_variables.py", line 31, in
config = json.load(json_data)
File "/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/init.py", line 290, in load
*_kw)
File "/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/init.py", line 338, in loads
return _default_decoder.decode(s)
File "/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 366, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 382, in raw_decode
obj, end = self.scan_once(s, idx)
ValueError: Expecting property name: line 2 column 2 (char 3)
Remove temporary files...

bug-fixes.json extension errors

When including the bug-fixes.json extension generation of new coin fails. The issue seems to be in line 166-179:

    {
      "path": "/src/CryptoNoteCore/DatabaseBlockchainCache.cpp",
      "changes": [
        {
          "action": "replace",
          "marker": "cacheStart = 1;",
          "parameters": {
            "text": [
              "  cacheStart = 0;"
            ]
          }
        }
      ]
    },

compile fails because cacheStart is not found. Fixed issue by removing line block.

Premined coins

How do I get the premined coins?
I created a config JSON using this tool: http://forknote.net/create/
and when I put a wallet address, it doens't even appear in the config response...
Where do I get the wallet address anyway?

Installation Issue on Running Generator.sh

When I run;

bash generator.sh -f config.json

I get the following error;

/root/generator/extensions/core/bytecoin.json
Making pre-tests in file /root/generator/generated_files/tmp/src/CMakeLists.txt
Traceback (most recent call last):
File "lib/file-modification.py", line 164, in
for line in fileinput.input([args.source + file['path']], inplace=True):
File "/usr/lib/python2.7/fileinput.py", line 237, in next
line = self._readline()
File "/usr/lib/python2.7/fileinput.py", line 316, in _readline
os.rename(self._filename, self._backupfilename)
OSError: [Errno 2] No such file or directory

I am running Ubuntu 16.04.3 LTS and ran install_dependencies.sh with no issues whatsoever.

testing transaction-extra-message-tag.json

I'm unable to see any obvious issues flipping through the extension, but "Still incompatible with Bytecoin clones" is listed in the general description. Before I set up a new testnet, is this extension not suggested to be used currently, or does the description imply that merge mining with Bytecoin is not working, while tx-extra is working, or vice versa?

https://github.com/forknote/cryptonote-generator/blob/master/extensions/transaction-extra-message-tag.json

Question is directed to @pmitchev, but I will accept any qualified answer.

Any php json rpc client for bytecoin

I am trying to create a web wallet however it seems that the bytecoin json rpc api only supports named parameters and not positional parameters i am trying and trying but failing to edit any existing php scripts like easybitcoin.php cause i keep getting invalid request because of the positonal parameters so is there any php json rpc client tthat supports named parameters?

IBlock.cpp and BlockchainIndices.cpp

So I have now gone through the generator about 20-30 times, and I saw it about to go through perfectly 1 time, it had a huge list of
CC
CC
CC
CC
CC
CC
CC
CC
CC

All in a row, and then it had IBlock.cpp and BlockchainIndices.cpp

But that happened 1 time, and I realized that I had put in a wrong value somewhere. And had to go back in and fix it, and when I fixed it, because I had used the example file and forgot to change the name or something. But then when I went back and did it again, it didn't work. Then when I tried with the.json from the Forknote Create page, I have not seen it work like that 1 single time.

I have done everything, I have gone back and deleted the secret folder in my cd directory, I have killed the Daemon with pkill -9 -f (filename), and cleared the generator to try it over at least 20 times as well as the servers, and on 3 computers.

And Everything compiled in the Generator, but the Wallet will not compile. And the Error is that I am missing the IBlock.cpp and BlockchainIndices files. And I am missing them, they are not there. The generator is not generating them. I did see it do it once, but that was not with the config.json file. I have not seen the config.json file work at all.

configure.sh echo bug

  • doneMessage
  • echo ''
  • echo 'Cryptonote generator configuration finished.'
    Cryptonote generator configuration finished.
  • echo 'type '''bash generator.sh [-h] [-f FILE] [-c ]''' to generate Cryptonote coin.'
    type 'bash generator.sh [-h] [-f FILE] [-c ]' to generate Cryptonote coin.
  • echo ''
  • echo ''
  • echo ''
  • echo ''

Cannot generate with any configs

There is currently an issue with the bytecoin tests that is preventing coins from being generated. The issue appears to exists in the /tests/CMakeLists.txt file in the bytecoin repo. Specifically lines 32-36:

add_executable(NodeRpcProxyTests ${NodeRpcProxyTests})
add_executable(PerformanceTests ${PerformanceTests})
add_executable(SystemTests ${SystemTests})
add_executable(TransfersTests ${TransfersTests})
add_executable(UnitTests ${UnitTests})

I have created a ticket for it in the bytecoin repo (https://github.com/amjuarez/bytecoin/issues/110) but am including it here in case you wanted to add an exception to the build process to capture error and negate it. I fixed it on my end by removing line 152 of generated_files/bytecoin/CMakeLists.txt which is add_subdirectory(tests)

Transation too big

I still get this error...
Transaction too big
I deleted two files with name max-transaction-size-limit.json from the generator core.
But after another compilation still get this error..
And I try to send only 40.000 that is not much...
I don't understand why when I send 10,000 then transaction size is around 90,000 bytes
And in BCN when I sand 300,000 then size of transaction is around 4,000 bytes.
I didn't change anything in config.json except name nods an genesis...

generator.sh patch - file name too long

Apply patch
patch: **** Can't create temporary file tests/data/account-002bee2f8e16f5de4db0d3b8ce9227c8c0b7f9688348b028e022cb43f210968b40a69cdc8531fd4a2e7c9e144eec48bb477733d70ce5f9b85338a07cb10b849ad8fb.o1o2KtF : File name too long

Genesis block not added to config

Title saids it all. Here is the error:

generator.sh: line 59: ${NEW_COIN_PATH}/build/release/src/${__CONFIG_core_daemon_name]}: bad substitution
Genesis block :

Value error

Hey. When trying to run generator.sh on windows an error is thrown.

"value error: Expecting , delimiter: Line 11 column 46 (char 288)"

Any suggestions?

A Few Questions re: Unconfirmed -> Cancelled transactions.

Hypothesis:
I have an idea that sending a transaction with a large amount of coin hashes in it and a mixin above 0 will cause it to be unconfirmed for a week or so until it is cancelled. In the case of TurtleCoin, it happens when we send amounts of 2,500,000+ TRTL with a mixin above 0. The coins, i suspect, are still on the wallet where they originated, because when loading the wallet in the GUI and doing a reset of the funds you will see the total coins increment all the way as if the coins never left until the absolutely last line of transaction history where it sees the hung transaction. My assumption is that it will not allow these coins return to circulation because they're deemed "double spent" maybe.

image
Here is an example of an unconfirmed transaction from early in the life of the network.

The issue was referenced in other threads, but no solutions have been found, to my knowledge.
https://github.com/turtlecoin/meta/issues/21
https://github.com/amjuarez/bytecoin/issues/163

Questions:
Is there a way to do the equivalent of rescanning the spent transaction hashes to add them back to the wallet? Monero has a function like rescan_spent that looks like it was made to remedy this situation.

Would the max_transaction_size extension be useful or relevant in avoiding this in the future?

In your experience, where do you think the coins reside? With the sender or recipient in this case?

Mentioning relevant parties for comment, @pmitchev @valiant1x

missing documentation on premined coins

theres no documentation on how the genesis block reward first i am mining right now and ony getting a few coins at a time the first block didnt had the premine value

Fatal Error generating on ubuntu 16.04

I ran install_dependencies.sh smoothly but now keep on getting this, has anyone seen this ?
I already successfully generated binaries on OSX & Windows but keep on running into this issue here...

c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See file:///usr/share/doc/gcc-5/README.Bugs for instructions.
external/gtest/CMakeFiles/gtest.dir/build.make:62: recipe for target 'external/gtest/CMakeFiles/gtest.dir/src/gtest-all.cc.o' failed
make[2]: *** [external/gtest/CMakeFiles/gtest.dir/src/gtest-all.cc.o] Error 4
CMakeFiles/Makefile2:270: recipe for target 'external/gtest/CMakeFiles/gtest.dir/all' failed
make[1]: *** [external/gtest/CMakeFiles/gtest.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

install_dependencies.sh - Unable to locate package libboost1.61-all-dev

steps to reproduce:
Install fresh Ubuntu Server 16.04
sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install git
git clone https://github.com/forknote/cryptonote-generator.git generator
cd generator
bash install_dependencies.sh

output reaches the stage to install build-essential python-dev gcc-4.9 and so on,
errors are: Unable to locate package libboost1.61-all-dev, Couldn't find any package by glob 'libboost1.61-all-dev', and Couldn't find any package by regex 'libboost1.61-all-dev'

"cannot copy directory into itself"

When running generator.sh I get the following error:
$ bash generator.sh
Updating ...
Already up-to-date.
Make temporary copy...
cp: cannot copy a directory, ‘/cygdrive/d/gen/generator/generated_files//.’, o itself, ‘/cygdrive/d/gen/generator/generated_files/tmp/.’
Remove temporary files...

system:
Win server 2008 R2 datacenter edition
cmake, boost and cygwin 32bit all newest versions.

How to setup config with old coin from Cryptonote Repo?

Hi. I tried to config cryptonote generator but im stuck. I have workable coin and want to update to latest bytecoin. Current version having problem with json rpc. im stuck at this part

CRYPTONOTE_PUBLIC_ADDRESS_BASE58_PREFIX
If referring to cryptonotestarter the prefix is different. Certainly start with 0x. My coin is based on fork from Cryptonote repo. How to fill address prefix so it will be the same. i try and error..not useful. and my wallet does not start with numbers. is there any tools to do this?

Generator Won't let me create a Wallet

I am using the Generator, and when I get to the end, and try to make the wallet, I get in the Wallet the error that I don't have the BlockchainIndices file, and IBlock, etc.

Then when I use the first compile with the Generator, then do the second one just with the Cryptonotefoundation instructions. It then gives me a BlockchainIndices Error.

And I followed the instructions, got the genesis block, and now am trying to get 2 Ubuntu computers to find each other but they can't.

Generated coin not syncing

Hi. I have succesfully used cryptonote generator on the project ive been working on. This coin is from original cryptonote repo. However, it seems there is issue as mention below:

  1. Blockchain not synchronize and node not seeing other node server. Even when started with --rpc and so. It seem these server not locating each other. i check netstat --ntlp the port and ip is open and fully config, however foreign address is empty.
  2. Simpleminer login halfway, where it stuck at "block will synchoronize in few minutes" dialog. However rpc is working (think so)
  3. The pool is not working anymore using cryptonote universal pool. It was working before. Now it prompt coin busy.

This is the config used to generate updated coin.
{
"base_coin": {
"name": "bytecoin",
"git": "https://github.com/amjuarez/bytecoin.git"
},
"core": {
"SEED_NODES": [
"45.76.59.48:18080",
"45.77.7.102:18080"
],
"EMISSION_SPEED_FACTOR": 20,
"DIFFICULTY_TARGET": 240,
"CRYPTONOTE_DISPLAY_DECIMAL_POINT": 8,
"CRYPTONOTE_COIN_VERSION": 1,
"MONEY_SUPPLY": "860519296101000000",
"DEFAULT_DUST_THRESHOLD": 100000,
"MINIMUM_FEE": 100000,
"CRYPTONOTE_MINED_MONEY_UNLOCK_WINDOW": 100,
"CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE": 100000,
"MAX_TRANSACTION_SIZE_LIMIT": 1000000000,
"CRYPTONOTE_PUBLIC_ADDRESS_BASE58_PREFIX": 201181141,
"DIFFICULTY_CUT_V1": 60,
"DIFFICULTY_CUT_V2": 60,
"DIFFICULTY_CUT": 0,
"DIFFICULTY_LAG_V1": 15,
"DIFFICULTY_LAG_V2": 15,
"DIFFICULTY_LAG": 0,
"DIFFICULTY_WINDOW_V1": 360,
"DIFFICULTY_WINDOW_V2": 360,
"DIFFICULTY_WINDOW": 17,
"ZAWY_DIFFICULTY_V3": 1,
"ZAWY_DIFFICULTY_DIFFICULTY_BLOCK_VERSION": 3,
"UPGRADE_HEIGHT_V2": 3000,
"P2P_DEFAULT_PORT": 18080,
"RPC_DEFAULT_PORT": 18081,
"BYTECOIN_NETWORK": "f698e4a9-c9fa-72de-88b2-61a26fc339af",
"CRYPTONOTE_NAME": "ciphs",
"DAEMON_NAME": "ciphsd",
"GENESIS_COINBASE_TX_HEX": "010a01ff0001e7b2ef96f117029b2e4c0281c0b02e7c53291a94d1d0cbff8883f8024f5142ee494ffbbd08807121018e2905aaa1e1ec59b43dcb423531a89eecdb895a9e6c4bd7cb16c2513d615b3a",
"CHECKPOINTS": "",
"MAX_BLOCK_SIZE_INITIAL": 100000
},
"extensions": [
"core/bytecoin.json",
"bug-fixes.json",
"print-genesis-tx.json",
"blockchain-explorer.json"
]
}

Hope this help.

Scripts using windows line endings

Many of the scripts included in the repo are using windows line endings instead of unix line endings.

Solution:
run dos2unix on all files edited on windows before uploading.

bug-fixes.json - ERROR: marker not found - #include "context.h"

  • Making changes in file /mnt/c/UNDR/repo/generated_files/tmp/src/Rpc/RpcServer.cpp
    • Added text before marker: { "getblockcount", { makeMemberMethod(&RpcServer::on_getblockcount), true } },
    • Added text before marker: bool RpcServer::on_getblockcount(const COMMAND_RPC_GETBLOCKCOUNT::request& req, COMMAND_RPC_GETBLOCKCOUNT::response& res) {
      Execute /mnt/c/UNDR/repo/extensions/bug-fixes.json
  • Making pre-tests in file /mnt/c/UNDR/repo/generated_files/tmp/src/Platform/OSX/System/Context.c
    ERROR: marker not found - #include "context.h"
    Remove temporary files...

Upstart > systemd, please help!

Want to write the equivalent of an upstart in ubuntu 16 for my seed nodes but having some issues, basically want to convert into a systemd service on my servers,

description "mycoin daemon"

start on runlevel [23]
stop on shutdown

exec sudo -u fork /home/fork/generated_files/build/yourcoin-linux/yourcoind

post-stop exec sleep 30

respawn
respawn limit 5 30

Wallet Extensions broken with Bytecoin latest version

In walletd-spent-transfers-tracking-mode.json

Execute /home/dollarydoos/generator/extensions/walletd-spent-transfers-tracking-mode.json
- Making pre-tests in file /home/dollarydoos/generator/generated_files/tmp/src/Transfers/TransfersContainer.h
  + Pretest: marker exists - SpentOutputDescriptor(const TransactionOutputInformationIn& transactionInfo);
  + Pretest: marker exists - TransactionTypes::OutputType m_type;
  + Pretest: marker exists - uint64_t unlockTime;
  + Pretest: marker exists - SpentOutputDescriptor getSpentOutputDescriptor() const { return SpentOutputDescriptor(*this); }
  + Pretest: marker exists -   bool addTransaction(const TransactionBlockInfo& block, const ITransactionReader& tx, const std::vector<TransactionOutputInformationIn>& transfers);
  + Pretest: marker exists -   bool deleteUnconfirmedTransaction(const Crypto::Hash& transactionHash);
  + Pretest: marker exists -   bool markTransactionConfirmed(const TransactionBlockInfo& block, const Crypto::Hash& transactionHash, const std::vector<uint32_t>& globalIndices);
  + Pretest: marker exists -   > SpentTransfersMultiIndex;
  + Pretest: marker exists - bool addTransactionOutputs(const TransactionBlockInfo& block, const ITransactionReader& tx,
  + Pretest: marker exists - void copyToSpent(const TransactionBlockInfo& block, const ITransactionReader& tx, size_t inputIndex, const TransactionOutputInformationEx& output);
  + Pretest: marker exists - SpentTransfersMultiIndex m_spentTransfers;
ERROR: marker not found - SpentOutputDescriptor(uint64_t amount, uint32_t globalOutputIndex);

And in walletd-extension.jsonthe changes go through fine but the following error shows up in the build:

[ 48%] Building CXX object src/CMakeFiles/Wallet.dir/Wallet/WalletGreen.cpp.o
/home/dollarydoos/generator/generated_files/dollarydoos/src/Wallet/WalletGreen.cpp: In member function ‘virtual std::vector<CryptoNote::WalletOutput> CryptoNote::WalletGreen::getAddressOutputs(const string&) const’:
/home/dollarydoos/generator/generated_files/dollarydoos/src/Wallet/WalletGreen.cpp:1136:37: error: ‘const struct CryptoNote::TransactionOutputInformation’ has no member named ‘requiredSignatures’
     output.requiredSignatures = out.requiredSignatures;
                                     ^
src/CMakeFiles/Wallet.dir/build.make:86: recipe for target 'src/CMakeFiles/Wallet.dir/Wallet/WalletGreen.cpp.o' failed
make[2]: *** [src/CMakeFiles/Wallet.dir/Wallet/WalletGreen.cpp.o] Error 1
CMakeFiles/Makefile2:752: recipe for target 'src/CMakeFiles/Wallet.dir/all' failed

Thanks for all your work, fantastic tool! Keep at it

Wrong block version ??

Getting this error on ubuntu 16.04

Failed to validate block : Wrong block version

Anyone know a fix?

Issues with premined genesis block

Did several tries, every single time I'm getting this error:

2018-Jan-06 01:26:28.277608 ERROR [BlockchainSynchronizer] Failed to load: genesis block hash does not match stored state, read 7b933ca7336f0c9ccb05e61ed6eeddb26501a5316fb2829f04a963168cdede7d, expected a2210cd02bbbf68cca11b219ae6

Here is step-by-step what I'm doing:

1. Launch a brand new Ubuntu 16.04 LTS server
2. sudo apt-get update
3. sudo apt-get upgrade
4. Install dependencies according to https://github.com/facebook/rocksdb/blob/master/INSTALL.md, otherwise install fails.
5. wget https://github.com/forknote/forknote/releases/download/2.1.2/forknote-linux.tar.gz
6. tar -zxvf forknote-linux.tar.gz
7. cd /home/ubuntu/forknote-linux
8. Create "configs/FakeCoin.conf" using the online wizard (skipping reward address and genesis block)
9. ./simplewallet --config-file configs/FakeCoin.conf --generate-new-wallet genesis.wallet --password 1234567890
10. Same wizard, add wallet address for reward and the IP of the newly launched server, export it as FakeCoin.json
    11. cd /home/ubuntu/; git clone https://github.com/forknote/cryptonote-generator.git generator
12. cd /home/ubuntu/generator/
13. bash install_dependencies.sh
14. bash generator.sh -f configs/FakeCoin.json -c '-j2'
15. cd /home/ubuntu/generator/generated_files/builds/FakeCoin-linux/
16. ./FakeCoind --print-genesis-tx --genesis-block-reward-address FT7wrEqKTy7UaXPS7bc1btgGR4DX2fCzw3sk7cde5r8v1XALNc1BaKVMPHDm2JcLP81UbeAmq2ssfJE8TWpFdvk7GdDVeJU (this is the address that I created with simplewallet, before compiling)
16. Add genesis block to FakeCoin.json
17. bash generator.sh -f configs/FakeCoin.json -c '-j2'

Everything else is working, I can mine, create wallets, etc.

.

.

Build Error

cc1: all warnings being treated as errors
CMakeFiles/cmTC_5cc43.dir/build.make:65: recipe for target 'CMakeFiles/cmTC_5cc43.dir/CheckFunctionExists.c.o' failed
make[1]: *** [CMakeFiles/cmTC_5cc43.dir/CheckFunctionExists.c.o] Error 1
make[1]: Leaving directory '/home/demon/generator/generated_files/d3moncoin/build/release/CMakeFiles/CMakeTmp'
Makefile:126: recipe for target 'cmTC_5cc43/fast' failed
make: *** [cmTC_5cc43/fast] Error 2

im new to this and dont understand this would like the help plz and thank you

Error in Python Decoder.

Hi,sorry for my bad english,but i am really not into coding,so can you please explain me how to fix this:
Traceback (most recent call last):
File "lib/environment_variables.py", line 31, in
config = json.load(json_data)
File "/usr/lib/python2.7/json/init.py", line 278, in load
**kw)
File "/usr/lib/python2.7/json/init.py", line 326, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 366, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python2.7/json/decoder.py", line 382, in raw_decode
obj, end = self.scan_once(s, idx)
ValueError: Expecting , delimiter: line 11 column 46 (char 290)

I understood there is some problem with file environment_variables.py,but i don't know how to fix this.Can you please explain?

Stats are empty

I finished my pool, daemon is ok, everything is ok, miner connects to pool but i dont have stats. Where did i wrong?

Network
Hash Rate:
Block Found:
Difficulty:
Blockchain Height:
Last Reward:
Last Hash:

Seed nodes not syncing after generated

Hi. I have succesfully used cryptonote generator on the project ive been working on. This coin (https is from original cryptonote repo. However, it seems there is issue as mention below:

  1. Blockchain not synchronize and node not seeing other node server. Even when started with --rpc and so. It seem these server not locating each other. i check netstat --ntlp the port and ip is open and fully config, however foreign address is empty.
  2. Simpleminer login halfway, where it stuck at "block will synchoronize in few minutes" dialog. However rpc is working (think so)
  3. The pool is not working anymore using cryptonote universal pool. It was working before. Now it prompt coin busy.

This is the config used to generate updated coin.
{
"base_coin": {
"name": "bytecoin",
"git": "https://github.com/amjuarez/bytecoin.git"
},
"core": {
"SEED_NODES": [
"45.76.59.48:18080",
"45.77.7.102:18080"
],
"EMISSION_SPEED_FACTOR": 20,
"DIFFICULTY_TARGET": 240,
"CRYPTONOTE_DISPLAY_DECIMAL_POINT": 8,
"CRYPTONOTE_COIN_VERSION": 1,
"MONEY_SUPPLY": "860519296101000000",
"DEFAULT_DUST_THRESHOLD": 100000,
"MINIMUM_FEE": 100000,
"CRYPTONOTE_MINED_MONEY_UNLOCK_WINDOW": 100,
"CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE": 100000,
"MAX_TRANSACTION_SIZE_LIMIT": 1000000000,
"CRYPTONOTE_PUBLIC_ADDRESS_BASE58_PREFIX": 201181141,
"DIFFICULTY_CUT_V1": 60,
"DIFFICULTY_CUT_V2": 60,
"DIFFICULTY_CUT": 0,
"DIFFICULTY_LAG_V1": 15,
"DIFFICULTY_LAG_V2": 15,
"DIFFICULTY_LAG": 0,
"DIFFICULTY_WINDOW_V1": 360,
"DIFFICULTY_WINDOW_V2": 360,
"DIFFICULTY_WINDOW": 17,
"ZAWY_DIFFICULTY_V3": 1,
"ZAWY_DIFFICULTY_DIFFICULTY_BLOCK_VERSION": 3,
"UPGRADE_HEIGHT_V2": 3000,
"P2P_DEFAULT_PORT": 18080,
"RPC_DEFAULT_PORT": 18081,
"BYTECOIN_NETWORK": "f698e4a9-c9fa-72de-88b2-61a26fc339af",
"CRYPTONOTE_NAME": "ciphs",
"DAEMON_NAME": "ciphsd",
"GENESIS_COINBASE_TX_HEX": "010a01ff0001e7b2ef96f117029b2e4c0281c0b02e7c53291a94d1d0cbff8883f8024f5142ee494ffbbd08807121018e2905aaa1e1ec59b43dcb423531a89eecdb895a9e6c4bd7cb16c2513d615b3a",
"CHECKPOINTS": "",
"MAX_BLOCK_SIZE_INITIAL": 100000
},
"extensions": [
"core/bytecoin.json",
"bug-fixes.json",
"print-genesis-tx.json",
"blockchain-explorer.json"
]
}

Hope this help.
This is the link to the project https://github.com/ciphscodex/ciphs/blob/master/src/CryptoNoteConfig.h (the original code before the update)

diff: extra operand 'tmp' when running generator.sh

Partial output:

Execute /home/useraccount/cryptonote-generator/extensions/print-genesis-tx.json
- Making pre-tests in file /home/useraccount/cryptonote-generator/generated_files/tmp/src/Daemon/Daemon.cpp
  + Pretest: marker exists - #include "CryptoNoteCore/Core.h"
  + Pretest: marker exists - arg_testnet_on  = {
  + Pretest: marker exists - bool command_line_preprocessor(const boost::program_options::variables_map& vm, LoggerRef& logger);
  + Pretest: marker exists - command_line::add_arg(desc_cmd_sett, arg_testnet_on);
  + Pretest: marker exists - po::notify(vm);
  + Pretest: marker exists - currencyBuilder.testnet(testnet_mode);
- Making changes in file /home/useraccount/cryptonote-generator/generated_files/tmp/src/Daemon/Daemon.cpp
  + Added text before marker: #include "CryptoNoteCore/Core.h"
  + Added text before marker: arg_testnet_on  = {
  + Added text after marker: bool command_line_preprocessor(const boost::program_options::variables_map& vm, LoggerRef& logger);
  + Added text after marker: command_line::add_arg(desc_cmd_sett, arg_testnet_on);
  + Added text after marker: po::notify(vm);
  + Added text after marker: currencyBuilder.testnet(testnet_mode);
- Making pre-tests in file /home/useraccount/cryptonote-generator/generated_files/tmp/src/CryptoNoteCore/Currency.h
  + Pretest: marker exists - CurrencyBuilder& maxBlockNumber(uint32_t val) { m_currency.m_maxBlockHeight = val; return *this; }
- Making changes in file /home/useraccount/cryptonote-generator/generated_files/tmp/src/CryptoNoteCore/Currency.h
  + Added text before marker: CurrencyBuilder& maxBlockNumber(uint32_t val) { m_currency.m_maxBlockHeight = val; return *this; }
- Making pre-tests in file /home/useraccount/cryptonote-generator/generated_files/tmp/src/CryptoNoteCore/Currency.cpp
  + Pretest: marker exists - CurrencyBuilder& CurrencyBuilder::emissionSpeedFactor(unsigned int val) {
- Making changes in file /home/useraccount/cryptonote-generator/generated_files/tmp/src/CryptoNoteCore/Currency.cpp
  + Added text before marker: CurrencyBuilder& CurrencyBuilder::emissionSpeedFactor(unsigned int val) {
Create patch
diff: extra operand 'tmp'
diff: Try 'diff --help' for more information.
Remove temporary files...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.