GithubHelp home page GithubHelp logo

muteio / nixcore Goto Github PK

View Code? Open in Web Editor NEW
38.0 14.0 20.0 102.96 MB

Nix Core Staging Repo

License: MIT License

Makefile 0.49% Shell 0.45% M4 1.20% QMake 0.01% Python 5.52% C++ 28.68% C 62.60% HTML 0.17% Objective-C++ 0.02% Assembly 0.19% Java 0.11% Ruby 0.01% Perl 0.06% PHP 0.01% Lua 0.01% Gnuplot 0.01% Rust 0.42% CSS 0.01% q 0.02% SmPL 0.01%
tor nixplatform dex privacy ghost-protocol sigma zero-knowledge

nixcore's Introduction


Logo

Build Status

What is NIX?


NIX is a digital currency that combines Atomic Swaps/Smart Contracts and privacy using our unique, innovative Ghost Protocol to provide the world with a truly anonymous and decentralized transfer of assets for the cross-chain era

Key Features


  • NIX utilizes a custom built privacy library that integrates Zerocoin/Stealthoutputs/Bulletproofs and TOR support. This allows transaction privacy in its fullest and most trustless form.

  • NIX aims to create a privatized DEX platform built on top of already developed DEX volumes to conduct privatized atomic swaps through use of NIX’s privacy library.

  • Ghost Protocol and Ghost Vault to enhance privacy features.

For more information, please visit NixPlatform.io or read the whitepaper.

Guides & Documentation

Links & Resources


License

NIX Core is released under the terms of the MIT license. See COPYING for more information or see https://opensource.org/licenses/MIT.

Copyright (c) 2017-2018 The NIX Core Developers Copyright (c) 2013-2015 The Bitcoin Core Developers

nixcore's People

Contributors

achow101 avatar btcdrak avatar codeshark avatar cozz avatar fanquake avatar gavinandresen avatar gmaxwell avatar instagibbs avatar jeremyrubin avatar jnewbery avatar jonasschnelli avatar jtimon avatar kallewoof avatar laanwj avatar luke-jr avatar meshcollider avatar morcos avatar muggenhor avatar non-github-bitcoin avatar paveljanik avatar petertodd avatar practicalswift avatar promag avatar pstratem avatar rebroad avatar ryanofsky avatar sdaftuar avatar sipa avatar thebluematt avatar theuni 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

Watchers

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

nixcore's Issues

Vault to vault txs appear on chain but not showing in receiving wallet.

the following transaction was attempted between 2 separate machines. Previous attempts include doing various combinations of host to guest virtual machines, sending between 2 different wallet.dats using the same machine, and sending to other users. In all cases, tx's appear on chain but is never shown in receiving wallets.

---- Exact steps used ----
Receiving wallet:
linux precompiled binary, v3.0.4.0-eb50c82, 64bit

  1. create new wallet.dat
  2. encrypt wallet.dat, restart
  3. generate default 10 ghost key

Sending wallet:
windows10 precompiled binary, v3.0.4.0-eb50c82, 64bit

  1. create wallet.dat
  2. encrypt wallet.dat, restart
  3. received 1 NIX to "N" address. txid: 3c0bc2253093334255b0d7ecd166ee4eb22ecd8f74baf4f58d28661314b13621
  4. ghost 0.2 NIX to self. txid: 3e57dcc1de4b1a94171e488020414a3d203c8e6068b64e9a8341e975aea15c05
  5. using unghost nix from vault tab, deselect un-ghost to myself, enter and verify receiving wallet ghost key.
  6. send 0.1 ghosted NIX. txid: 133e9c8de1b6a0e14b618de46b04da4ea561af3087a55c7dafc6a7b771589ca1

Receiving wallet fails to display ghosted NIX. Attempts to unghost expected amount to self fails. No related errors in debug.log

nixd dies when making nix-cli/rpc calls.

nixd becomes unresponsive after a certain about of time, when nix-cli/rpc calls are made. Timescale is not always the same. Can happen even 20 minutes after starting nixd, in most cases failing between 1 - 3 times in a 24 hour period, some cases can run up to two days without issues. The following types of calls are made:

