好奇的探索者,理性的思考者,踏实的行动者。
Table of Contents:
关于eos的编译安装启动部署合约相关的东西可以参考eos官方教程的以下部分:
* Getting Started Guide
* Smart Contract Guides
代币是存放在账户里的,转账需要有达到转账权限权重的公钥的才可以
权限信息也是要写到区块里的,通过eos内置的合约来完成
Action的含义很简单,它表示单个操作;
Transaction(事务)就是一个或多个 Action 的集合。
参考eos代码中的docs文档
eos/docs/00_install/01_build-from-source/02_manual-build/03_platforms/centos-7.7.md
注意事项:
* 最低配置4核8G
* 不能用虚拟机的共享文件,因为其不支持软链接
./nodeos \
-e -p eosio \
--plugin eosio::producer_plugin \
--plugin eosio::chain_api_plugin \
--plugin eosio::http_plugin
-e [ --enable-stale-production ]
Enable block production, even if the chain is stale
-p [ --producer-name ] arg
ID of producer controlled by this node (e.g. inita; may specify multiple times)
数据和配置文件的位置
/root/.local/share/eosio/nodeos
启动方式
Nodeos generally runs in two modes:
* Producing Node
* Non-Producing Node
插件相关配置,设置后就不用在命令行中添加插件的参数了
plugin = eosio::producer_plugin
plugin = eosio::chain_api_plugin
plugin = eosio::http_plugin
atabase dirty flag set (likely due to unclean shutdown): replay required
run
./nodeos --replay-blockchain --hard-replay-blockchain
cleos wallet list
cleos wallet create
cleos wallet open
cleos wallet lock
cleos wallet unlock
cleos wallet import
cleos wallet remove_key
cleos wallet keys
eosio-cpp hello.cpp -o hello.wasm
eosio-wasm2wast add.wasm -o add.wast
cleos create account eosio hellohello1 EOS8jJ5J1wPkzQJTsgpC6dt1RqZBd7GxD2uTcELnJDcdPT2Qfcunz -p eosio@active
cleos set contract hello /root/contracts/hello -p hello@active
cleos push action hello hi '["bob"]' -p bob@active
注意事项:
* 智能合约需要创建一个账户来部署,并且一个账号只能部署一个合约
* 账户是唯一不可以重复的
EOS通过并行链的方式,最高可以达到数百万TPS,并且并行本地链甚至可以达到毫秒级的确认速度。
并行链是什么??
出块而不产生分叉的一个重要原因,是因为同一时刻只有一个块生产者