Giter Site home page Giter Site logo

mit-dci / cryptokernel Goto Github PK

View Code? Open in Web Editor NEW
172.0 39.0 63.0 10 MB

A SDK for implementing blockchain-based digital currencies

Home Page: https://cryptokernel.org

License: GNU General Public License v3.0

C++ 54.38% Shell 0.28% Lua 7.05% C 36.84% Dockerfile 1.45%
blockchain digital-currency smart-contracts lua proof-of-work proof-of-stake peer-to-peer cryptocurrency cryptography schnorr-signatures

cryptokernel's People

Contributors

0xb100d avatar anders94 avatar bfeeser avatar bsnowden3 avatar gertjaap avatar lhorgan avatar metalicjames avatar narula avatar rishabh42 avatar xizahk 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cryptokernel's Issues

Logo Proposal for CryptoKernel

Hello! @mit-dci
I'm a graphic designer and I like to support open source projects. I would like to design a logo for your project if you interested, I will be happy to work with you! :)

Best Regards
Leonardo Deroy

Graphic Designer

Failed to load lz4

When compiling on a fresh Ubuntu 16.04.2 LTS Server install, I get this warning:

/usr/bin/ld: warning: libcrypto.so.1.0.0, needed by //usr/lib/x86_64-linux-gnu/libcurl.so.4, may conflict with libcrypto.so.1.1

and after running ./ckd when syncing I get this presumably at block 5774:

Tue Jul 11 14:39:53 2017 INFO Network(): Downloading blocks 5773 to 5973
Tue Jul 11 14:39:54 2017 INFO Network(): Attempting to connect to 18.238.7.30
terminate called after throwing an instance of 'std::runtime_error'
  what():  Failed to load lz4
Aborted (core dumped)

lz4.so was successfully copied to /usr/lib and I ran ldconfig (checked to make sure it was configured to look in /usr/lib) for good measure.

Not sure what is depending on lz4, maybe lua? Any hints?

Thanks.

This progam is very hard to navigate through

Most of the times there are errors or problem to connect to IP. so i chose the password from the very beginning but the daemon didn't start itself, thats why i input ckd -daemon and it says daemon started. does that mean i am already mining? also i am not sure if it linked the password to the account correctly.
I read an article on coin desk regarding ck320 and i am very interested in this concept since it can be a real currency which can be used for everyday life.

Thank you in advance,
Regards,
Givi

client_key_25519 / server_key_25519

How are local keys supposed to be generated? Getting this on the console:

keys/client_key_25519.pub: No such file or directory
keys/client_key_25519: No such file or directory
keys/server_key_25519: No such file or directory

CMake support

Would be nice to have CMake support for this project, I'm already inspecting ways to integrate this, can really be nice with JetBrains tools (CLion)...

Genesis creation

Hello again I see you have made good progress on this project. 😄
Just a quick question I should change bool newGenesisBlock to true and run ./ckd to generate a new genesis correct or am I missing something? It doesn't seem to work

Running multiple instances of ckd

At the moment it looks like I'm able to run only one instance of ckd on my network in connected mode.

When I run the second instance (not on the same machine as the first one of course) this second instance can't connect to peers.

Is this intentional (maybe as they are both sharing the same external IP)? Even when one of them is not mining (has miner=false in config)?

Mined blocks not accepted on the production network

The production network doesn't seem to be accepting newly mined blocks for the past few weeks. Additionally, few production peers from peers.txt seem to be accepting connections. (CryptoKernel version 0.1.0-alpha-rc4)

In particular, the public node 18.250.7.224 syncs to block 141,682 but won't accept newly mined blocks beyond that.

I can confirm that a private network with two 0.1.0-alpha-rc4 peers works as expected.

"blockdb" parameter not honored

For some reason, when i specify a full path in the "blockdb" parameter of the config.json, it is still writing to the blockdb subdirectory of the working directory, in stead of the actual path configured. The weird thing is when i added a log statement to the Blockchain constructor, it prints out the correct path for dbDir

There is also a database in that folder, but it's empty whilst the folder under the working directory keeps growing.

Crash caused by Json::LogicError in network code

Wed Jul 18 22:17:10 2018 INFO Network(): Attempting to connect to 207.189.2.212
Wed Jul 18 22:17:13 2018 WARNING Network(): Failed to connect to 207.189.2.212
Wed Jul 18 22:17:13 2018 INFO Network(): Attempting to connect to 18.189.94.156
Wed Jul 18 22:17:13 2018 WARNING Network(): Failed to contact 10.42.0.1, disconnecting it for: peer didn't respond in time
terminate called after throwing an instance of 'Json::LogicError'
  what():  in Json::Value::setComment(): Comments must start with /

Thread 3 "ckd" received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffef0d6700 (LWP 4495)]
0x00007ffff5643428 in __GI_raise (sig=sig@entry=6)
    at ../sysdeps/unix/sysv/linux/raise.c:54
54	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.

Strange balance