Every 15 minutes: nix-cli ghostnode list full
Every one hour: nix-cli -getinfo (can also be substituted with one of or a combination of getblockchaininfo, getnetworkinfo)

Amount of calls being made are not unreasonable, nor excessive. The following behaviour has been noted.

  1. When the problem starts, issuing nix-cli commands ends up with no response coming back. When running from the console (Linux), a flashing cursor is displayed as if it is waiting for nixd to return the results. This does not happen.
  2. After a while, the behaviour from point 1 then changes, and instead of a flashing cursor waiting for a response, the following error appears:

nix-cli -getinfo
error: couldn't parse reply from server

nix-cli getblockchaininfo
error: couldn't parse reply from server

nix-cli getnetworkinfo
error: couldn't parse reply from server

  1. In debug.log the following errors start to appear:

2018-09-14 02:20:02 socket sending timeout: 1201s
2018-09-14 02:20:02 socket sending timeout: 1201s
2018-09-14 02:20:02 socket sending timeout: 1201s
2018-09-14 02:20:02 socket sending timeout: 1201s
2018-09-14 02:20:02 socket sending timeout: 1201s
2018-09-14 02:20:02 socket sending timeout: 1201s
2018-09-14 02:20:02 socket sending timeout: 1201s
2018-09-14 02:20:02 socket sending timeout: 1201s

which then causes the following messages to appear when nix-cli/rpc calls are made:

2018-09-14 09:30:01 WARNING: request rejected because http work queue depth exceeded, it can be increased with the -rpcworkqueue= setting
2018-09-14 09:30:01 WARNING: request rejected because http work queue depth exceeded, it can be increased with the -rpcworkqueue= setting

  1. At this point, there is no way to shut down nixd safely, it can only be killed with kill -9

The errors in the debug.log relating to rpcworkqueue are false information, attempting to edit and change this parameter in nix.conf

by increasing the value doesn't resolve the problem. The problem is actually a locking issue with nixd. This problem has been seen before with Fixed Trade Coin, and also Syscoin. Both fixed the issues by addressing the locking problem. This can be found on Syscoin's github, from commits around May 5. The following commits are related to this issue with the appropriate fix (this exact same behaviour was noted with both Fixed Trade Coin and Syscoin and reported to them through their Discord/Slack channels):

syscoin/syscoin@dbe0afd

syscoin/syscoin@6f1e10f

Attached debug.log.

Platform: Ubuntu 16.04 x86_64. Compiled as per Nix Platform instructions.

debug.log

NIX Sigma 3.0rc2 After reindexing

Debug log attached below.

Issue: After reindexing (deleting chainstate and blocks folder) a wrong amount of ghosted nix appears. Should be 5000 ghosted Nix not 27422.1 Nix.

After closing wallet and restarting it the correct amount shows up.

2 anzahl ghosted nix zu hoch

anzahl ghosted nix zu hoch

debug.log

nix debug.log

ERROR: ProcessNewBlock: AcceptBlock FAILED (Transaction check failed (tx hash d14522db4b7d4cacd1c4c3982b6a71ab74f5d8ea72be87405170d2b6f640789c) )

3.0.1 is stuck at 37 week(s) behind, tried -rescan, -reindex, even deleted ~/.nix/{blocks,chainstate} but it keeps getting stuck. The debug.log is flooded with this line:

2019-06-04 08:55:34 ERROR: ProcessNewBlock: AcceptBlock FAILED (Transaction check failed (tx hash d14522db4b7d4cacd1c4c3982b6a71ab74f5d8ea72be87405170d2b6f640789c) )

getblockchaininfo:

