# 2018-09-05 會議記錄 ## 出席人員 * @yillkid * @twzjwang * @proof.K * @jserv * @jkrvivian * @ender * @AjMaChInE * @howjmay * @csielee * @PunchShadow ## 重要變革 * [Understanding Decentralized IDs (DIDs) (中譯)](/s/Hy832Twv7) * [Coming Up: Local Snapshots](https://blog.iota.org/coming-up-local-snapshots-7018ff0ed5db) * [(中譯) IOTA本地快照功能即將推出](https://www.iotachina.com/iota-local-snapshots.html) * [Local Snapshots 摘要](https://hackmd.io/s/rkbV-4dD7) * 修剪舊筆交易並保存餘額 * 我們先選一個夠老的交易作為 snapshot 的支柱 * 再來就裁減掉此交易前面直接或間接驗證到的交易,並以此清理 DB * 清掉舊交易之前,我們會檢查那些餘額會被影響到,並記錄其最終狀態到 snapshot file 中 * [(reddit) Coming Up: Local Snapshots – IOTA](https://www.reddit.com/r/Iota/comments/9c3jw9/coming_up_local_snapshots_iota/) * [IOTA Local Snapshot study](/s/ryeEFfnPQ) * [PACT 透過 IOTA + IPFS 建構安全的檔案分享 (針對病歷一類敏感資訊)](https://twitter.com/davidhawig/status/1036635771216818176) * [透過 PoWsrv 加速](https://twitter.com/davidhawig/status/1035116383816888320) * [Bosch 官方探討 IOTA 和軟體升級的議題](https://blog.bosch-si.com/bosch-iot-suite/software-updates-in-the-iot-an-introduction-to-sota/) ## 開發進度 * yillkid * [Load balancer for Tangle accelerator (using Nginx) #90](https://github.com/DLTcollab/general/issues/90) * [Deploy note for Load balancer for Tangle accelerator (using Nginx)](/s/S1loLtv4Q) * [Study powsrv PoWaaS (PoW-as-a-service) #91](https://github.com/DLTcollab/general/issues/91) * [The study note](/s/HkRiiUGw7) * proof.K * [Base: IRI with local snapshot (coordinator exists)](https://github.com/DLTcollab/general/issues/86) * [Base: DoS attack experiment with FPGA accelerator](https://github.com/DLTcollab/general/issues/93) * AjMaChInE Secure seed |iota.js/api_reference.md | entangled for mobile IOTA API | | -------- | -------- | |generateAddress|generateAddress| | generateSignature|generateSignature | |getNewAddress| | |prepareTransfers| | |getAccountData| | |getInputs| | * [iota.js/api_reference.md](https://github.com/iotaledger/iota.js/blob/next/api_reference.md#module_validators) * [entangled/mobile/android/java/Interface.java](https://github.com/iotaledger/entangled/blob/46c41b72f930bd61a9791d60448c05d66558ef61/mobile/android/java/Interface.java) ![](https://i.imgur.com/iDXYYH7.png) ![](https://i.imgur.com/uu3qItA.png) TODO: * 移植entagled實作的 generateSignature實作成OPTEE's TA * [entangled/mobile/android/Interface.cpp](https://github.com/iotaledger/entangled/blob/46c41b72f930bd61a9791d60448c05d66558ef61/mobile/android/Interface.cpp) * [http://entangled/common/](https://github.com/iotaledger/entangled/tree/46c41b72f930bd61a9791d60448c05d66558ef61/common) * [iss.c.inc](https://github.com/iotaledger/entangled/blob/46c41b72f930bd61a9791d60448c05d66558ef61/common/sign/v1/iss.c.inc) * 在secure world中實作seed generator library * 實作secure storage機制 * 測試 generateSignature * 移植entagled實作的generateAddress實作成OPTEE's TA並與secure storage機制結合 * 實作daemon程式 * 測試generateAddress * 實作TARegisterSeed/ TAGetAddress與測試 Dcurl - scheduler - load balance ![](https://i.imgur.com/Io4FkQb.png) Dcurl - scheduler - static anaylsis * 使用clang-analyser,測試環境: ubuntu 18.04 ``` $ sudo apt-get install clang-tools $ cd dcurl $ scan-build make BUILD_FPGA_ACCEL=1 BUILD_COMPAT=1 scan-build: Using '/usr/lib/llvm-6.0/bin/clang' for static analysis ... $ scan-view /tmp/scan-build-2018-09-04-232048-2659-1 Starting scan-view at: http://127.0.0.1:8181 Use Ctrl-C to exit. ``` ![](https://i.imgur.com/z7RdhZ7.png) * 分析 SEE/ FPGA/ ccurl的結果 * https://github.com/DLTcollab/dcurl/blob/dev/src/dcurl.c#L65 * memory leak * no free * Allocator sizeof operand mismatch ![](https://i.imgur.com/UIm5kd8.png) * PunchShadow * API document 配置相關事宜 * [Slate](https://punchshadow.github.io/TangleID.github.io) v.s. [Redoc (based on Swagger UI)](https://punchshadow.github.io/swagger_test/) or Slate+Redoc * [Swagger Editor](https://editor.swagger.io) * 優缺點分析: * Slate: 1. (優)利用 Markdown language 方便更新 documentu 2. (優)網頁設計彈性大 3. (缺) API 顯示較不清楚且難以維護 * Redoc: 1. (優) API 顯示設計較清楚明瞭 2. (優) 使用 OpenAPI ,用 JSON 格式維護整個 page 3. (優) 完整 [API parameter](https://www.openapis.org/blog/2017/03/01/openapi-spec-3-implementers-draft-released) 5. (缺) 網頁設計彈性小 6. (缺) [OpenAPI parameter](https://swagger.io/docs/specification/basic-structure/) 需要熟悉 * TODO: * 視討論情況整合 document * 網頁版面設計( * ender503 * TangleID Client * [Demo site](http://54.70.229.53:4500/) * [tangleid-client-1.0.0.apk](https://drive.google.com/file/d/1TE1aEvBT3ymrv34qc9D3mnApT9XWq6Ll/view?usp=sharing) * 新版 APK 需要搭配新的 Demo site * Notification 尚未串接,因此手機端收不到 Verifiable Claim * React Native 的限制 * 不支援 Node.js 環境,因此無法使用 MAM.lib.js * 現階段 MAM 在手機端的 libs 不足 * 改由使用 API 進行 DID 的註冊 * TODOS * TangleID Client * 串接 Firebase 透過 Notification 接收 Verifiable Claim。 * TangleID API * Register DID Identity * POST http://api.puyuma.org/did with Public Key * Return DID and Seed * Resolver DID Document * GET (http://api.puyuma.org/did/DID)[http://54.70.229.53:4600/did/did:tangleid:5iTtjEjhdAJoNnMJ7NPiUMZVHHK8WR771qsYSfFiqHFVbxyHp5VCdpjrvGTgJ55FLRSvoHTuQ] * return DID Document * [Sample](http://54.70.229.53:4600/did/did:tangleid:5iTtjEjhdAJoNnMJ7NPiUMZVHHK8WR771qsYSfFiqHFVbxyHp5VCdpjrvGTgJ55FLRSvoHTuQ) * TangleID DID Auth * TangleID DID Auth(did-auth) * 從目前 Demo site 中可抽離出來的元件 * 使用 websocket 與 client 端進行溝通。(uPort 使用 long-polling) * TangleID DID * 評估使用一個 Repository 去管理不同的元件 with Lerna * Sameple: [Canner](https://github.com/Canner/canner) * NPM package naming * @tangleid/mnid * @tanlgeid/did * @tangleid/did-auth * jkrvivian * entangled * PR: [git hook installation guide](https://github.com/iotaledger/entangled/commit/bda6e7b645cd1045125942c83c48dfff1fc85334) * PR: [cclient: Implement iota_api_get_transactions_to_approve ](https://github.com/iotaledger/entangled/pull/225) * discussion: [cclient: About extended API implementation ](https://github.com/iotaledger/entangled/issues/232) * APIs in tangle accelerator C version: [note](https://hackmd.io/s/r1EHxmWLQ#Required-for-building-tangle-accelerator) * csielee * Test XDK2MAM [issue#92](https://github.com/DLTcollab/general/issues/92) * Modify directory struct [issue#2](https://github.com/DLTcollab/meta-dltcollab/issues/2) * howjmay * approved PR: [implement get_balances](https://github.com/iotaledger/entangled/pull/216) * pending PR: * [cclient: implement were_addresses_spent_from](https://github.com/iotaledger/entangled/pull/227) * [Remove recursion in merkle tree implementation](https://github.com/iotaledger/entangled/pull/176) * [Implement URI parser for IPv6](https://github.com/iotaledger/entangled/pull/204) * discussion: [Implement bundle validator](https://github.com/iotaledger/entangled/issues/231) ###### tags: `Load balancer` `powsrv` `DID`