close

博翔科技為專業機械設備歐規/台灣TS標章/美規及半導體設備SEMI S2輔導顧問公司

博翔對於各類機械的安全技術 安全開關 安全模組 安全繼電器模組 安全繼電器 緊急停止 安全元件 歐盟電路設計 安全迴路 安全設計

由於科技的進步,各種無線通訊設備及數位裝置技術的高度發展,電磁干擾已成為電子時代中世界各國關注的問題。

機械產品的製造為迎向消費市場需求,亦朝向高速度、高精度、自動化且大量使用數值控制而使機械產品電磁干擾問題更加複雜

而博翔科技協助您解決相關安全技術問題以專業級檢測與規畫經驗並協助各種機械廠快速獲得相關認證

邀請您一起邁向世界的安全技術頂端

請立即點擊上方圖片了解更多細節吧!

 

好文分享

 

簡介 本篇我們將會學習EOS自帶的命令行錢包的使用方法,我們將會使用cleos來控制keosd服務對本地錢包進行管理。 雖然現在市面上已經有很多支持EOS的錢包了,有Web錢包,有app錢包,還有瀏覽器插件錢包,著名有scatter錢包、TokenPocket錢包還有MeetOne錢包等。但是基於伺服器上的錢包管理我們還是必須要學會使用keosd的功能,而且,從安全性來說,三方的終究沒有官方的更讓人放心吧,我的同事就遇到過被三方sdk盜號的情況,所以作為開發人員,熟練使用keosd的功能,對我們管理EOS節點和管理私鑰都至關重要,更何況我們後續的學習都還要基於它呢。 EOS基礎全家桶(五)錢包管理 簡介 前置條件 keosd與cleos 啟動/停止錢包服務 默認啟停錢包服務 手動啟停錢包服務 創建錢包 生成私鑰對 直接生成 生成到錢包 導入私鑰 鎖定與解鎖 解鎖 鎖定 移除私鑰 查看 查看當前已導入key 查看錢包狀態 查看錢包中的私鑰 刪除錢包 前置條件 要使用錢包的功能,我們至少要安裝好了EOS,包括cleos和keosd,如果使用docker安裝的,我們需要藉助docker容器內環境來操作,所以建議直接通過docker的exec命令進入到容器內部。 keosd與cleos 在前面EOS基礎全家桶(四)啟動節點中我們介紹了,cleos是一個命令行工具,可以通過rpc接口管理nodeos和keosd,而keosd則是一個錢包和私鑰文件的管理服務,本身提供了sockets、http及https的接口,支持訪問控制和webauth的配置。本文只會介紹基本的功能。 特別說明:下面的文章中使用的截圖中cleos命令大部分都會帶上—wallet-url參數,改參數並非必須,只是為了使用特定錢包目錄和服務而加上。 啟動/停止錢包服務 默認啟停錢包服務 啟動 默認當我們使用cleos的wallet命令操作時會自動判斷是否已啟動了keosd服務,如果沒有啟動就會使用默認配置啟動keosd。 比如我們使用命令cleos wallet list時,可以看到命令行中出現了一行keosd launched的提示,就表示默認錢包服務已經啟動了。 ... 停止 最簡單的方式就是使用命令cleos wallet stop,當然你也可以直接殺掉keosd的進程。 手動啟停錢包服務 啟動 我們可以手動啟動keosd,可以指定它的啟動埠、文件目錄和解鎖時間等。錢包的默認路徑為用戶目錄下的eosio-wallet文件夾(~/eosio-wallet/)。下面的命令我們制定了socket的入口文件,解鎖時間和錢包目錄。 keosd --unlock-timeout 100 --unix-socket-path ~/study/eosio-wallet/keosd.sock --wallet-dir ~/study/eosio-wallet 執行後如果看到如圖所示,就表示啟動成功了。 ... 啟動後錢包目錄下會產生socket通信文件和錢包文件wallet.lock。 ... 這種啟動方式的優點是可以更方便的設定錢包啟動參數,包括埠、目錄這些可能需要特例化的設置參數。缺點是不夠簡單方便,程序是前臺程序,啟動後不能退出,需要使用nohup或者pm2等程序託管啟動。 另外我們可以使用config.ini文件來配置啟動參數,只需創建config.ini文件,並放置在wallet目錄下。文件內容可參考默認配置,如下: # The filename (relative to data-dir) to create a unix socket for HTTP RPC; set blank to disable. (eosio::http_plugin) # unix-socket-path = kaccd.sock # The local IP and port to listen for incoming http connections; leave blank to disable. (eosio::http_plugin) # http-server-address = # The local IP and port to listen for incoming https connections; leave blank to disable. (eosio::http_plugin) # https-server-address = # Filename with the certificate chain to present on https connections. PEM format. Required for https. (eosio::http_plugin) # https-certificate-chain-file = # Filename with https private key in PEM format. Required for https (eosio::http_plugin) # https-private-key-file = # Configure https ECDH curve to use: secp384r1 or prime256v1 (eosio::http_plugin) # https-ecdh-curve = secp384r1 # Specify the Access-Control-Allow-Origin to be returned on each request. (eosio::http_plugin) # access-control-allow-origin = # Specify the Access-Control-Allow-Headers to be returned on each request. (eosio::http_plugin) # access-control-allow-headers = # Specify the Access-Control-Max-Age to be returned on each request. (eosio::http_plugin) # access-control-max-age = # Specify if Access-Control-Allow-Credentials: true should be returned on each request. (eosio::http_plugin) # access-control-allow-credentials = false # The maximum body size in bytes allowed for incoming RPC requests (eosio::http_plugin) # max-body-size = 1048576 # Maximum size in megabytes http_plugin should use for processing http requests. 503 error response when exceeded. (eosio::http_plugin) # http-max-bytes-in-flight-mb = 500 # Append the error log to HTTP responses (eosio::http_plugin) # verbose-http-errors = false # If set to false, then any incoming "Host" header is considered valid (eosio::http_plugin) # http-validate-host = true # Additionaly acceptable values for the "Host" header of incoming HTTP requests, can be specified multiple times. Includes http/s_server_address by default. (eosio::http_plugin) # http-alias = # Number of worker threads in http thread pool (eosio::http_plugin) # http-threads = 2 # The path of the wallet files (absolute path or relative to application data dir) (eosio::wallet_plugin) # wallet-dir = "." # Timeout for unlocked wallet in seconds (default 900 (15 minutes)). Wallets will automatically lock after specified number of seconds of inactivity. Activity is defined as any wallet command e.g. list-wallets. (eosio::wallet_plugin) # unlock-timeout = 900 # Override default URL of http://localhost:12345 for connecting to yubihsm-connector (eosio::wallet_plugin) # yubihsm-url = # Enables YubiHSM support using given Authkey (eosio::wallet_plugin) # yubihsm-authkey = # Plugin(s) to enable, may be specified multiple times # plugin = 停止 停止錢包服務比較簡單,有多種方式: 如果你使用的是直接前臺啟動的話,你只要ctrl+c終止進程就行了,或者直接關閉啟動了keosd的命令行。 如果你是後臺啟動的,你直接殺掉keosd進程就行了,或者在開發環境可以直接killall keosd。 你也可以使用cleos來關閉,如果你使用的是默認錢包文件路徑,可以直接使用cleos wallet stop,否則你需要指定錢包socket文件參數—wallet-url,如下: cleos --wallet-url unix:///Users/astaldo/study/eosio-wallet/keosd.sock wallet stop 創建錢包 我們已經啟動錢包服務了,要創建一個新錢包,我們只需要使用cleos wallet create命令即可,create命令有幾個參數。 -n 指定錢包名字-f 指定輸出錢包密碼的文件,未指定—to-console時為必須參數—to-console 指定錢包密碼輸出到控制臺中,優先級高於-f 我們創建一個名字為dev的錢包吧。 cleos wallet create -n dev --to-console ... 紅框部分就是錢包的密碼啦,每個錢包的密碼都是隨機生成的。如果使用-f參數指定了一個文件,密碼就會保存到文件中,而不會顯示在控制臺。 新創建的錢包默認是解鎖狀態,解鎖時間由keosd的配置決定,默認是15分鐘,如需修改解鎖時間請參考手動啟停錢包服務。 生成私鑰對 創建私鑰對是非常實用的功能,你新建帳號,新建權限都需要配置公鑰,網絡上有很多生成私鑰對的開放工具,但是對於開發者而言,本地生成無疑是最佳選擇,相對安全性要高很多。 直接生成 使用cleos的cleos create key命令就可以方便的生成,命令有幾個參數。 —r1 指定使用R1曲線算法,默認使用的是K1曲線算法-f 指定輸出的文件,未指定—to-console時為必須參數—to-console 指定輸出到控制臺中,優先級高於-f —r1參數只在特定的場景下需要使用,默認不需要指定。 我們生成一個新的私鑰對到控制臺。 cleos create key --to-console ... Private key就是私鑰,Public key就是公鑰了。如果使用-f參數指定了一個文件,密碼就會保存到文件中,而不會顯示在控制臺。 生成到錢包 我們還可以直接生成到錢包里,使用cleos wallet create_key命令即可,命令有幾個參數。 -n 指定錢包名字key_type 指定使用R1還是K1曲線算法,默認K1 我們生成一個新的私鑰對到錢包dev中。 cleos wallet create_key -n dev 注意:錢包必須處於解鎖狀態。 解鎖錢包可以看解鎖。 ... 可以看到,該方法最大的好處就是直接可以把私鑰導入錢包中,且不會直接暴露私鑰。如果要查看該公鑰對應的私鑰,我們在查看當前已導入key會講解。 導入私鑰 錢包的功能就是用來安全管理公私鑰,且在後續我們需要簽名的操作時提供私鑰簽名。所以導入私鑰是非常常用的功能。 使用cleos wallet import命令可以將私鑰導入錢包,命令有幾個參數。 -n 指定錢包名字—private-key WIF格式的私鑰 我們通常情況肯定是不推薦使用—private-key參數的,這會把私鑰明文顯示在命令中。 Private key: 5J4TCnyXzbPLXuXTC4gnPWno1gye2RE1LXzTgXRSPRizHASq89ePublic key: EOS7K78LBkRQD4WA2LUbG6P2KhtKMqhCrbMsxEEYd7dbACqXZytTk 我們嘗試導入上面這組私鑰到dev錢包中。 cleos wallet import -n dev ... 輸入命令後就會提示輸入private key,此時是安全輸入,不會顯示在螢幕上,你只需粘貼或者輸入私鑰後按回車即可。 ... 導入成功後我們可以核對一個公鑰是否一致。 鎖定與解鎖 錢包解鎖後在超過鎖定時間時,會自動鎖定錢包,這是為了增加安全性,在開發環境我們可以調大鎖定時間,請參考手動啟停錢包服務。 解鎖 使用命令cleos wallet unlock即可解鎖,命令有幾個參數。 -n 指定錢包名字—password 錢包密碼 同樣的,我們並不建議使用—password參數,這會把錢包密碼暴露在命令中。 我們來解鎖dev錢包試試。 cleos wallet unlock -n dev ... 輸入命令後就會提示輸入password,此時是安全輸入,不會顯示在螢幕上,你只需粘貼或者輸入密碼後按回車即可。 ... 看到Unlocked就表示已經解鎖了。如果錢包已經解鎖,再嘗試解鎖時會報錯。 鎖定 在使用完錢包功能後,或者需要切換別的錢包時,處於安全考慮,我們可能需要手動鎖定指定錢包,不然你只有等自動鎖定了。 鎖定錢包有兩個命令可用,cleos wallet lock_all和cleos wallet lock,前者是直接鎖定所有已解鎖的錢包,後者則需要指定需要鎖定的錢包名。 這裡只說明一下鎖定特定錢包的命令,命令只有一個參數-n指定錢包名。我們鎖定dev錢包。 cleos wallet lock -n dev 移除私鑰 某個私鑰不需要保存在錢包中了,我們就需要刪除這個私鑰,操作也很簡單,首先還是要確保錢包已解鎖,然後使用命令cleos wallet remove_key即可,命令有幾個參數。 -n 指定錢包名字—password 錢包密碼key 公鑰(必填) 即使你的錢包已經解鎖了,在執行時仍要帶上錢包密碼或者輸入錢包密碼,這是為了二次確認,畢竟私鑰一旦刪除就沒了。 我們刪除dev錢包中的EOS7mAKAfpgX4uBsSV9rmDYJCK9GjYGSpRLZ7tz5E9W1nR5Uw7pHH這個公鑰。 cleos wallet remove_key -n dev EOS7mAKAfpgX4uBsSV9rmDYJCK9GjYGSpRLZ7tz5E9W1nR5Uw7pHH ... 查看 我們需要關注錢包的解鎖狀態,錢包內已經導入了哪些私鑰對,導入的私有又是什麼……所以錢包肯定要提供查看的功能。 查看當前已導入key 我們如果需要查看當前解鎖的錢包中都有哪些可用的key,只需輸入cleos wallet keys。 ... 注意:這會列出所有已解鎖錢包里的key。 查看錢包狀態 如果你有多個錢包,而你又需要同時解鎖多個錢包,你可能會需要查看當前個錢包的解鎖狀態。只要使用命令cleos wallet list即可。 ... 可以看到,這裡會列出所有的錢包,其中錢包名後面有個星號(*)表示這個錢包當前處於解鎖狀態。 查看錢包中的私鑰 我們要將私鑰導出或者導入到其他的錢包應用里,那麼我們就需要查看這個公鑰的私鑰是什麼了。我們仍然需要確保錢包已經解鎖,然後使用命令cleos wallet private_keys即可,命令有幾個參數。 -n 指定錢包名字—password 錢包密碼 即使你的錢包已經解鎖了,你在執行命令時還是需要帶上錢包密碼或者輸入錢包密碼,同樣是為了安全考慮的二次驗證。 我們查看dev錢包的所有私鑰對。 cleos wallet private_keys -n dev ... 刪除錢包 如果你需要直接刪除整個錢包里的內容,最快的方式就是直接找到錢包文件目錄,然後刪除與錢包名同名的文件。比如你要刪除dev的錢包文件,你就直接刪除dev.wallet文件就可以了。 更多內容請關注微信公眾號 ...

 