{
  "chain": "main",
  "blocks": 53032,
  "headers": 230440,
  "bestblockhash": "111fc7ff438c9f5f5e578f5165d8627a037a0f7394afd9d8f2603de2283f690c",
  "difficulty": 294221.0252640576,
  "mediantime": 1536780832,
  "verificationprogress": 0.2802159764612827,
  "initialblockdownload": true,
  "chainwork": "0000000000000000000000000000000000000000000000002267da98578cca63",
  "size_on_disk": 61931819,
  "pruned": false,
  "softforks": [
    {
      "id": "bip34",
      "version": 2,
      "reject": {
        "status": true
      }
    },
    {
      "id": "bip66",
      "version": 3,
      "reject": {
        "status": true
      }
    },
    {
      "id": "bip65",
      "version": 4,
      "reject": {
        "status": true
      }
    }
  ],
  "bip9_softforks": {
    "csv": {
      "status": "active",
      "startTime": 1462060800,
      "timeout": 1530415442,
      "since": 6
    },
    "segwit": {
      "status": "active",
      "startTime": 1479168000,
      "timeout": 1530415442,
      "since": 6
    }
  },
  "warnings": ""
}

NIX Sigma 3.0rc2 hangs up (again)

Debug log below.

Issue:
Started wallet. Ghosted 5000 Nix. After confirmation unghosted successfully 4000 Nix. After that tried to unghost 50 Nix --> wallet hangs up.

After restarting wallet the Ghost Vault shows 0 ghosted Nix (showing 1000 ghosted Nix would be correct).

W10 x64

ghosted incorrect

Debug log:
nix debug 2.log

Does not compile under Arch Linux

Options used to compile and link:
with wallet = yes
with usbdevice = no
with gui / qt = yes
qt version = 5
with qr = yes
with zmq = yes
with test = no
with bench = no
with upnp = yes
use asm = yes
debug enabled = no
werror = no

target os = linux
build os =

CC = gcc
CFLAGS = -g -O2
CPPFLAGS = -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS
CXX = g++ -std=c++11
CXXFLAGS = -g -O2 -Wall -Wextra -Wformat -Wvla -Wformat-security -Wno-unused-parameter -Wno-implicit-fallthrough
LDFLAGS =
ARFLAGS = cr


