38 Commits

Author SHA1 Message Date
Salvatore Giudice
04474f996d added homebrew support patch to contrib for osx builds 2014-07-17 23:34:05 -07:00
qwerty55
6afd12465c incremented min proto version to facilitate hardfork 2014-07-17 05:04:20 -04:00
qwerty55
5ae4422402 reverted min proto version 2014-07-17 04:05:30 -04:00
qwerty55
c374d23f37 block height for subsidy reduction changed from 620000 to 577000 to allow for cut in 10 days 2014-07-17 03:35:50 -04:00
qwerty55
cc9e4439d6 resolved client version merge conflict 2014-07-17 03:18:25 -04:00
qwerty55
7300f8150a changed seed dns from casinoco.in to casinocoin.org; updated version number to 1.2.1 2014-06-16 21:18:47 -04:00
qwerty55
6fe7061421 update README.md to fix mailing lists header 2014-06-11 20:48:36 -04:00
qwerty55
ecd2ace6ae update README.md to include mailing lists 2014-06-11 20:47:22 -04:00
qwerty55
2ff46aa40b added upper boundary to block reward reduction to ensure 63 million coins maximum 2014-06-11 04:13:32 -04:00
qwerty55
f4d665abec updated README.md 2014-06-10 03:02:57 -04:00
qwerty55
c53af9e553 changed version to 1.3.0.0 in casinocoin-qt.pro 2014-06-10 02:59:27 -04:00
qwerty55
37e00791b2 incremented PROTOCOL_VERSION to 70004; missed this in last push 2014-06-10 01:04:58 -04:00
root
b597348e88 max coins changed to 63 million; permanent block reward reduction to 10 added in place of previous block reward halving scheme; PROTOCOL_VERSION and MIN_PEER_PROTO_VERSION incremented forward by 1 to facilitate hardfork; client version number incremented to 1.3.0 2014-06-10 00:46:26 -04:00
Viktor Kruug
27408f6304 Changed to be Linux friendly
Running through the qmake/make process will now look for the Linux paths instead of Windows paths.  Currently, this will build on Linux, but still references a lot of Windows paths.  Doing more research, one should be able to replace all paths with Linux-based paths that should also work under CYGWIN on Windows.
2014-05-20 12:33:53 -05:00
EmBi
6154ff7d30 Enabled disconnecting from old version nodes 2014-05-20 02:39:37 +02:00
EmBi
2447a9d633 Readme updated 2014-05-19 23:08:21 +02:00
EmBi
271e65e905 Readme updated 2014-05-19 23:07:05 +02:00
casinocoin2
5d7817fa2e Merge pull request #2 from CartmanSPC/patch-1
Update README.md
2014-05-19 13:01:23 -04:00
embicoin
17bc6f4bb6 Fixed about dialog old link to the forum, added link to the website (as we did on the github Readme) 2014-05-19 18:08:37 +02:00
embicoin
ee8462daa1 Checkpoints added for Digishield release - 1.2 2014-05-19 17:52:10 +02:00
rotocoin
2c71c0dbd6 Revert old peer disconnect until the spreading the new version - Let's put until block 445000 at least 2014-05-19 17:05:21 +02:00
CartmanSPC
52873077a2 Update README.md 2014-05-19 01:21:29 -07:00
casinocoin2
c9859e5c53 Update README.md
Header
2014-05-18 23:09:02 -04:00
casinocoin2
92d99f8046 Update README.md
Websites
2014-05-18 14:53:12 -04:00
casinocoin2
3f9e176ced Update version.h
Proto Version Change
2014-05-18 13:28:13 -04:00
rotocoin
104ca3b2d4 Readme modified according last changes in tech specs. 2014-05-18 17:17:10 +02:00
rotocoin
1ad300cec4 Client name change (since transcoder is not active anymore and the old name is not representative to the new version) 2014-05-18 16:53:16 +02:00
rotocoin
1f0b80e20a Fixed Heartbleed and TimeWarp vulnerabilities. Added DigiShield difficulty retarget system starting from block 445000 (This changes force a Hard-Fork, therefore, client version was upgraded) 2014-05-18 16:35:49 +02:00
rotocoin
30cce35815 Change permissions to platform detect script to avoid first-time compile error in linux systems 2014-05-18 14:50:30 +02:00
casinocoin2
3574568148 Wallet.png 2014-05-15 19:23:22 -04:00
casinocoin2
e2b171750d Png Update 2014-05-15 17:11:11 -04:00
Matthew Spada Dev
205677e0dd added kimoto comment 2014-05-14 21:39:30 -04:00
casinocoin2
a892efdcae Merge pull request #1 from kruug/patch-1
Minor word choice correction
2014-05-14 21:22:58 -04:00
Viktor Kruug
07dd3ba548 Minor word choice correction
The proper spelling of "bear/bare" when used to ask someone to "hang in there" is `bear`.  Corrected the ReadMe to reflect this.  As evidenced in definition #3 here: http://www.oxforddictionaries.com/definition/english/bear
2014-05-14 19:59:25 -05:00
casinocoin2
91650f8536 Update main.cpp 2014-05-14 15:07:28 -04:00
casinocoin2
70e846fa88 Update README.md 2014-05-14 15:04:15 -04:00
transcoder
2c68f0644d Version 1.1.0.0 update 2014-02-12 05:11:17 -07:00
transcoder
d1f1ee12bb Version 1.1.0.0 update 2014-02-12 05:04:01 -07:00
20 changed files with 154696 additions and 1491 deletions