TTT77941YYDDEE156365GG

 

 

文章來源取自於:

 

 

 

每日頭條 https://kknews.cc/tech/8k4a52q.html

 

 

如有侵權,請來信告知,我們會立刻下架。

 

 

DMCA:dmca(at)kubonews.com

 

 

聯絡我們:contact(at)kubonews.com

 


台中熱水器安全迴路設計高雄安全邊條設計與電路設計台南液晶電視/OLED符合歐盟歐規電路設計新竹HE5B型促動開關高雄冷/熱食物調理符合歐盟歐規電路設計
新竹飲水設備符合歐盟歐規電路設計 台北咖啡機符合歐盟歐規電路設計 安全開關符合符合歐規電路的CE認證公司桃園HS3A型非接觸式安全開關 台南烤箱/微波爐符合歐盟歐規電路設計 警告標籤貼紙,警告標示貼紙製作批發與設計高雄通訊/辦公符合歐盟歐規電路設計 新竹咖啡機安全迴路設計 由於具備明確的夾持力,可免除維護台中4路高低電位觸發繼電器控制模組 台中SEMI緊急遮斷用(EMO)開關 增加維修時的操作安全性

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 買這個不會虧 的頭像
    買這個不會虧

    買這個不會虧很多人都在用

    買這個不會虧 發表在 痞客邦 留言(0) 人氣()