---
# System prepended metadata

title: 'cold wallet: Project'

---

# Cold Wallet with M2354: (Project)

## week 20 
### Report : https://www.canva.com/design/DAF1jS8C7J4/0mXU3JtS-bpNTsDx0l3TXA/view
### Question:
### 11/29
用論文常用的名詞大家才聽得懂

network wallet, hardware wallet

要確定要如何傳到區塊練上面(拆解區塊練transaction)



確認qrcode 真的有比較安全嗎?? (優缺點，和其他方法比較看看，再去做research)

點指紋才能invoke camera ?? 不會一直收到一些垃圾


為什麼選擇 fingerprint (可以先寫他是一個管道，再去做research)


sentry init 要用準確一點的詞(看多億點文獻)

就算private key 存在裡面不會leakage，但 recovery (註記詞)會存在leakage的可能性

### 12/13
找現有商用成品。

找survey paper，(survey of blockchain wallet)比較的paper

google -> 技術文件 -> survey paper -> 其他文獻

pros and cons of paper. PPT 要漂亮好懂。

### 12/27

用甚麼secure element，晶片優點缺點。
找hardware survey
survey paper 要找大神的或者大機構，還是要以Citation為主，期刊有名的(ieee, dependable)。
期刊分數(impact factor)
device 要有自己的private key 拿來加密自己的東西(ex: scureBoot 要加密)
trezor顯然搞不清楚甚麼是安全

### 1/17

[c++ signer library for web3.0 ethereum](https://github.com/trustwallet/wallet-core/blob/master/tests/chains/Ethereum/TWAnySignerTests.cpp)
[c library for ethereum](https://github.com/mhw0/libethc)

ledger 確認transaction顯示甚麼
去研究Ledger所有功能
把目前的spec畫出來(包含交互的protocol)

### 1/24
1. User flow 建議分成offline、online，再分成實際顯示、背後作業。
2. 列一個預定完成list(依照priority)
``` 
 1. Signature  
 2. offline and online wallet connection
 3. Display address
 4. PIN code (research)
 5. recovery phrase (research)
 6. security between offline and online wallet (research)
```
3. 確定哪邊是authenticator, device(research)
4. 確定是不是RLP的問題(找現成的code 來看)

### 2/21

為甚麼要用你們的冷錢包(TrustZone的好處)
先介紹差別
### 3/5

keystore架構廠商，有沒有共通的架構
opensource

### 3/14
1. 左中用電腦代替
2. Config/Init 要透過u票
3. voter的身份驗證

```python=
#init
create_simulated_comm_connection(self.cloud_server_dm, self.iot_device) 
self.cloud_server_dm.flow_apply_u_ticket.holder_apply_u_ticket(id_for_initialization_u_ticket)
wait_simulated_comm_completed(self.cloud_server_dm, self.iot_device)
```
```python=
#ownerShip
create_simulated_comm_connection(self.user_agent_do, self.iot_device)     
self.user_agent_do.flow_apply_u_ticket.holder_apply_u_ticket(target_device_id)
wait_simulated_comm_completed(self.user_agent_do, self.iot_device)
```
```python=
#access
create_simulated_comm_connection(self.user_agent_do, self.iot_device)
generated_command = "HELLO-1"
self.user_agent_do.flow_apply_u_ticket.holder_apply_u_ticket(
target_device_id, generated_command)
wait_simulated_comm_completed(self.user_agent_do, self.iot_device)


```

### 3/20

教授郝

trace code 還有看完整體運作 (flow, stage) 分析完覺得device controller 要先下手
寫成c/c++ 還在考慮因為class 

voting machine 討論完學長希望我們把整個ureka都寫成c語言，
拆成小目標、顯示先用電腦(PuTTy)當monitor、接下來會跟隔壁組作連接互動作投票，如果覺得用電腦不安全再用其他方式呈現(LCD)教授你覺得呢?

學長也希望另一組把ureka 寫成 java的code讓他的博論更豐富。

### 3/28

鮮血document 流程定出來->去看柏翰的code

要記得寫testcase
鮮血部分在寫全部ㄡ
先在電腦跑，在load在板子上。都要testcase


### 4/2

zp 