# entangled ## Links * [iotaledger/entangled](https://github.com/iotaledger/entangled) * [refer to DLTlab issue #73](https://github.com/DLTcollab/general/issues/73) * [iota.lib.cpp Note](https://hackmd.io/uylmeR9QR_mMMapGCINkoQ) * [IOTA API Note](https://hackmd.io/s/r1EHxmWLQ#) ## To run/build entangled tests using [bazel](https://bazel.build/) `$ bazel test //[directory]/...` * `...` means to run all test under [directory] `bazel test //...` * run all test in all sub-directory in the repository ## git hook installation ### install modules ``` $ cd entangled $ ./hooks/autohook.sh install ``` ### install buildifier `buildifier` would be used before doing git commit, this tool will check for bazel BUILD file, we need to install on our own We can install with `go` or `bazel` #### install with go if you have go installed 1. cd to $GOPATH * for linux, default path is `$HOME/go` 2. download and install with go, `$ go get github.com/bazelbuild/buildtools/buildifier` * after the command, an executable `buildifier` is now in `$HOME/go/bin` 3. make soft link for global usage `sudo ln -s $HOME/go/bin/buildifier /usr/bin/buildifier` #### Install with bazel 1. clone bazelbuild repository `$ git clone https://github.com/bazelbuild/buildtools.git` 2. cd to `buildtools` 3. build `buildifier` with command, `$ bazel build //buildifier` * an executable buildifier is now in `bazelbuild/bazel-bin/buildifier/linux_amd64_stripped/buildifier` 4. make soft link ## cclient ### develop status: - [x] core API - [ ] extended API: wait for [cclient: added extended API header file.](https://github.com/iotaledger/entangled/pull/270) to merge ### test iota_api_xxx ==get_node_info== source code [link](https://github.com/jkrvivian/entangled/tree/test_cclient/cclient/test_api) TODO: * [init_iota_http_service](https://github.com/iotaledger/entangled/blob/3d13c38093225647d64a06153fc54011a11dbfcf/cclient/service.h#L29) * support https request ## Pull requests ### contributors * HowJMay * weichen * jkrvivian ### in progress ### merged * [#57](https://github.com/iotaledger/entangled/pull/57): Fix typo * [#73](https://github.com/iotaledger/entangled/pull/73): style tweak * [#126](https://github.com/iotaledger/entangled/pull/126): cppclient: add unit test of getNodeInfo() * [#146](https://github.com/iotaledger/entangled/pull/146): Initialize TCP/UDP receiver services with ports from configuration variables * [#151](https://github.com/iotaledger/entangled/pull/151): Fix typos in common/trinary * [#168](https://github.com/iotaledger/entangled/pull/168): Fix typos in commmon/model * [#209](https://github.com/iotaledger/entangled/pull/209): Correctly protect the freed variables from access again * [#215](https://github.com/iotaledger/entangled/pull/215): Git hook tools installation guide * [#216](https://github.com/iotaledger/entangled/commit/0d1b9cc51f2b59e2ed01eda4842d3ee2f66b15f8): cclient: Implement get_balances * [#220](https://github.com/iotaledger/entangled/pull/220): cclient: implement iota_api_store_transactions * [#225](https://github.com/iotaledger/entangled/pull/225): cclient: Implement iota_api_get_transactions_to_approve * [#221](https://github.com/iotaledger/entangled/pull/221): cclient: implement iota_api_get_inclusion_states * [#219](https://github.com/iotaledger/entangled/pull/219): cclient: implement iota_api_broadcast_transactions * ~~[#227](https://github.com/iotaledger/entangled/pull/227): cclient: implement were_addresses_spent_from~~