Code Monkey home page Code Monkey logo

anoncoin / anoncoin Goto Github PK

View Code? Open in Web Editor NEW
36.0 36.0 19.0 124.59 MB

Anoncoin (ANC) is a peer-to-peer digital cryptocurrency that focuses on privacy and anonymity for its users. Created in June 2013, it is the first and only currency to have built-in support for both the I2P darknet and Tor network that conceal the IP address of the user.

Home Page: https://anoncoin.net

License: MIT License

Makefile 1.64% Shell 1.07% M4 2.68% QMake 0.04% Python 2.52% Roff 0.32% C++ 89.00% C 1.36% HTML 0.89% CSS 0.02% Objective-C 0.07% Objective-C++ 0.23% CMake 0.11% Dockerfile 0.06%

anoncoin's Introduction

logo The Anoncoin Project

Home | Installation | Developers | Project | Wallet | Mining | Updates

2020,Nov 27th from GroundRod

Just started a couple wording changes here & realized the tons of time needed to update our documentation. First I want everyone to know, Groundrod is looking forward to a return to this project. Spit & polish documentation part timer, Coder of sorts & will try to bring us all current as to how the Anoncoin blockchain has been doing, many years in the rear view mirror now. Can't stop wondering, how has the Difficulty Retarget PID controllers performance been? Stay tuned...

NOTE: Old, as yet unedited or updated material below Overview

Cryptocurrencies like Bitcoin use public ledgers to keep balances correct between wallets. As Bitcoin and others are increasingly used, wallet addresses (and their balances) will increasingly be tied to real world identities.

Just like people prefer not to show others their bank accounts, they will not want this level of exposure on their cryptocurrency wallets.

A move to cryptocurrency which keeps sender addresses and balances are private is inevitable.

Anoncoin (ANC) is a peer-to-peer digital cryptocurrency that focuses on privacy and anonymity for its users. Created in June 2013, it is the first and only currency to have built-in support for both the I2P darknet and Tor network that conceal the IP address of the user. Anoncoin will soon be implementing Zerocoin, which will allow users to make payments anonymously, without revealing their anoncoin public addresses.

Facts About Anonoin

ITEM DESCRIPTION
Launch date June 6, 2013
Consensus algorithm proof of work (Scrypt)
Block generation 3 min block targets
Block reward
  • 4.2 ANC for blocks until 42,000
  • 7 ANC until block 77,777
  • 10 ANC bonus block for 77778
  • 5 ANC until block 306,600
  • halving of block rewards every 306,600 blocks (approximately every 638 days)
Max. coins 3.1 million ANC
Anonymity Native support of the I2P and Tor darknets, Zerocoin in development
Pre-mine 4200 ANC returned to the community

For more information

Please join the community in the following ways:

Website: anoncoin.net
Wiki: wiki.anoncoin.net
Email: [email protected]
Slack: anoncoin.slack.com
Reddit: anoncoin
Twitter: AnoncoinNews, AnoncoinProject
IRC: #anoncoin (I2P: localhost:6668)

anoncoin's People

Contributors

coblee avatar codeshark avatar codler avatar cozz avatar cryptoslave avatar dooglus avatar fanquake avatar gavinandresen avatar gmaxwell avatar gnos1s avatar groundrod avatar jonasschnelli avatar laanwj avatar luke-jr avatar lunokhod avatar meeh420 avatar mikalv avatar muggenhor avatar non-github-bitcoin avatar oyvkva avatar petertodd avatar rebroad avatar sdkfjlsfjlskdfjlsdjflsjf avatar sipa avatar super3 avatar thebluematt avatar theuni avatar wizeman avatar wtogami avatar yhaenggi 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

Watchers

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

anoncoin's Issues

build failed on Ubuntu

i try to build from sources of current master branch a938862
under Ubuntu 16
and follow manual https://anoncoin.github.io/How_to_build_Anoncoin_from_source/
but after cmd

git clone https://github.com/Anoncoin/anoncoin.git
cd anoncoin
./autogen.sh
cd depends
make -j 2

i getting these build errors

....
      from io/qfilesystemwatcher_inotify.cpp:43:
../../include/QtCore/../../src/corelib/tools/qmap.h: In instantiation of ‘T& QMap<Key, T>::operator[](const Key&) [with Key = int; T = inotify_event]’:
io/qfilesystemwatcher_inotify.cpp:364:33:   required from here
../../include/QtCore/../../src/corelib/tools/qmap.h:509:45: error: value-initialization of incomplete type ‘char []’
         node = node_create(d, update, akey, T());
                                             ^~~
../../include/QtCore/../../src/corelib/tools/qmap.h: In instantiation of ‘struct QMapNode<int, inotify_event>’:
...

Makefile:15479: recipe for target '.obj/release-shared/qfilesystemwatcher_inotify.o' failed
make[2]: *** [.obj/release-shared/qfilesystemwatcher_inotify.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/home/user/anoncoin/depends/work/build/x86_64-unknown-linux-gnu/qt46/4.6.4-7c3aea64b4a/src/corelib'
Makefile:139: recipe for target 'sub-corelib-make_default' failed
make[1]: *** [sub-corelib-make_default] Error 2
make[1]: Leaving directory '/home/user/anoncoin/depends/work/build/x86_64-unknown-linux-gnu/qt46/4.6.4-7c3aea64b4a/src'
funcs.mk:231: recipe for target '/home/user/anoncoin/depends/work/build/x86_64-unknown-linux-gnu/qt46/4.6.4-7c3aea64b4a/./.stamp_built' failed
make: *** [/home/user/anoncoin/depends/work/build/x86_64-unknown-linux-gnu/qt46/4.6.4-7c3aea64b4a/./.stamp_built] Error 2

Release roadmap for 0.9.7

Release roadmap for 0.9.7

  • New DNS Seeds
  • CMake build system (finally trashing autotools)
  • Minor bugfixes and improvements
  • Add new alert key?

Discussion | Support ZK-STARKs

Goal: Implement and Support ZK-STARKs in AnonCoin
Description: Let's consider how to integrate and use ZK-STARKs, possibly leveraging the work upstream.
Why?: To make transactions full anonymous and verifiable.


Want to support this issue? Post a bounty on it! We accept bounties via BountySource.

Bountysource

Build & test pipeline

We need to setup something like travis or alternatives. Assigning it to us that do infra.

"make check" tests do not pass

When I run make check, here is the output:

$ make check
Making check in src
/Applications/Xcode.app/Contents/Developer/usr/bin/make  check-TESTS check-local
FAIL: test/test_anoncoin
make[4]: *** No rule to make target `test/anoncoin-util-test.py', needed by `test/anoncoin-util-test.py.log'.  Stop.
make[3]: *** [check-TESTS] Error 2
make[2]: *** [check-am] Error 2
make[1]: *** [check-recursive] Error 1
make: *** [check-recursive] Error 1

Update libsam3

Currently working on libsam3 updates for I2P, and I'll be using ANC as a example application for integration, upgrading the current I2P code in ANC as well in the same task.

Website is down

Hi, the website is down for quite a while now, can someone fix it or transfer ownership of the project over to someone who can maintain it? thanks

Make all unittests work for ANC

We need unittests, that's not litecoin testdata but anoncoin. Helping solving this issue will give bounty rewards. @oyvkva we need a bounty for contributors here.

"make deploy" does not work

When running on a mac to produce the dmg, I get the following error:

$ make deploy
build-aux/install-sh -c -d Anoncoin.app/Contents
/usr/bin/install -c -m 644 share/qt/Info.plist Anoncoin.app/Contents/Info.plist
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C src qt/anoncoin-qtc
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C src qthemes/anoncoin-qtt
build-aux/install-sh -c -d Anoncoin.app/Contents/MacOS
STRIPPROG="/usr/bin/strip" /bin/sh /Users/switzer/code/switzer/anoncoin/build-aux/install-sh -c -s  src/qt/anoncoin-qtc Anoncoin.app/Contents/MacOS/Anoncoin
./contrib/macdeploy/macdeployqtplus Anoncoin.app -add-qt-tr da,de,es,hu,ru,uk,zh_CN,zh_TW -translations-dir= -dmg -fancy ./contrib/macdeploy/fancy.plist -verbose 2
  File "./contrib/macdeploy/macdeployqtplus", line 204
    print "Inspecting with otool: " + binaryPath
                                  ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(print "Inspecting with otool: " + binaryPath)?
make: *** [Anoncoin.dmg] Error 1

Sync stuck at hard fork

Syncing has been working seamlessly until block 557107, where it is stuck.

Here is what I see:

2018-03-08 18:27:13 UpdateTip: new best=00000000018a564e847328f3fa9de15bdc92c6adb64a267c0d74d726d91e268c  height=557105  log2_work=197.80248  tx=840028  date=2016-07-10 11:06:00 progress=0.354351  cache=3723
2018-03-08 18:27:13 UpdateTip: new best=00000000019e8779e15e583d657d4c9a5c212274d48367c0f42061ed6128f9c3  height=557106  log2_work=197.80248  tx=840029  date=2016-07-10 11:06:00 progress=0.354352  cache=3724
2018-03-08 18:27:13 UpdateTip: new best=0000000000348ad2c0c6a38b6ccb9d44a0cd00a68dc8bedca5bd9cc68de70569  height=557107  log2_work=197.80248  tx=840030  date=2016-07-10 11:06:14 progress=0.354353  cache=3725
2018-03-08 18:29:53 connect() to 173.244.44.14:9377 failed after select(): Connection refused (61)
2018-03-08 18:30:42 connect() to 173.239.230.13:9377 failed after select(): Connection refused (61)
2018-03-08 18:30:44 connect() to 177.85.201.162:9377 failed after select(): Connection refused (61)
2018-03-08 18:33:12 AddPortMapping(9377, 9377, 192.168.1.3) failed with code -3 (UnknownError)
2018-03-08 18:33:52 connect() to 173.239.212.19:9377 failed after select(): Connection refused (61)

and this goes on and on.

Every once in a while I receive messages like this:

2018-03-09 00:08:48 receive version message: /Anonymous:0.9.6.13/: version 70012, blocks=790071, services=0x0000000000000081 us=108.29.178.157:57390, them=104.238.174.127:9377, peer=104.238.174.127:9377

and this:

2018-03-09 03:59:46 partner 192.241.187.222:9377 using version 70007 obsolete since the HARDFORK_BLOCK 555555 was reached; disconnecting

Any help kicking this along is much appreciated!

Compiling latest release on a Mac

I am trying to compile the latest release (https://github.com/Anoncoin/anoncoin/releases/tag/5e441d8) to work on my Mac.

Per a Slack chat, I am adding all of the errors I get during the process here:

When running make:

Making all in src
  CXX      anoncoind-anoncoind.o
  CXX      libanoncoin_server_a-alert.o
  CXX      libanoncoin_server_a-bloom.o
  CXX      libanoncoin_server_a-chain.o
  CXX      libanoncoin_server_a-checkpoints.o
  CXX      libanoncoin_server_a-init.o
init.cpp:1369:21: warning: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'int64_t' (aka 'long long') [-Wsign-compare]
    if (nTotalCache < (nMinDbCache << 20))
        ~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~
init.cpp:1371:26: warning: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'int64_t' (aka 'long long') [-Wsign-compare]
    else if (nTotalCache > (nMaxDbCache << 20))
             ~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~
2 warnings generated.
  CXX      libanoncoin_server_a-leveldbwrapper.o
  CXX      libanoncoin_server_a-main.o
main.cpp:4150:18: warning: unused variable 'fFromChanged' [-Wunused-variable]
            bool fFromChanged = addrFrom.CheckAndSetGarlicCat();
                 ^
main.cpp:4674:22: warning: comparison of integers of different signs: 'int32_t' (aka 'int') and 'const unsigned int' [-Wsign-compare]
        if( nInvSize > MAX_INV_SZ ) {
            ~~~~~~~~ ^ ~~~~~~~~~~
2 warnings generated.
  CXX      libanoncoin_server_a-merkleblock.o
  CXX      libanoncoin_server_a-miner.o
  CXX      libanoncoin_server_a-net.o
net.cpp:1406:15: error: no matching function for call to 'upnpDiscover'
    devlist = upnpDiscover(2000, multicastif, minissdpdpath, 0, 0, &error);
              ^~~~~~~~~~~~
/usr/local/include/miniupnpc/miniupnpc.h:63:1: note: candidate function not viable: requires 7 arguments, but 6 were provided
upnpDiscover(int delay, const char * multicastif,
^
1 error generated.
make[2]: *** [libanoncoin_server_a-net.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1

Aside from the warnings, the key error is that miniupnpc has been modified in the OS since this code has been tested on a Mac.

I ran configure without miniupnpc to see how it goes:

./configure --without-miniupnpc

Output of make is as follows:

Making all in src
  CXX      anoncoind-anoncoind.o
  CXX      libanoncoin_server_a-alert.o
  CXX      libanoncoin_server_a-bloom.o
  CXX      libanoncoin_server_a-chain.o
  CXX      libanoncoin_server_a-checkpoints.o
  CXX      libanoncoin_server_a-init.o
init.cpp:1369:21: warning: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'int64_t' (aka 'long long') [-Wsign-compare]
    if (nTotalCache < (nMinDbCache << 20))
        ~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~
init.cpp:1371:26: warning: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'int64_t' (aka 'long long') [-Wsign-compare]
    else if (nTotalCache > (nMaxDbCache << 20))
             ~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~
2 warnings generated.
  CXX      libanoncoin_server_a-leveldbwrapper.o
  CXX      libanoncoin_server_a-main.o
main.cpp:4150:18: warning: unused variable 'fFromChanged' [-Wunused-variable]
            bool fFromChanged = addrFrom.CheckAndSetGarlicCat();
                 ^
main.cpp:4674:22: warning: comparison of integers of different signs: 'int32_t' (aka 'int') and 'const unsigned int' [-Wsign-compare]
        if( nInvSize > MAX_INV_SZ ) {
            ~~~~~~~~ ^ ~~~~~~~~~~
2 warnings generated.
  CXX      libanoncoin_server_a-merkleblock.o
  CXX      libanoncoin_server_a-miner.o
  CXX      libanoncoin_server_a-net.o
net.cpp:2080:1: warning: control may reach end of non-void function [-Wreturn-type]
}
^
1 warning generated.
  CXX      libanoncoin_server_a-noui.o
  CXX      libanoncoin_server_a-pow.o
pow.cpp:910:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
pow.cpp:960:49: warning: comparison of integers of different signs: 'size_type' (aka 'unsigned long') and 'int' [-Wsign-compare]
            assert( vTipFilterWithHeader.size() == nTipFilterBlocks + 1 );
                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
                        ^
pow.cpp:1021:36: warning: comparison of integers of different signs: 'size_type' (aka 'unsigned long') and 'int32_t' (aka 'int') [-Wsign-compare]
    assert( vIndexTipFilter.size() == nTipFilterBlocks );            //! The array of strutures is constant in size and assumed.
            ~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
                        ^
pow.cpp:1415:20: warning: unused variable 'dTimeErrorAt' [-Wunused-variable]
            double dTimeErrorAt, dDiffErrorAt;
                   ^
pow.cpp:1417:20: warning: unused variable 'dPiLog2' [-Wunused-variable]
            double dPiLog2, dPidLog2;
                   ^
pow.cpp:1415:34: warning: unused variable 'dDiffErrorAt' [-Wunused-variable]
            double dTimeErrorAt, dDiffErrorAt;
                                 ^
pow.cpp:1417:29: warning: unused variable 'dPidLog2' [-Wunused-variable]
            double dPiLog2, dPidLog2;
                            ^
pow.cpp:1544:100: warning: comparison of integers of different signs: 'uint32_t' (aka 'unsigned int') and 'int32_t' (aka 'int') [-Wsign-compare]
    if( pIndexAtTip == NULL || pIndexAtTip->nHeight < nTipFilterBlocks || (nHeight != 0 && nHeight <= nTipFilterBlocks ) )
                                                                                           ~~~~~~~ ^  ~~~~~~~~~~~~~~~~
pow.cpp:1552:33: warning: comparison of integers of different signs: 'uint32_t' (aka 'unsigned int') and 'const int' [-Wsign-compare]
    if( nHeight == 0 || nHeight > pIndexAtTip->nHeight ) {
                        ~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~
pow.cpp:1558:40: warning: comparison of integers of different signs: 'const int' and 'uint32_t' (aka 'unsigned int') [-Wsign-compare]
        while( pIndexAtHeight->nHeight > nHeight )
               ~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~
10 warnings generated.
  CXX      libanoncoin_server_a-rest.o
  CXX      libanoncoin_server_a-rpcblockchain.o
  CXX      libanoncoin_server_a-rpcmining.o
rpcmining.cpp:311:10: warning: unused variable 'fClearSlowMRU' [-Wunused-variable]
    bool fClearSlowMRU = false;
         ^
1 warning generated.
  CXX      libanoncoin_server_a-rpcmisc.o
  CXX      libanoncoin_server_a-rpcnet.o
  CXX      libanoncoin_server_a-rpcrawtransaction.o
rpcrawtransaction.cpp:610:27: warning: unused variable 'coins' [-Wunused-variable]
            const CCoins *coins = view.AccessCoins(prevHash); // this is certainly allowed to fail
                          ^
1 warning generated.
  CXX      libanoncoin_server_a-rpcserver.o
rpcserver.cpp:529:49: error: too many template arguments for class template 'basic_socket_acceptor'
static void RPCAcceptHandler(boost::shared_ptr< basic_socket_acceptor<Protocol, SocketAcceptorService> > acceptor,
                                                ^                               ~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/boost/asio/basic_socket_acceptor.hpp:73:7: note: template is declared here
class basic_socket_acceptor
      ^
rpcserver.cpp:539:42: error: too many template arguments for class template 'basic_socket_acceptor'
static void RPCListen(boost::shared_ptr< basic_socket_acceptor<Protocol, SocketAcceptorService> > acceptor,
                                         ^                               ~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/boost/asio/basic_socket_acceptor.hpp:73:7: note: template is declared here
class basic_socket_acceptor
      ^
rpcserver.cpp:562:49: error: too many template arguments for class template 'basic_socket_acceptor'
static void RPCAcceptHandler(boost::shared_ptr< basic_socket_acceptor<Protocol, SocketAcceptorService> > acceptor,
                                                ^                               ~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/boost/asio/basic_socket_acceptor.hpp:73:7: note: template is declared here
class basic_socket_acceptor
      ^
rpcserver.cpp:656:27: error: no matching constructor for initialization of 'ssl::context'
    rpc_ssl_context = new ssl::context(*rpc_io_service, ssl::context::sslv23);
                          ^            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/boost/asio/ssl/impl/context.ipp:63:10: note: candidate constructor not viable: requires single argument 'm', but 2 arguments were provided
context::context(context::method m)
         ^
/usr/local/include/boost/asio/ssl/context.hpp:36:7: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 2 were provided
class context
      ^
rpcserver.cpp:675:50: error: no member named 'impl' in 'boost::asio::ssl::context'
        SSL_CTX_set_cipher_list(rpc_ssl_context->impl(), strCiphers.c_str());
                                ~~~~~~~~~~~~~~~  ^
rpcserver.cpp:735:13: error: no matching function for call to 'RPCListen'
            RPCListen(acceptor, *rpc_ssl_context, fUseSSL);
            ^~~~~~~~~
rpcserver.cpp:1099:20: warning: unused variable 'uintPOWlimit' [-Wunused-variable]
    const uint256 &uintPOWlimit = Params().ProofOfWorkLimit( CChainParams::ALGO_SCRYPT );
                   ^
1 warning and 6 errors generated.
make[2]: *** [libanoncoin_server_a-rpcserver.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1

I am happy to work with someone live with this. I will add to this issue as I fix problems.

Bootstrap.dat does not work beyond a certain block height

Per my conversation with @oyvkva on Slack the bootstrap.dat file does not help with block hight much higher than 200K.

As we build wallets for more consumer-y folks, an installation process that takes days will surely limit the number of wallets that will be installed.

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.