2
.gitignore vendored
View File

@@ -31,4 +31,4 @@ qrc_*.cpp
.DS_Store
build
!src/leveldb-*/Makefile
!src/leveldb/Makefile

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,3 +1,5 @@
<h2>Please download the updated wallet asap, hard fork incoming at block 445000</h2>
[Click here to download the most recent wallet version -> 1.3.0 (Updated on July, 4 2014)](https://github.com/casinocoin/casinocoin/releases/tag/1.3.0.0 "Click to go to releases page")
<p align="center"><img src="https://raw.github.com/transcoder/CasinoCoin/master/src/qt/res/images/logo.png" /></p>
@@ -32,20 +34,31 @@ Technical Specifications
- scrypt proof-of-work algorithm
- 30 second block time targets
- ~336 million total coins
- 720 blocks to retarget difficulty
- new digishield difficulty retargetting system (from block 445000)
- 50 coins per block, halves every 3,153,600 blocks (~3 years)
- fair launch, absolutely no premine
Casinocoin Mailing Lists
========================
If you operate a pool or service that relies on Casinocoin wallets, please subscribe to the "Csinocoin Development" mailing list for notifications of client updates, hardforks,or other issues that may impact you.
- Casinocoin Development mailing list subscription form: http://eepurl.com/WGcoP
If you are a community mber interested in more general announcements related to Casinocoin, please subscribe to the "Casinocoin Announcements" mailing list.
- Casinocoin Announcements mailing list subscription form: http://eepurl.com/WGeu1
Links
======
Website: http://casinoco.in
Website: http://casinocoin.org
Forum: http://forum.casinoco.in
Forum: http://forums.casinocoin.org
Source: https://github.com/transcoder/CasinoCoin
Source: https://github.com/casinocoin/casinocoin

View File

@@ -1,7 +1,7 @@
TEMPLATE = app
TARGET = casinocoin-qt
macx:TARGET = "CasinoCoin-Qt"
VERSION = 1.1.0.0
VERSION = 1.3.0.0
INCLUDEPATH += src src/json src/qt
QT += core gui network
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
@@ -19,14 +19,19 @@ CONFIG += thread
# BOOST_INCLUDE_PATH, BOOST_LIB_PATH, BDB_INCLUDE_PATH,
# BDB_LIB_PATH, OPENSSL_INCLUDE_PATH and OPENSSL_LIB_PATH respectively
BOOST_INCLUDE_PATH=E:/crypto/deps/boost_1_53_0
BOOST_LIB_PATH=E:/crypto/deps/boost_1_53_0/stage/lib
BDB_INCLUDE_PATH=E:/crypto/deps/db-4.8.30.NC/build_unix
BDB_LIB_PATH=E:/crypto/deps/db-4.8.30.NC/build_unix
OPENSSL_INCLUDE_PATH=E:/crypto/deps/openssl-1.0.1b/include
OPENSSL_LIB_PATH=E:/crypto/deps/openssl-1.0.1b
QRENCODE_INCLUDE_PATH=E:/crypto/deps/qrencode-3.4.3
QRENCODE_LIB_PATH=E:/crypto/deps/qrencode-3.4.3/.libs
#BOOST_LIB_SUFFIX=-mgw48-mt-s-1_55
#BOOST_INCLUDE_PATH=C:/deps/boost_1_55_0
BOOST_INCLUDE_PATH=/usr/include/boost
#BOOST_LIB_PATH=C:/deps/boost_1_55_0/stage/lib
BOOST_LIB_PATH=/usr/include/boost/stage/lib
BDB_INCLUDE_PATH=C:/deps/db-4.8.30.NC/build_unix
BDB_LIB_PATH=C:/deps/db-4.8.30.NC/build_unix
OPENSSL_INCLUDE_PATH=C:/deps/openssl-1.0.1g/include
OPENSSL_LIB_PATH=C:/deps/openssl-1.0.1g
MINIUPNPC_INCLUDE_PATH=C:/deps/
MINIUPNPC_LIB_PATH=C:/deps/miniupnpc
QRENCODE_INCLUDE_PATH=C:/deps/qrencode-3.4.3
QRENCODE_LIB_PATH=C:/deps/qrencode-3.4.3/.libs
OBJECTS_DIR = build
MOC_DIR = build

View File

@@ -27,7 +27,7 @@ Once you've got the right hardware and software:
wget 'http://fukuchi.org/works/qrencode/qrencode-3.2.0.tar.bz2'
# Inputs for Win32: (Linux has packages for these)
wget 'https://downloads.sourceforge.net/project/boost/boost/1.50.0/boost_1_50_0.tar.bz2'
wget 'http://www.openssl.org/source/openssl-1.0.1c.tar.gz'
wget 'http://www.openssl.org/source/openssl-1.0.1g.tar.gz'
wget 'http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz'
wget 'https://downloads.sourceforge.net/project/libpng/zlib/1.2.6/zlib-1.2.6.tar.gz'
wget 'https://downloads.sourceforge.net/project/libpng/libpng15/older-releases/1.5.9/libpng-1.5.9.tar.gz'

View File

@@ -14,7 +14,7 @@ packages:
reference_datetime: "2011-01-30 00:00:00"
remotes: []
files:
- "openssl-1.0.1c.tar.gz"
- "openssl-1.0.1g.tar.gz"
- "db-4.8.30.NC.tar.gz"
- "miniupnpc-1.6.tar.gz"
- "zlib-1.2.6.tar.gz"
@@ -30,8 +30,8 @@ script: |
#
mkdir -p $INSTALLPREFIX
tar xzf openssl-1.0.1c.tar.gz
cd openssl-1.0.1c
tar xzf openssl-1.0.1g.tar.gz
cd openssl-1.0.1g
./Configure --cross-compile-prefix=$HOST- mingw --openssldir=$INSTALLPREFIX
make
make install_sw

View File

@@ -0,0 +1,48 @@
diff --git a/src/makefile.osx b/src/makefile.osx
index bef0ef3..07ef8d3 100644
--- a/src/makefile.osx
+++ b/src/makefile.osx
@@ -7,17 +7,21 @@
# Originally by Laszlo Hanyecz (solar@heliacal.net)
CXX=llvm-g++
-DEPSDIR=/opt/local
+DEPSDIR=/usr/local
+DB4DIR=/usr/local/opt/berkeley-db4
+OPENSSLDIR=/usr/local/opt/openssl
INCLUDEPATHS= \
-I"$(CURDIR)" \
- -I"$(CURDIR)"/obj \
+ -I"$(CURDIR)/obj" \
-I"$(DEPSDIR)/include" \
- -I"$(DEPSDIR)/include/db48"
+ -I"$(DB4DIR)/include" \
+ -I"$(OPENSSLDIR)/include"
LIBPATHS= \
-L"$(DEPSDIR)/lib" \
- -L"$(DEPSDIR)/lib/db48"
+ -L"$(DB4DIR)/lib" \
+ -L"$(OPENSSLDIR)/lib"
USE_UPNP:=1
USE_IPV6:=1
@@ -31,14 +35,14 @@ ifdef STATIC
TESTLIBS += \
$(DEPSDIR)/lib/libboost_unit_test_framework-mt.a
LIBS += \
- $(DEPSDIR)/lib/db48/libdb_cxx-4.8.a \
+ $(DB4DIR)/lib/libdb_cxx-4.8.a \
$(DEPSDIR)/lib/libboost_system-mt.a \
$(DEPSDIR)/lib/libboost_filesystem-mt.a \
$(DEPSDIR)/lib/libboost_program_options-mt.a \
$(DEPSDIR)/lib/libboost_thread-mt.a \
$(DEPSDIR)/lib/libboost_chrono-mt.a \
- $(DEPSDIR)/lib/libssl.a \
- $(DEPSDIR)/lib/libcrypto.a \
+ $(OPENSSLDIR)/lib/libssl.a \
+ $(OPENSSLDIR)/lib/libcrypto.a \
-lz
else
TESTLIBS += \

View File

@@ -26,7 +26,7 @@ Dependencies
Libraries you need to download separately and build:
default path download
OpenSSL \openssl-1.0.1b-mgw http://www.openssl.org/source/
OpenSSL \openssl-1.0.1g-mgw http://www.openssl.org/source/
Berkeley DB \db-4.8.30.NC-mgw http://www.oracle.com/technology/software/products/berkeley-db/index.html
Boost \boost-1.47.0-mgw http://www.boost.org/users/download/
miniupnpc \miniupnpc-1.6-mgw http://miniupnp.tuxfamily.org/files/
@@ -38,7 +38,7 @@ Boost MIT-like license
miniupnpc New (3-clause) BSD license
Versions used in this release:
OpenSSL 1.0.1b
OpenSSL 1.0.1g
Berkeley DB 4.8.30.NC
Boost 1.47.0
miniupnpc 1.6
@@ -50,7 +50,7 @@ MSYS shell:
un-tar sources with MSYS 'tar xfz' to avoid issue with symlinks (OpenSSL ticket 2377)
change 'MAKE' env. variable from 'C:\MinGW32\bin\mingw32-make.exe' to '/c/MinGW32/bin/mingw32-make.exe'
cd /c/openssl-1.0.1b-mgw
cd /c/openssl-1.0.1g-mgw
./config
make

View File

@@ -60,13 +60,22 @@ namespace Checkpoints
( 197777, uint256("0x2f9203c38cede6e1c61a69eb43c4f62d8e04ba62a57a7d866f4d715eec033cd4"))
( 207777, uint256("0x3631874522954f18e6834ad68918dcc060b2712fea7a381e11e10193c6ab2f24"))
( 217777, uint256("0xc86150e3408be1ca10eb1b94f374ae331c07dec6e2162bf06f5c31d83faa9715"))
( 237777, uint256("0x6f9d56c970ec057c9d6b20e930e50811d8b5d0215046c80bb681d914e2cca4ea"))
( 257777, uint256("0x53e08f4dfe94f5c489aeb564ba84b5e131d026827533f7b446e956541c94eab2"))
( 277777, uint256("0x69f7a0b78bf4609971af3702ffd8d2dec7df07d784240aaa28a67d0c78365668"))
( 297777, uint256("0xe1b8520b0cc8e03785330dcee2bd31415f44b90f6af9176336859a6230c09de2"))
( 317777, uint256("0x0458c7effe8348b551f47c3d7115c9347f4121749549650d495b88e8d0a9c666"))
( 347777, uint256("0x9ba10b9cd9b94e903e67da6a1033841a3e66b6a33f09cbaec2146d4f72dbea2d"))
( 377777, uint256("0x6eecff79e07910c69ac5340ad34c74cd95ecdfb0282ac62b30e7ba443114a628"))
( 444429, uint256("0x01f8b85612927fd3660e7e036f559770ebb09d896f54abf70d99be2fe1793155")) // last solved checkpoint candidate while updating
// (we need to know the debug.log tx= for the last checkpoint)
;
static const CCheckpointData data = {
&mapCheckpoints,
1391536800, // * UNIX timestamp of last checkpoint block
356643, // * total number of transactions between genesis and last checkpoint
// (the tx=... number in the SetBestChain debug.log lines)
4500.0 // * estimated number of transactions per day after checkpoint
1400510546, // * UNIX timestamp of last checkpoint block
661156, // * total number of transactions between genesis and last checkpoint
// (the tx=... number in the SetBestChain debug.log lines)
4 // * estimated number of transactions per day after checkpoint
};
static MapCheckpoints mapCheckpointsTestnet =

View File

@@ -7,7 +7,7 @@
// These need to be macros, as version.cpp's and bitcoin-qt.rc's voodoo requires it
#define CLIENT_VERSION_MAJOR 1
#define CLIENT_VERSION_MINOR 1
#define CLIENT_VERSION_MINOR 3
#define CLIENT_VERSION_REVISION 0
#define CLIENT_VERSION_BUILD 0

210
src/leveldb/Makefile Normal file
View File

@@ -0,0 +1,210 @@
# Copyright (c) 2011 The LevelDB Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. See the AUTHORS file for names of contributors.
#-----------------------------------------------
# Uncomment exactly one of the lines labelled (A), (B), and (C) below
# to switch between compilation modes.
OPT ?= -O2 -DNDEBUG # (A) Production use (optimized mode)
# OPT ?= -g2 # (B) Debug mode, w/ full line-level debugging symbols
# OPT ?= -O2 -g2 -DNDEBUG # (C) Profiling mode: opt, but w/debugging symbols
#-----------------------------------------------
# detect what platform we're building on
$(shell CC="$(CC)" CXX="$(CXX)" TARGET_OS="$(TARGET_OS)" \
./build_detect_platform build_config.mk ./)
# this file is generated by the previous line to set build flags and sources
include build_config.mk
CFLAGS += -I. -I./include $(PLATFORM_CCFLAGS) $(OPT)
CXXFLAGS += -I. -I./include $(PLATFORM_CXXFLAGS) $(OPT)
LDFLAGS += $(PLATFORM_LDFLAGS)
LIBS += $(PLATFORM_LIBS)
LIBOBJECTS = $(SOURCES:.cc=.o)
MEMENVOBJECTS = $(MEMENV_SOURCES:.cc=.o)
TESTUTIL = ./util/testutil.o
TESTHARNESS = ./util/testharness.o $(TESTUTIL)
TESTS = \
arena_test \
autocompact_test \
bloom_test \
c_test \
cache_test \
coding_test \
corruption_test \
crc32c_test \
db_test \
dbformat_test \
env_test \
filename_test \
filter_block_test \
issue178_test \
log_test \
memenv_test \
skiplist_test \
table_test \
version_edit_test \
version_set_test \
write_batch_test
PROGRAMS = db_bench leveldbutil $(TESTS)
BENCHMARKS = db_bench_sqlite3 db_bench_tree_db
LIBRARY = libleveldb.a
MEMENVLIBRARY = libmemenv.a
default: all
# Should we build shared libraries?
ifneq ($(PLATFORM_SHARED_EXT),)
ifneq ($(PLATFORM_SHARED_VERSIONED),true)
SHARED1 = libleveldb.$(PLATFORM_SHARED_EXT)
SHARED2 = $(SHARED1)
SHARED3 = $(SHARED1)
SHARED = $(SHARED1)
else
# Update db.h if you change these.
SHARED_MAJOR = 1
SHARED_MINOR = 13
SHARED1 = libleveldb.$(PLATFORM_SHARED_EXT)
SHARED2 = $(SHARED1).$(SHARED_MAJOR)
SHARED3 = $(SHARED1).$(SHARED_MAJOR).$(SHARED_MINOR)
SHARED = $(SHARED1) $(SHARED2) $(SHARED3)
$(SHARED1): $(SHARED3)
ln -fs $(SHARED3) $(SHARED1)
$(SHARED2): $(SHARED3)
ln -fs $(SHARED3) $(SHARED2)
endif
$(SHARED3):
$(CXX) $(LDFLAGS) $(PLATFORM_SHARED_LDFLAGS)$(SHARED2) $(CXXFLAGS) $(PLATFORM_SHARED_CFLAGS) $(SOURCES) -o $(SHARED3) $(LIBS)
endif # PLATFORM_SHARED_EXT
all: $(SHARED) $(LIBRARY)
check: all $(PROGRAMS) $(TESTS)
for t in $(TESTS); do echo "***** Running $$t"; ./$$t || exit 1; done
clean:
-rm -f $(PROGRAMS) $(BENCHMARKS) $(LIBRARY) $(SHARED) $(MEMENVLIBRARY) */*.o */*/*.o ios-x86/*/*.o ios-arm/*/*.o build_config.mk
-rm -rf ios-x86/* ios-arm/*
$(LIBRARY): $(LIBOBJECTS)
rm -f $@
$(AR) -rs $@ $(LIBOBJECTS)
db_bench: db/db_bench.o $(LIBOBJECTS) $(TESTUTIL)
$(CXX) $(LDFLAGS) db/db_bench.o $(LIBOBJECTS) $(TESTUTIL) -o $@ $(LIBS)
db_bench_sqlite3: doc/bench/db_bench_sqlite3.o $(LIBOBJECTS) $(TESTUTIL)
$(CXX) $(LDFLAGS) doc/bench/db_bench_sqlite3.o $(LIBOBJECTS) $(TESTUTIL) -o $@ -lsqlite3 $(LIBS)
db_bench_tree_db: doc/bench/db_bench_tree_db.o $(LIBOBJECTS) $(TESTUTIL)
$(CXX) $(LDFLAGS) doc/bench/db_bench_tree_db.o $(LIBOBJECTS) $(TESTUTIL) -o $@ -lkyotocabinet $(LIBS)
leveldbutil: db/leveldb_main.o $(LIBOBJECTS)
$(CXX) $(LDFLAGS) db/leveldb_main.o $(LIBOBJECTS) -o $@ $(LIBS)
arena_test: util/arena_test.o $(LIBOBJECTS) $(TESTHARNESS)
$(CXX) $(LDFLAGS) util/arena_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
autocompact_test: db/autocompact_test.o $(LIBOBJECTS) $(TESTHARNESS)
$(CXX) $(LDFLAGS) db/autocompact_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
bloom_test: util/bloom_test.o $(LIBOBJECTS) $(TESTHARNESS)
$(CXX) $(LDFLAGS) util/bloom_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
c_test: db/c_test.o $(LIBOBJECTS) $(TESTHARNESS)
$(CXX) $(LDFLAGS) db/c_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
cache_test: util/cache_test.o $(LIBOBJECTS) $(TESTHARNESS)
$(CXX) $(LDFLAGS) util/cache_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
coding_test: util/coding_test.o $(LIBOBJECTS) $(TESTHARNESS)
$(CXX) $(LDFLAGS) util/coding_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
corruption_test: db/corruption_test.o $(LIBOBJECTS) $(TESTHARNESS)
$(CXX) $(LDFLAGS) db/corruption_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
crc32c_test: util/crc32c_test.o $(LIBOBJECTS) $(TESTHARNESS)
$(CXX) $(LDFLAGS) util/crc32c_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
db_test: db/db_test.o $(LIBOBJECTS) $(TESTHARNESS)
$(CXX) $(LDFLAGS) db/db_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
dbformat_test: db/dbformat_test.o $(LIBOBJECTS) $(TESTHARNESS)
$(CXX) $(LDFLAGS) db/dbformat_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
env_test: util/env_test.o $(LIBOBJECTS) $(TESTHARNESS)
$(CXX) $(LDFLAGS) util/env_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
filename_test: db/filename_test.o $(LIBOBJECTS) $(TESTHARNESS)
$(CXX) $(LDFLAGS) db/filename_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
filter_block_test: table/filter_block_test.o $(LIBOBJECTS) $(TESTHARNESS)
$(CXX) $(LDFLAGS) table/filter_block_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
issue178_test: issues/issue178_test.o $(LIBOBJECTS) $(TESTHARNESS)
$(CXX) $(LDFLAGS) issues/issue178_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
log_test: db/log_test.o $(LIBOBJECTS) $(TESTHARNESS)
$(CXX) $(LDFLAGS) db/log_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
table_test: table/table_test.o $(LIBOBJECTS) $(TESTHARNESS)
$(CXX) $(LDFLAGS) table/table_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
skiplist_test: db/skiplist_test.o $(LIBOBJECTS) $(TESTHARNESS)
$(CXX) $(LDFLAGS) db/skiplist_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
version_edit_test: db/version_edit_test.o $(LIBOBJECTS) $(TESTHARNESS)
$(CXX) $(LDFLAGS) db/version_edit_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
version_set_test: db/version_set_test.o $(LIBOBJECTS) $(TESTHARNESS)
$(CXX) $(LDFLAGS) db/version_set_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
write_batch_test: db/write_batch_test.o $(LIBOBJECTS) $(TESTHARNESS)
$(CXX) $(LDFLAGS) db/write_batch_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
$(MEMENVLIBRARY) : $(MEMENVOBJECTS)
rm -f $@
$(AR) -rs $@ $(MEMENVOBJECTS)
memenv_test : helpers/memenv/memenv_test.o $(MEMENVLIBRARY) $(LIBRARY) $(TESTHARNESS)
$(CXX) $(LDFLAGS) helpers/memenv/memenv_test.o $(MEMENVLIBRARY) $(LIBRARY) $(TESTHARNESS) -o $@ $(LIBS)
ifeq ($(PLATFORM), IOS)
# For iOS, create universal object files to be used on both the simulator and
# a device.
PLATFORMSROOT=/Applications/Xcode.app/Contents/Developer/Platforms
SIMULATORROOT=$(PLATFORMSROOT)/iPhoneSimulator.platform/Developer
DEVICEROOT=$(PLATFORMSROOT)/iPhoneOS.platform/Developer
IOSVERSION=$(shell defaults read $(PLATFORMSROOT)/iPhoneOS.platform/version CFBundleShortVersionString)
.cc.o:
mkdir -p ios-x86/$(dir $@)
$(CXX) $(CXXFLAGS) -isysroot $(SIMULATORROOT)/SDKs/iPhoneSimulator$(IOSVERSION).sdk -arch i686 -c $< -o ios-x86/$@
mkdir -p ios-arm/$(dir $@)
$(DEVICEROOT)/usr/bin/$(CXX) $(CXXFLAGS) -isysroot $(DEVICEROOT)/SDKs/iPhoneOS$(IOSVERSION).sdk -arch armv6 -arch armv7 -c $< -o ios-arm/$@
lipo ios-x86/$@ ios-arm/$@ -create -output $@
.c.o:
mkdir -p ios-x86/$(dir $@)
$(CC) $(CFLAGS) -isysroot $(SIMULATORROOT)/SDKs/iPhoneSimulator$(IOSVERSION).sdk -arch i686 -c $< -o ios-x86/$@
mkdir -p ios-arm/$(dir $@)
$(DEVICEROOT)/usr/bin/$(CC) $(CFLAGS) -isysroot $(DEVICEROOT)/SDKs/iPhoneOS$(IOSVERSION).sdk -arch armv6 -arch armv7 -c $< -o ios-arm/$@
lipo ios-x86/$@ ios-arm/$@ -create -output $@
else
.cc.o:
$(CXX) $(CXXFLAGS) -c $< -o $@
.c.o:
$(CC) $(CFLAGS) -c $< -o $@
endif

0
src/leveldb/build_detect_platform Normal file → Executable file
View File

View File

@@ -1108,8 +1108,18 @@ int64 static GetBlockValue(int nHeight, int64 nFees)
nSubsidy = 45 * COIN;
}
// Subsidy is cut in half every 3153600 blocks, which will occur approximately every 3 years
nSubsidy >>= (nHeight / 3153600);
// Permantently reduce the number of mined coins to 10 after block 575000
if(nHeight > 575000){
if(nHeight < 3756000){
nSubsidy = 10 * COIN;
}
else
{
nSubsidy = 0 * COIN;
}
}
return nSubsidy + nFees;
}
@@ -1215,6 +1225,9 @@ unsigned int static GetNextWorkRequired_V1(const CBlockIndex* pindexLast, const
unsigned int static KimotoGravityWell(const CBlockIndex* pindexLast, const CBlockHeader *pblock, uint64 TargetBlocksSpacingSeconds, uint64 PastBlocksMin, uint64 PastBlocksMax)
{
/* Kimoto Gravity Well implementation - credit to Dr Kimoto Chan of Megacoin */
//
// DigiShield comes in at block 445000
//
const CBlockIndex *BlockLastSolved = pindexLast;
const CBlockIndex *BlockReading = pindexLast;
const CBlockHeader *BlockCreating = pblock;
@@ -1289,21 +1302,99 @@ unsigned int static GetNextWorkRequired_V2(const CBlockIndex* pindexLast, const
return KimotoGravityWell(pindexLast, pblock, BlocksTargetSpacing, PastBlocksMin, PastBlocksMax);
}
unsigned int static DigiShield(const CBlockIndex* pindexLast, const CBlockHeader *pblock)
{
// DigiShield difficulty retarget system
// Credits to DigiByte developers
unsigned int nProofOfWorkLimit = bnProofOfWorkLimit.GetCompact();
int blockstogoback = 0;
//set default to pre-v2.0 values
int64 retargetTimespan = nTargetSpacing; //Make sure we retarget every block
int64 retargetSpacing = nTargetSpacing;
int64 retargetInterval = retargetTimespan / retargetSpacing;
// Genesis block
if (pindexLast == NULL) return nProofOfWorkLimit;
// Only change once per interval
if ((pindexLast->nHeight+1) % retargetInterval != 0){
// Special difficulty rule for testnet:
if (fTestNet){
// If the new block's timestamp is more than 2* 10 minutes
// then allow mining of a min-difficulty block.
if (pblock->nTime > pindexLast->nTime + retargetSpacing*2)
return nProofOfWorkLimit;
else {
// Return the last non-special-min-difficulty-rules-block
const CBlockIndex* pindex = pindexLast;
while (pindex->pprev && pindex->nHeight % retargetInterval != 0 && pindex->nBits == nProofOfWorkLimit)
pindex = pindex->pprev;
return pindex->nBits;
}
}
return pindexLast->nBits;
}
// DigiByte: This fixes an issue where a 51% attack can change difficulty at will.
// Go back the full period unless it's the first retarget after genesis. Code courtesy of Art Forz
blockstogoback = retargetInterval-1;
if ((pindexLast->nHeight+1) != retargetInterval) blockstogoback = retargetInterval;
// Go back by what we want to be 14 days worth of blocks
const CBlockIndex* pindexFirst = pindexLast;
for (int i = 0; pindexFirst && i < blockstogoback; i++)
pindexFirst = pindexFirst->pprev;
assert(pindexFirst);
// Limit adjustment step
int64 nActualTimespan = pindexLast->GetBlockTime() - pindexFirst->GetBlockTime();
printf(" nActualTimespan = %"PRI64d" before bounds\n", nActualTimespan);
CBigNum bnNew;
bnNew.SetCompact(pindexLast->nBits);
if (nActualTimespan < (retargetTimespan - (retargetTimespan/4)) ) nActualTimespan = (retargetTimespan - (retargetTimespan/4));
if (nActualTimespan > (retargetTimespan + (retargetTimespan/2)) ) nActualTimespan = (retargetTimespan + (retargetTimespan/2));
// Retarget
bnNew *= nActualTimespan;
bnNew /= retargetTimespan;
/// debug print
printf("DigiShield RETARGET \n");
printf("retargetTimespan = %"PRI64d" nActualTimespan = %"PRI64d"\n", retargetTimespan, nActualTimespan);
printf("Before: %08x %s\n", pindexLast->nBits, CBigNum().SetCompact(pindexLast->nBits).getuint256().ToString().c_str());
printf("After: %08x %s\n", bnNew.GetCompact(), bnNew.getuint256().ToString().c_str());
if (bnNew > bnProofOfWorkLimit)
bnNew = bnProofOfWorkLimit;
return bnNew.GetCompact();
}
unsigned int static GetNextWorkRequired(const CBlockIndex* pindexLast, const CBlockHeader *pblock)
{
int DiffMode = 1;
if (fTestNet)
{
if (pindexLast->nHeight+1 >= 100) { DiffMode = 2; }
}
else
{
if (pindexLast->nHeight+1 >= 227000) { DiffMode = 2; }
}
int DiffMode = 1;
if (fTestNet)
{
if (pindexLast->nHeight+1 >= 100) { DiffMode = 2; }
}
else
{
if (pindexLast->nHeight+1 >= 227000 && pindexLast->nHeight+1 < 445000) { DiffMode = 2; }
else if (pindexLast->nHeight+1 >= 445000) { DiffMode = 3; }
}
if (DiffMode == 1) { return GetNextWorkRequired_V1(pindexLast, pblock); }
else if (DiffMode == 2) { return GetNextWorkRequired_V2(pindexLast, pblock); }
return GetNextWorkRequired_V2(pindexLast, pblock);
if (DiffMode == 1) { return GetNextWorkRequired_V1(pindexLast, pblock); }
else if (DiffMode == 2) { return GetNextWorkRequired_V2(pindexLast, pblock); }
else if (DiffMode == 3) { return DigiShield(pindexLast, pblock); }
return DigiShield(pindexLast, pblock);
}
bool CheckProofOfWork(uint256 hash, unsigned int nBits)

View File

@@ -54,7 +54,7 @@ static const int64 DUST_SOFT_LIMIT = 100000; // 0.001 CSC
/** Dust Hard Limit, ignored as wallet inputs (mininput default) */
static const int64 DUST_HARD_LIMIT = 1000; // 0.00001 CSC mininput
/** No amount larger than this (in satoshi) is valid */
static const int64 MAX_MONEY = 336000000 * COIN;
static const int64 MAX_MONEY = 63000000 * COIN;
inline bool MoneyRange(int64 nValue) { return (nValue >= 0 && nValue <= MAX_MONEY); }
/** Coinbase transaction outputs can only be spent after this number of new blocks (network rule) */
static const int COINBASE_MATURITY = 8;

View File

@@ -1192,15 +1192,15 @@ void MapPort(bool)
// The first name is used as information source for addrman.
// The second name should resolve to a list of seed addresses.
static const char *strMainNetDNSSeed[][2] = {
{"casinoco.in seed", "seed.casinoco.in"},
{"casinoco.in seed #1", "seed1.casinoco.in"},
{"casinoco.in seed #2", "seed2.casinoco.in"},
{"casinoco.in seed #3", "seed3.casinoco.in"},
{"casinocoin.org seed", "seed.casinocoin.org"},
{"casinocoin.org seed #1", "seed1.casinocoin.org"},
{"casinocoin.org seed #2", "seed2.casinocoin.org"},
{"casinocoin.org seed #3", "seed3.casinocoin.org"},
{NULL, NULL}
};
static const char *strTestNetDNSSeed[][2] = {
{"casinoco.in testnet seed #1", "testnet-seed1.casinoco.in"},
{"casinocoin.org testnet seed #1", "testnet-seed1.casinocoin.org"},
{NULL, NULL}
};

View File

@@ -115,7 +115,8 @@ Distributed under the MIT/X11 software license, see the accompanying file COPYIN
This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard.
Official forum: http://forum.casinoco.in
Website: http://casinocoin.org
Forum: http://forums.casinocoin.org
</string>
</property>
<property name="wordWrap">

BIN
src/qt/res/images/wallet.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 62 KiB

View File

@@ -8,7 +8,7 @@
// Name of client reported in the 'version' message. Report the same name
// for both bitcoind and bitcoin-qt, to make it harder for attackers to
// target servers or GUI users specifically.
const std::string CLIENT_NAME("transcoder");
const std::string CLIENT_NAME("digishield");
// Client version number
#define CLIENT_VERSION_SUFFIX "-beta"

View File

@@ -25,13 +25,13 @@ extern const std::string CLIENT_DATE;
// network protocol versioning
//
static const int PROTOCOL_VERSION = 70002;
static const int PROTOCOL_VERSION = 70004;
// intial proto version, to be increased after version/verack negotiation
static const int INIT_PROTO_VERSION = 209;
// disconnect from peers older than this proto version
static const int MIN_PEER_PROTO_VERSION = 60002;
static const int MIN_PEER_PROTO_VERSION = 70004; // TODO: Change to 70004 before block 445000 to force new client downloading and therefore doing the actual hard fork
// nTime field added to CAddress, starting with this version;
// if possible, avoid requesting addresses nodes older than this