对于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, wget ftp://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激不激活有什么关系了。
也许是为了保护客户信息,可是什么都没有用的了,那再流畅的速度还不是一个漂亮的花瓶。

对于uos目前只能安装商店的感慨,强制安装除外的更多相关文章

  1. 安装anaconda python时只能安装到默认文件夹&& 安装提示文件夹以存在问题

    这个问题困扰了两次,网上说可以,我就是不行,查了半天没找到解决方法, 后来装在C盘里, 之后在百度知道(ID:幸福999快乐)发现解决办法后来才发现问题. 在安装的时候,要安装的目标文件夹不需要先在安 ...

  2. CentOS6.3 编译安装LAMP(2):编译安装 Apache2.2.25

    所需源码包: /usr/local/src/Apache-2.2.25/httpd-2.2.25.tar.gz 编译安装 Apache2.2.25 #切换到源码目录 cd /usr/local/src ...

  3. SOA_环境安装系列1_Oracle SOA Suite11g安装总括(案例)

    2015-01-01 Created By BaoXinjian

  4. 【安装操作系统】VMware 中安装 Redhat 5

    引言 已有一台 Windows XP 家用机,安装 Linux 虚拟机,一不小心就会走弯路,因此本文提供一些入门级的经验来帮助你躲开歧途. 欢迎来到 lovickie 的博客 http://www.c ...

  5. 【转】Win7系统下安装Ubuntu12.04(EasyBCD硬盘安装)--不错

    原文网址:http://blog.csdn.net/lengbuleng1107/article/details/14532177 需要的东西有: 1,ubuntu系统镜像,下载地址:http://w ...

  6. C# 制作Java +Mysql+Tomcat 环境安装程序,一键式安装

    原文:C# 制作Java +Mysql+Tomcat 环境安装程序,一键式安装 要求: JDK.Mysql.Tomcat三者制作成一个安装包, 不能单独安装,安装过程不显示三者的界面, 安装完成要配置 ...

  7. ubuntu14.04安装、NVIDIA显卡驱动安装及CUDA8.0、Cudnn5.1的环境搭建

    安装环境:hp-Z440工作站.64位Ubuntu14.04(64位Ubuntu16.04).Cuda8.0.Cudnn5.1.Nvidia GeForce GT 705.Tesla K40c 本文可 ...

  8. CentOS7下安装Gitlab社区版【安装步骤、IP改域名、修改端口】

    这两天一直在给公司的服务器配置Gitlab(10.5.4).过程很是痛苦,所以把过程记录一下. 1.安装CentOS7 从官网上下载了最新版CentOS-7-x86_64-DVD-1708.iso.用 ...

  9. 网卡配置文件详解 用户管理与文件权限篇 文件与目录权限 软连接 tar解压命令 killall命令 linux防火墙 dns解析设置 计划任务crond服务 软件包安装 阿里云 yum源 安装

    Linux系统基础优化及常用命令 Linux基础系统优化 引言没有,只有一张图. Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令. ...

随机推荐

  1. Redis解读(1):Redis安装启动及常见数据类型

    Redis 简介 Redis 是我们在互联网应用中使用最广泛的一个 NoSQL 数据库,基于 C 开发的键值对存储数据库. Redis 这个名字是 Remote Dictionary Service ...

  2. java面试-内存分配与回收策略

    1.对象优先在Eden分配 -Xms20M -Xmx20M java堆的大小20M -Xmn10M 新生代10M 老年代10M -XX:SurvivorRatio=8 新生代Eden与一个Surviv ...

  3. 如何在 NET 程序万种死法中有效的生成 Dump (上)

    一:背景 相信很多人都知道通过 任务管理器 抓取dump,虽然简单粗暴,但无法满足程序的无数种死法,比如: 内存膨胀,程序爆炸 CPU爆高,程序累死 应用无响应,用户气死 意外退出,和人生一样 既然手 ...

  4. Spring Cloud微服务限流之Sentinel+Apollo生产实践

    Sentinel概述 在基于Spring Cloud构建的微服务体系中,服务之间的调用链路会随着系统的演进变得越来越长,这无疑会增加了整个系统的不可靠因素.在并发流量比较高的情况下,由于网络调用之间存 ...

  5. 华为联运游戏或应用审核驳回:HMS Core升级提示语言类型错误

    问题描述 最近项目组应用集成华为的HMS Core SDK相关能力后,发布地区选择中国大陆,提交审核,华为审核驳回:在低于2.5.3版本的华为移动服务手机上启动时或调出支付时拉起升级提示为英文,正确的 ...

  6. Spring (二)SpringIoC和DI注解开发

    1.Spring配置数据源 1.1 数据源(连接池)的作用 数据源(连接池)是提高程序性能出现的 事先实例化数据源,初始化部分连接资源 使用连接资源时从数据源中获取 使用完毕后将连接资源归还给数据源 ...

  7. 【CTF】XCTF 我们的秘密是绿色的 writeup

    题目来源:SSCTF-2017 题目链接:https://adworld.xctf.org.cn/task/answer?type=misc&number=1&grade=1& ...

  8. Linux+MicroPython+esp8233 YES!

    MicPython MicroPython是澳大利亚程序员和物理学家Damien George在2013年一次成功的众筹活动后最初创建的.MicroPython 和 CPython 在 Python ...

  9. mysql is null 和 =null 区别

    数据库中 null 表示 不可知,不确定所以 判断都用 字段 is null的方式进行判断而 = null .<> null 的判断结果,仍然是不可知,不确定,所以 不会返回任何结果.或者 ...

  10. 7.If语句

    if单选择结构 语法: if(布尔表达式){ //如果布尔表达式为true将执行的语句 } 例: import java.util.Scanner; public class IfDemo { pub ...