CXXLD nixd
/usr/bin/ld: tor/src/common/libor-crypto.a(compress_zstd.o): in function tor_zstd_get_version_str': compress_zstd.c:(.text+0x55): undefined reference to ZSTD_versionNumber'
/usr/bin/ld: tor/src/common/libor-crypto.a(compress_zstd.o): in function tor_zstd_compress_new': compress_zstd.c:(.text+0x1ab): undefined reference to ZSTD_createCStream'
/usr/bin/ld: compress_zstd.c:(.text+0x1c2): undefined reference to ZSTD_initCStream' /usr/bin/ld: compress_zstd.c:(.text+0x1cd): undefined reference to ZSTD_isError'
/usr/bin/ld: compress_zstd.c:(.text+0x232): undefined reference to ZSTD_createDStream' /usr/bin/ld: compress_zstd.c:(.text+0x246): undefined reference to ZSTD_initDStream'
/usr/bin/ld: compress_zstd.c:(.text+0x251): undefined reference to ZSTD_isError' /usr/bin/ld: compress_zstd.c:(.text+0x25d): undefined reference to ZSTD_getErrorName'
/usr/bin/ld: compress_zstd.c:(.text+0x287): undefined reference to ZSTD_freeDStream' /usr/bin/ld: compress_zstd.c:(.text+0x2ec): undefined reference to ZSTD_getErrorName'
/usr/bin/ld: compress_zstd.c:(.text+0x316): undefined reference to ZSTD_freeCStream' /usr/bin/ld: tor/src/common/libor-crypto.a(compress_zstd.o): in function tor_zstd_compress_process':
compress_zstd.c:(.text+0x47c): undefined reference to ZSTD_isError' /usr/bin/ld: compress_zstd.c:(.text+0x503): undefined reference to ZSTD_decompressStream'
/usr/bin/ld: compress_zstd.c:(.text+0x521): undefined reference to ZSTD_isError' /usr/bin/ld: compress_zstd.c:(.text+0x559): undefined reference to ZSTD_endStream'
/usr/bin/ld: compress_zstd.c:(.text+0x588): undefined reference to ZSTD_isError' /usr/bin/ld: compress_zstd.c:(.text+0x5bb): undefined reference to ZSTD_compressStream'
/usr/bin/ld: compress_zstd.c:(.text+0x601): undefined reference to ZSTD_flushStream' /usr/bin/ld: compress_zstd.c:(.text+0x629): undefined reference to ZSTD_isError'
/usr/bin/ld: compress_zstd.c:(.text+0x655): undefined reference to ZSTD_isError' /usr/bin/ld: compress_zstd.c:(.text+0x6bc): undefined reference to ZSTD_getErrorName'
/usr/bin/ld: compress_zstd.c:(.text+0x764): undefined reference to ZSTD_getErrorName' /usr/bin/ld: compress_zstd.c:(.text+0x79c): undefined reference to ZSTD_getErrorName'
/usr/bin/ld: tor/src/common/libor-crypto.a(compress_zstd.o): in function tor_zstd_compress_free': compress_zstd.c:(.text+0x828): undefined reference to ZSTD_freeDStream'
/usr/bin/ld: compress_zstd.c:(.text+0x851): undefined reference to `ZSTD_freeCStream'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:4542: nixd] Error 1
make[2]: Leaving directory '/usr/src/gits/NixCore/src'
make[1]: *** [Makefile:11205: all-recursive] Error 1
make[1]: Leaving directory '/usr/src/gits/NixCore/src'
make: *** [Makefile:751: all-recursive] Error 1

LPOS duplicating - wallet balances being returned to full stake amount.

LPOS Staked coins receive stake and generate a new contract, yet show old amount in LPOS window.
At the same time, the (windows) wallet shows a balance showing the new contract amount (post stake received)

I expect to see a single contract tab, with the contract stake received with only the contract(s) I have issued with my Nix Coins.

There should only be 1 contract. stake received adjusted amount and created new contract.

https://www.dropbox.com/s/qftdl39dhq9uugf/LPOSbug.jpg?dl=0
https://www.dropbox.com/s/mbzywliaiepwg6g/LPOSbugbalancewrong.jpg?dl=0

AS reliable as staking occurs.

Using the latest version of the wallet per $nix discord (userid @dasche)

I have always found staking on this wallet to "change balances" beyond the actual balances. causes issues with balances when doing transactions, abandoned transactions occur often.

debug.log

NIX Sigma 3.0rc2 10 ghosted Nix left unconfirmed for several hours

Debug log sended via nixplatform website.

Problem: 10 ghosted Nix left unconfirmed for several hours (ca. 8 hours) although all ghost vault transactions that were made after were confirmed.
Abandoning was not possible during that time.
Again later the ghosted Nix suddenly showed up as confirmed.
After unghosting these 10 Nix the Ghost Vault showed 0.6 remaining Nix (should have been zero Nix).
Which means that the number that showed up in the ghost vault was not correct (should have been 10.6 Nix and not 10.0 Nix)
or
that 0.6 ghosted Nix were created somehow.

crypto_s2k.c:(.text+0x324): undefined reference to `libscrypt_scrypt'

When libscrypt is detected by the included tor configure script, NixCore v2.1.0 does not compile due to missing linker library:

/bin/sh ../libtool  --tag CXX  --mode=link x86_64-pc-linux-gnu-g++ -std=c++11    -pthread  -Wl,-z,relro -Wl,-z,now -pie   -Wl,-O1 -Wl,--as-needed -o qt/nix-qt qt/qt_nix_qt-nix.o   qt/libnixqt.a libnix_server.a libnix_wallet.a libnix_zmq.a -lzmq tor/src/or/libtor.a tor/src/common/libor.a tor/src/common/libor-ctime.a tor/src/common/libor-crypto.a tor/src/common/libor-event.a tor/src/trunnel/libor-trunnel.a tor/src/common/libcurve25519_donna.a tor/src/ext/ed25519/donna/libed25519_donna.a tor/src/ext/ed25519/ref10/libed25519_ref10.a tor/src/ext/keccak-tiny/libkeccak-tiny.a libnix_cli.a libnix_common.a libnix_util.a libnix_consensus.a crypto/libnix_crypto.a univalue/libunivalue.la -lleveldb   -lmemenv  -L/usr/lib64 -lboost_system -lboost_filesystem -lboost_program_options-mt -lboost_thread -lboost_chrono-mt -lQt5Network -lQt5Widgets -lQt5Gui -lQt5Core -lQt5DBus -lQt5Core -lqrencode -lprotobuf -pthread -ldb_cxx-4.8 -lssl -lcrypto -lminiupnpc secp256k1/libsecp256k1.la -lz -levent_pthreads -levent -levent -lcap -lseccomp 
libtool: link: x86_64-pc-linux-gnu-g++ -std=c++11 -pthread -Wl,-z -Wl,relro -Wl,-z -Wl,now -pie -Wl,-O1 -o qt/nix-qt qt/qt_nix_qt-nix.o -pthread  -Wl,--as-needed qt/libnixqt.a libnix_server.a libnix_wallet.a libnix_zmq.a -lzmq tor/src/or/libtor.a tor/src/common/libor.a tor/src/common/libor-ctime.a tor/src/common/libor-crypto.a tor/src/common/libor-event.a tor/src/trunnel/libor-trunnel.a tor/src/common/libcurve25519_donna.a tor/src/ext/ed25519/donna/libed25519_donna.a tor/src/ext/ed25519/ref10/libed25519_ref10.a tor/src/ext/keccak-tiny/libkeccak-tiny.a libnix_cli.a libnix_common.a libnix_util.a libnix_consensus.a crypto/libnix_crypto.a univalue/.libs/libunivalue.a -lleveldb -lmemenv -L/usr/lib64 -lboost_system -lboost_filesystem -lboost_program_options-mt -lboost_thread -lboost_chrono-mt -lQt5Network -lQt5Widgets -lQt5Gui -lQt5DBus -lQt5Core -lqrencode -lprotobuf /usr/lib64/libdb_cxx-4.8.so -lpthread -lssl -lcrypto -lminiupnpc secp256k1/.libs/libsecp256k1.a -lz -levent_pthreads -levent -lcap -lseccomp -pthread
tor/src/common/libor-crypto.a(crypto_s2k.o): In function `secret_to_key_compute_key':
crypto_s2k.c:(.text+0x324): undefined reference to `libscrypt_scrypt'
collect2: error: ld returned 1 exit status```

LPoS contracts possibly failing due to space before or after reward address

LPoS contract failed to stake due to a reward address mismatch. Customer sent me screenshots of the active contract and everything looked fine. Advised them to cancel and recreate the contract being very careful not to include any extra spaces before or after the reward address.

New contract successfully stakes.
It's unknown exactly what caused the error, but this is my best guess.

NIX Sigma 3.0rc2 ghosting with more than one decimal places

When trying to ghost a number of nix that has more than one decimal places there appears following warning: "You cannot ghost NIX at the moment. Please check the debug log for errors."

This warning could be replaced i.e.: "You can ghost a number of NIX with one decimal place, i.e.: 5.1 NIX"

Or no warning appears and wallet hangs up.

crashes when unghosting more than on decimal nix

Config files

Mac install puts config files in the Downloads folder. Does not ask upon initial run where to put data files.

RESOLVED (sort of): Nix was conflicting with Bitcoin Core install. I restored defaults and is now OK. Except now Nix and Bitcoin wallets conflict.

Block height correct but stuck on Connecting to Peers v.2.1.1

N.B - report submitted on behalf of friend;

Fresh install of 2.1.1 - everything installed & synced correctly but wallet not been opened for couple of days - opened up and it's hanging on "Connecting to Peers - 23hrs behind". Current Block Height matches official explorer. Debug log littered with 'AcceptBlock FAILED'

Wallet also reported GNs require new start. Restarted and status changes to expired. Come out of wallet, go back into wallet and and it begins to sync then gets stuck at connecting to peers stage as mentioned above. Nodes status says Missing.

Wallet to synchronise with the network

image

Keeps happening each time wallet is opened

2.1.1 from github

Windows 10/i3/ssd

debug.zip

win 32bit sync failures

Confirmed reports that nix 3.0.4 win32 clients are unable to fully sync

Tested using Windows7 pro 32bit virutalbox installation.

-debug.log snippet-
2019-09-15 02:40:30 CheckSigmaSpendTransaction: verification failed at block=232006, denomID=100000000, pubcoinID=1
2019-09-15 02:40:30 ERROR: ProcessNewBlock: AcceptBlock FAILED (Transaction check failed (tx hash 7a9e17a5d809dae967691763d7e33b144ba43a34c4ae90d2550c73487d29a90a) )

NIX Sigma 3.0rc2 ghosting and unghosting issues and wallet hangs up

1.) Ghosted 555.5 Nix and unghosted it. After two hours still no confirmation of the transaction. Abandoning transaction is possible.

2.) Unghosting again 555 Nix and 0.5 Nix. Wallet hangs up for a few seconds after pushing the "Un-ghost NIX" button.

3.) Although the unghosted Nix are unconfirmed the Ghost Vault shows zero Nix.
This time abandoning transaction is not possible (at least atm).

4.) After closing and restarting wallet 555.5 Nix show up again in the Ghost Vault as ghosted. Abandoning of unghosting transaction still not possible.

NIXd stops accepting RPC or CLI commands

Server Infomation
Ubuntu 16.04.6 LTS
24-Core
144GB Ram
6TB HD

(Only Wallet Running on Server)

Wallet Info
NIX Core version v2.3.0.1-0654ed8 (release build)

Started wallet at 2019-03-25 22:21:36
At 2019-03-26 02:25:01 Started receiving
WARNING: request rejected because http work queue depth exceeded, it can be increased with the -rpcworkqueue= setting

Running JSON RPC cronJob Commands every 60 seconds and 1 every 5 min
60 second Commands
getblockchaininfo
getnetworkinfo
getwalletinfo
ghostnode count enabled

(multi times depending on how many blocks passed in the last 60 seconds)
getblockhash
getblock

5 min Command
ghostnodelist full

no staking with vps

i have problems with staking nix on a vps.
it went ok for a while. then i didnt get any stakes for 3 weeks. i checked and noticed that my instance (on vps (vultr)), was set up good, but it went
"enabled": 1,
"staking": 1,
"errors": "",
to "staking "0" without me doing anything.
i replaced wallet.dat and updated to 2.1.1 version, even destroyed the whole instance and followede the vps staking guide by dacx from scratch. still there: staking "0".
when i insert my password anew, it changes to staking "1" after some minutes (resp after trying getstakinginfo a couple of times.
when i check again after having closed putty(Release 0.70) and i reopen vultr to check (usually next day) staking is back to "0".

getwalletinfo it says: "encryptionstatus": "Unlocked, staking only",
"unlocked_until": 0,

and vultr opened an abuse ticket, because for 8 hrs on sunday cpu usage was at 100% consistently. any correlation maybe?**

latest debug.log attached

debug.log

General bitcoin questions and/or support requests are best directed to the Bitcoin StackExchange at https://bitcoin.stackexchange.com.

For reporting security issues, please read instructions at https://bitcoincore.org/en/contact/.

If the node is "stuck" during sync or giving "block checksum mismatch" errors, please ensure your hardware is stable by running memtest and observe CPU temperature with a load-test tool such as linpack before creating an issue! -->

Error compiling on ubuntu 16.04

Hello i get that error while compiling :

```/usr/bin/ld: crypto/libnix_crypto.a(crypto_libnix_crypto_a-Sponge.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC crypto/libnix_crypto.a: error adding symbols: Bad value collect2: error: ld returned 1 exit status Makefile:4086: recipe for target 'nixd' failed make[2]: *** [nixd] Error 1 make[2]: Leaving directory '/home/dev/NixCore/src' Makefile:10698: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/home/dev/NixCore/src' Makefile:752: recipe for target 'all-recursive' failed make: *** [all-recursive] Error 1

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.