1. 程式人生 > 實用技巧 >對於uos目前只能安裝商店的感慨,強制安裝除外

對於uos目前只能安裝商店的感慨,強制安裝除外

對於uos目前只能安裝商店的感慨,強制安裝除外

jie1018/2020-5-16 21:35 瀏覽: 702/回覆:26 個人覺得,在軟體不足的情況下,更應該是系統支援,而不是讓使用者自己開啟開發模式

UOS系列教程:賬戶、錢包、許可權更改

荒原蔥鬱 2019.04.02 11:24:48字數 1,068閱讀 481

首先,假設您有一個UOS賬號,以及安裝了UOS節點程式的電腦。如果沒有
官方申請:請下載“優壹號” app  
節點安裝(ubuntu 16.04):
1, wgetftp://tools.ulord.one/UOS_Mainnet.tar.gz


2,tar -zxvf~/UOS_Mainnet.tar.gz
3,chmod +x ~/uos/noduos ~/uos/cluos ~/uos/kuosd ~/uos/install.sh ~/uos/uninstall.sh ~/uos/mongodb/bin/mongod
4,sudo ~/uos/install.sh
uos的賬戶是由數字1-5,小寫字母a-z組成,普通使用者的長度為12位,小於12位的賬戶叫做“短號”,需要競拍獲得。

一:賬戶組成

我們使用命令列檢視一個UOS鏈上的任一賬戶,比如“aaaaaaaaaaaa”

cluos -u https://rpc3.uosio.org:8080 get account aaaaaaaaaaaa
created: 2019-01-29T08:13:31.000
permissions: owner 1: 1 UOS5RCcMUXDKNk9YQDq2CNxG68LF9zRYVn21o7s2TWb7BNFnJDzUk
active 1: 1 UOS7wHa9AjtNuys1PquLbEBGgnvLHig4YyspDwdW1wtJfWWMGBdVo
memory: quota: 7.37 KiB 
  used: 3.756 KiB 
net bandwidth: staked: 0.1000 UOS (total stake delegated from account to self)delegated: 0.0000 UOS 
  (total staked delegated to account from others)
  used: 129 
  bytesavailable: 67.11 MiB 
  limit: 67.11 MiB 
  cpu bandwidth:staked: 0.1000 UOS (total stake delegated from account to self)delegated: 0.0000 UOS 
  (total staked delegated to account from others)
  used: 2.271 ms 
  available: 14.26 sec
 limit: 14.26 sec 
UOS balances: 
  liquid: 7.1000 UOS
  staked: 0.2000 UOS
  unstaking: 0.0000 
  UOStotal: 7.3000 UOS
producers:staked: 0.2000 UOS<not voted>
  total: 0.0000 UOS

可以看到賬戶的許多資訊,包含:
1,賬戶"aaaaaaaaaaaa"建立與2019年1月29日
2,賬戶owner許可權的公鑰是“UOS5RCcMUXDKNk9YQDq2CNxG68LF9zRYVn21o7s2TWb7BNFnJDzUk”
3,賬戶active許可權的公鑰是“UOS7wHa9AjtNuys1PquLbEBGgnvLHig4YyspDwdW1wtJfWWMGBdVo” 4,賬戶的可用餘額為7.1UOS 
5,賬戶的cpu以及net的抵押數量接下來,將用此賬號建立一個新的賬號,並且更改它的許可權。

二,錢包

命令列執行:

kuosd

大約5s,關閉此程序"ctrl+c",這時會在使用者目錄生成uosio-wallet資料夾,這個資料夾就是錢包資料夾。一個錢包資料夾裡頭可以包含多個錢包,現在我們在資料夾裡面建立兩個錢包,錢包的名稱分別為testera,testerb。

cluos wallet create -n testera --to-console  
Creating wallet: testera  Save password to use in the future to unlock this wallet.  Without password imported keys will not be retrievable.  
"PW5KMVW7A9LUnfxe1YPf2krHcRMbrVGBQZUzVHoBbke7rLkLZDbZB"

