发布时间:2023-06-02 17:20:03
在开始所有之前,先确定已经完成了前面文章的内容。
EOS开发入门1 -- 环境搭建
EOS开发入门2 -- 钱包与账户
EOS开发入门3 -- 合约部署与调用
EOS开发入门4 -- 开发第一个合约
下图描述了EOSIO钱包和账户的简单概念视图。
钱包(wallet)就是一个存储结构,这个结构用于存放秘钥对,每个清雀秘钥对中包含了一个公钥和一个私钥。公钥和私钥是一一对应的关系,私钥对数据做签名,公钥可以对签名后的数据做验证。
钱包和其中的内容由keosd进行管理。通过命令行工具cleos可以访问钱包。
账户(account)是链上的一个标识符,这个标识符与一组访问权限相关联。nodeos管理区块链上的账户和发布账户的相关操作。nodeos的账户管理功能也可以使用cleos来操作。
账户和钱包之间并没有固定关联,钱包并不知道账户,账户也不知道钱包的存在。相对应的,nodeos和keosd之间也没有内在关联,上图中很明确的反应了这个关系。
当需要对数据做签名时,比如需要对某个交易做签名。秘钥被加密存储在钱包中,并且钱包可被锁定,钱包的存在便于在不暴露私钥的情况下,安全的获得数据签名。cleos有效地充当了钱包管理工具keosd和需要秘钥对数据进行签名的nodeos之间的中介。
首先做的第一件事羡基情是创建钱包。如果之前已经将eos的相关可执行命令导入到了/usr/local/bin下,在任意目录都可以执行以下命令,如果没有就导航到eos的源文件目录:
使用cleos的子命令 wallet create创建默认钱包default:
返回的字符串就是钱包的主密码,做好保存。如果是按照前面答派早章节过来的,这里会报错,因为default钱包已经存在了。钱包的文件名是default.wallet,路径可以通过两种方式配置,命令行参数 --data-dir 或者在config.ini 配置文件中的 wallet-dir 进行配置。
cleos可以管理多个钱包,每个钱包都有独立主秘码。下面使用-n参数来创建一个指定名称的钱包:
为什么钱包的名字叫periwinkle呢,我也不清楚,官方文档这么定义的。
然后我们可以查看下已经创建的钱包:
每个钱包后的 *号很重要,这表示这个钱包处于解锁状态。为了方便使用,wallet create命令创建的钱包默认处于解锁状态。我们来把第二个钱包periwinkle做锁定操作。
解锁钱包我们可以使用两种方式,--password MASTER_PASSWORD,直接在命令行中附上密码,或者不带 --password参数,手工输入密码,命令:
当keosd重启后,是看不到钱包列表的,这时需要使用cleos wallet open打开default钱包,或者使用 -n参数打开指定名称的钱包。然后再解锁钱包,才能再次使用。
只是一个空的钱包,对我们并没有用。我们需要生成秘钥对,并将其保存到钱包中。
生成EOS秘钥对有很多方式,这里我们使用cleos create key命令:
我们创建两个新的秘钥对,这两个秘钥对并没有任何权限。接下来,我们把秘钥对导入到钱包:
现在可以查看下已经导入的秘钥对
cleos 下帐号相关的子命令
很多人询问EOS官方钱包是什么,让我来告诉你!
EOS官方钱包的名称是keosd,它负责管理你的私钥,并且帮你进行交易的签名。不过不幸的是,keosd钱包对普通用户并不友好,它是一个命令行程序,目前芦姿还没有像以太坊的mist那样的图形化界面,而且还只能运行在linux或mac操作系统下。
因此,如果你不是开发人员,可以忽略下面的内容了,因为EOS官方钱包还不够成熟到普通用户可以使用,它并不适合你。
对于开发人员来讲,还需要进一步指出的是,keosd只是一个单纯的服务器程序(daemon),它没有提供直接的用户交互手段。要操作keosd钱包,需要借助EOS官方提供的另一个命令行工具cleos,可以认为cleos是keosd钱包服务器的客户端,它提供了基于传统的终端方式的用户交互手段,使得我们可以创建密钥、签名交易等等。
因此,第一步是启动官方钱包服务器keosd,然后让它一直运行就好:
然后再开一个终端,使用cleos执行你想让keosd干的事情,例如创建密钥对:
容易理解,春哗誉扒段创建密钥对这件事其实是官方钱包keosd做的,但你需要使用官方客户端cleos来下达这个命令。
如果你希望接下来继续深入高效地学习EOS区块链开发,推荐看看这个课程: EOS智能合约与DApp开发入门 ,相信你会有很多收获。
最近几天, 币安, 火币, Imtoken相继宣布将会支持EOS钱包映射, 那这所谓的映射到底是咋回事, 如果不映射会有什么后果, 具体又如何映射, 这里做一个简单介绍.
EOS是block.one开发的新一代底层区块链平台, 其以交易速度快(号称每秒百万级别), 支持智能合约开发著称, 当前还处于ICO阶段, 并且其主链开发还未完成, ICO将会在2018.6.1号结束, 届时其主链及钱包也会同步上线. 因为主链还不存在所以当前EOS持有者, 持有的并非正真的EOS货币, 而是代币, 是一个由EOS项目方所发放的,证明你未来可以拥有EOS原生币的凭证。而这个凭证只有在EOS上线时去主链进行兑换操作, 才能获取到真正的EOS, 这个兑换过程其实穗桐仔就是映射. 目前EOS代币是基于以太坊发行的, 并且当前几乎90%的代币都是采用此种模式, 并基于以太坊发行.
在众筹结束后的24小时, 以太坊上的所有EOS代币都会终止交易, 代币持有者需要创建EOS主网的地址轮友和私钥, 并将私钥链接到以太坊, 这样当EOS主网部署的时候回根据以太坊代币的数量生成相应数量的真正EOS币. 而这里的链接过程需要调用智能合约, 发送一笔特殊的交易来完成. (需要注意的一点是私钥一定要保存好, 否则你的EOS将会丢失) 如果代币持有用户没有猜汪在此时间之前完成映射操作, 则其手中的代币则会失效, 毫无价值.
目前各大交易所都会支持映射操作, ImToken钱包会在3.24发布1.4.3版本从而支持映射操作.