Started second ckd instance on another computer. Sent more than 1k of balance to it's address (from another ckd account, height >70k), then first time started this new ckd instance with mining, and checking the status with getinfo I've got a strange balance output at height 6:

(height 2 still 0)

ckd getinfo
{
   "balance" : "0.00000000",
   "ck_version" : "0.0.1-alpha",
   "connections" : 1,
   "height" : 2,
   "mempool" : {
      "count" : 0,
      "size" : "0.000 MB"
   },
   "rpc_version" : "2.0.0-dev"
}

(and here is the strange balance)

ckd getinfo
{
   "balance" : "99.99973893",
   "ck_version" : "0.0.1-alpha",
   "connections" : 1,
   "height" : 6,
   "mempool" : {
      "count" : 0,
      "size" : "0.000 MB"
   },
   "rpc_version" : "2.0.0-dev"
}

Seconds after and also all consequent getinfo calls return (correct) balance 0:

(notice same height here)

ckd getinfo
{
   "balance" : "0.00000000",
   "ck_version" : "0.0.1-alpha",
   "connections" : 1,
   "height" : 6,
   "mempool" : {
      "count" : 0,
      "size" : "0.000 MB"
   },
   "rpc_version" : "2.0.0-dev"
}

(and soon after)

ckd getinfo
{
   "balance" : "0.00000000",
   "ck_version" : "0.0.1-alpha",
   "connections" : 1,
   "height" : 11,
   "mempool" : {
      "count" : 0,
      "size" : "0.000 MB"
   },
   "rpc_version" : "2.0.0-dev"
}

Any explanation of the strange balance 99.99973893 there?

Erro while building (OPENSSL_ALGORITHM_DEFINES no longer supported)

supeuser@supeuser-MS-7C52:~/Desktop/CryptoKernel$ make
==== Building ck (debug_static) ====
Creating obj/Static/Debug/ck
AVRR.cpp
Lyra2.c
Lyra2RE.c
NoiseClient.cpp
NoiseServer.cpp
NoiseUtil.cpp
PoW.cpp
Sponge.c
base64.cpp
blake.c
blockchain.cpp
blockchaintypes.cpp
bmw.c
contract.cpp
crypto.cpp
In file included from /usr/include/openssl/evp.h:66,
                 from src/kernel/crypto.cpp:24:
/usr/include/x86_64-linux-gnu/openssl/opensslconf.h:20:3: error: #error OPENSSL_ALGORITHM_DEFINES no longer supported
   20 | # error OPENSSL_ALGORITHM_DEFINES no longer supported
      |   ^~~~~
src/kernel/crypto.cpp: In member function ‘std::string CryptoKernel::Crypto::getPublicKey()’:
src/kernel/crypto.cpp:104:18: error: ‘EC_KEY_key2buf’ was not declared in this scope
  104 |         keyLen = EC_KEY_key2buf(eckey, EC_KEY_get_conv_form(eckey), &publicKey, NULL);
      |                  ^~~~~~~~~~~~~~
src/kernel/crypto.cpp: In member function ‘std::string CryptoKernel::Crypto::getPrivateKey()’:
src/kernel/crypto.cpp:120:18: error: ‘EC_KEY_priv2buf’ was not declared in this scope; did you mean ‘EC_KEY_print_fp’?
  120 |         keyLen = EC_KEY_priv2buf(eckey, &privateKey);
      |                  ^~~~~~~~~~~~~~~
      |                  EC_KEY_print_fp
src/kernel/crypto.cpp: In member function ‘bool CryptoKernel::Crypto::setPublicKey(std::string)’:
src/kernel/crypto.cpp:134:9: error: ‘EC_KEY_oct2key’ was not declared in this scope; did you mean ‘EC_KEY_check_key’?
  134 |     if(!EC_KEY_oct2key(eckey, (unsigned char*)decodedKey.c_str(),
      |         ^~~~~~~~~~~~~~
      |         EC_KEY_check_key
src/kernel/crypto.cpp: In member function ‘bool CryptoKernel::Crypto::setPrivateKey(std::string)’:
src/kernel/crypto.cpp:145:9: error: ‘EC_KEY_oct2priv’ was not declared in this scope
  145 |     if(!EC_KEY_oct2priv(eckey, (unsigned char*)decodedKey.c_str(),
      |         ^~~~~~~~~~~~~~~
src/kernel/crypto.cpp: In member function ‘bool CryptoKernel::Crypto::setPublicKey(std::string)’:
src/kernel/crypto.cpp:140:1: warning: control reaches end of non-void function [-Wreturn-type]
  140 | }
      | ^
src/kernel/crypto.cpp: In member function ‘bool CryptoKernel::Crypto::setPrivateKey(std::string)’:
src/kernel/crypto.cpp:168:1: warning: control reaches end of non-void function [-Wreturn-type]
  168 | }
      | ^
make[1]: *** [ck.make:231: obj/Static/Debug/ck/crypto.o] Error 1
make: *** [Makefile:44: ck] Error 2

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.