cluos wallet create -n testerb --to-console  
Creating wallet: testerb   Save password to use in the future to unlock this wallet.   Without password imported keys will not be retrievable.  
 "PW5JCBNM89tUkfbimh5foFAf3XFnhRdffohK6wcDVYMCfh9jJ1gQH"

"-n"是名稱的意思,這樣,我們就在錢包資料夾建立了兩個錢包:”testera“和”testerb“。可以使用如下命令檢視:

cluos wallet listWallets:
    [   "testera *" ,
       "testerb *"  ]

可以看到,錢包資料夾裡面已經包含名為”testera“和名為”testerb“的錢包了。這個時候,錢包資料夾裡面是沒有任何私鑰的,僅僅定義了兩個名稱而已。想要使用賬戶“aaaaaaaaaaaa”建立一個新的賬戶,必須把賬戶的私鑰匯入到錢包裡面,這樣程式才能使用錢包裡面私鑰授權“aaaaaaaaaaaa”建立賬戶的行為。“*”代表錢包未被鎖定。
將賬戶“aaaaaaaaaaaa”的owner許可權的私鑰匯入錢包testerb中,其中“xxxxxxx”代表私鑰

cluos wallet import -n testerb --private-key xxxxxxxx

檢視testerb錢包中收藏的公私鑰對:

cluos wallet private_keys -n testerb

然後輸入上文中testerb錢包的密碼:

PW5JCBNM89tUkfbimh5foFAf3XFnhRdffohK6wcDVYMCfh9jJ1gQH(可以貼上一次性輸入)

結果如下:

password: [[    "UOS5RCcMUXDKNk9YQDq2CNxG68LF9zRYVn21o7s2TWb7BNFnJDzUk",    "xxxxxxxx"  ]]

這樣我們就可以對賬號"aaaaaaaaaaaa"進行操作了。假如在某些過程中,錢包提示鎖定。可以用如下命令解鎖:

cluos wallet unlock -n testerb --password PW5JCBNM89tUkfbimh5foFAf3XFnhRdffohK6wcDVYMCfh9jJ1gQH

三,建立賬戶

先生成一個公私鑰對,然後用記事本儲存下來:

cluos create key --to-consolePrivate key: xxxxxxxxxxxxPublic key: UOS5AmeHzY6jreyPLKFaAj4hPSETSNvx2afC4K8w5pydPXDLkSVUE

然後搜遍腦袋想了一個名字“baodaotulong”,心想這個不錯,武林至尊,寶刀屠龍。然後在鏈上檢視是否賬號已經存在:

cluos -u https://rpc3.uosio.org:8080 get account baodaotulong 

返回一個錯誤,確實不存在。。。。然後呼叫命令,因為上文中匯入的是owner公鑰,故簽名時使用的owner許可權,即@owner。owner許可權是向下包含active許可權的。

cluos -u https://rpc3.uosio.org:8080 system newaccount aaaaaaaaaaaa --transfer baodaotulong UOS5AmeHzY6jreyPLKFaAj4hPSETSNvx2afC4K8w5pydPXDLkSVUE UOS5AmeHzY6jreyPLKFaAj4hPSETSNvx2afC4K8w5pydPXDLkSVUE --stake-net "0.1000 UOS" --stake-cpu "0.1000 UOS" --buy-ram-kbytes 4 -p aaaaaaaaaaaa@owner

這條命令解釋為:aaaaaaaaaaaa建立一個baodaotulong的賬號,該賬號的owner公鑰為UOS5AmeHzY6jreyPLKFaAj4hPSETSNvx2afC4K8w5pydPXDLkSVUE,active公鑰為:UOS5AmeHzY6jreyPLKFaAj4hPSETSNvx2afC4K8w5pydPXDLkSVUE,aaaaaaaaaaaa出錢給其購買4K記憶體,抵押0.1UOS的cpu和net。
這樣,baodaotulong就建立成功了。要使用baodaotulong這個賬號,同樣也需要他的私鑰匯入錢包。

cluos wallet import -n testerb --private-key xxxxxxxx

同樣可以檢視testerb錢包,這樣testerb錢包中就擁有了兩個公私鑰對:

cluos wallet private_keys -n testerbpassword: [[    "UOS5AmeHzY6jreyPLKFaAj4hPSETSNvx2afC4K8w5pydPXDLkSVUE",    "xxxxxxxx"  ],[    "UOS5RCcMUXDKNk9YQDq2CNxG68LF9zRYVn21o7s2TWb7BNFnJDzUk",    "xxxxxxxxx"  ]]

接下來可以賣出一部分記憶體試試能否操作baodaotulong賬戶了:

cluos -u  https://rpc3.uosio.org:8080 system sellram baodaotulong 500 -p baodaotulong@active
executed transaction: 4c55852428b3910411d51cccdf8dc3fbaae3c1c2d091b9583f30b740674fe475  
112 bytes  1544 us
#         uosio <= uosio::sellram               {"account":"baodaotulong","bytes":500}#   uosio.token <= uosio.token::transfer        {"from":"uosio.ram","to":"baodaotulong","quantity":"1.3717 UOS","memo":"sell ram"}
#     uosio.ram <= uosio.token::transfer        {"from":"uosio.ram","to":"baodaotulong","quantity":"1.3717 UOS","memo":"sell ram"}
#  baodaotulong <= uosio.token::transfer        {"from":"uosio.ram","to":"baodaotulong","quantity":"1.3717 UOS","memo":"sell ram"}
#   uosio.token <= uosio.token::transfer        {"from":"baodaotulong","to":"uosio.ramfee","quantity":"0.0069 UOS","memo":"sell ram fee"}
#  baodaotulong <= uosio.token::transfer        {"from":"baodaotulong","to":"uosio.ramfee","quantity":"0.0069 UOS","memo":"sell ram fee"}
#  uosio.ramfee <= uosio.token::transfer        {"from":"baodaotulong","to":"uosio.ramfee","quantity":"0.0069 UOS","memo":"sell ram fee"}
#         uosio <= uosio::payfee                {"payer":"baodaotulong","net_usage":112,"virtule_net_limit":2097152000,"act_account":"uosio","act_na...warn  2019-03-29T08:57:45.730 thread-0  main.cpp:487                  
print_resuwarning: transaction executed locally, but may not be confirmed by the network yet

四,更改許可權

武俠迷小明出了1000個UOS想跟我購買這個baodaotulong的這個賬戶。小明向我提供了一個公鑰UOS5A4sYXU6SA5kyKjbu76r9xapgrzotjhLEgPSZzDzMBJpw1559Y。於是,我執行如下命令,更改了baodaotulong的許可權,這樣我就不再擁有baodaotulong的控制權了。

cluos -u https://rpc3.uosio.org:8080  set account permission baodaotulong active '{"threshold":1,"keys":[{"key":"UOS5A4sYXU6SA5kyKjbu76r9xapgrzotjhLEgPSZzDzMBJpw1559Y","weight":1}],"accounts":[]}' owner -p baodaotulong@owner
cluos -u https://rpc3.uosio.org:8080  set account permission baodaotulong owner '{"threshold":1,"keys":[{"key":"UOS5A4sYXU6SA5kyKjbu76r9xapgrzotjhLEgPSZzDzMBJpw1559Y","weight":1}],"accounts":[]}' -p baodaotulong@owner

小明查看了baodaotulong的賬戶:

cluos -u https://rpc3.uosio.org:8080 get account baodaotulong
created: 2019-03-29T08:46:56.000
permissions:      owner     1:    1 UOS5A4sYXU6SA5kyKjbu76r9xapgrzotjhLEgPSZzDzMBJpw1559Y        
     active     1:    1 UOS5A4sYXU6SA5kyKjbu76r9xapgrzotjhLEgPSZzDzMBJpw1559Y
     .....    

小明發現賬戶的owner和active許可權都由自己提供的公鑰組成,愉快的通過優壹號轉給了我1000UOS

uos不是商店下載的,系統提示沒有數字簽名,不讓安裝,這點不太友好,畢竟有些軟體商店沒有。額外安裝可以提升使用效果,及客戶滿意度。win哪兒下載的都讓用,對於win激不啟用有什麼關係了。
也許是為了保護客戶資訊,可是什麼都沒有用的了,那再流暢的速度還不是一個漂亮的花瓶。