Posts List

波场交易数据结构

TRX 转账交易 原始链接 https://tronscan.org/#/block/5280765/transfers 交易数据如下, trx 的进度为 6位 { "ret": [ { "contractRet": "SUCCESS" } ], "signature": [ "a2d57b74cdbbfddf2a770ff1521f6a7811d1ed23474e2a4774324bd8a3e779810bcb5685bff32aeac50d5c0ee74ab5ff53d4ae901394d88ed666c8e03865c21801" ], "txID": "d7ac8443d29c96748f2ca2dd0f04b0027ad6e40a534eddfe841a3dd6c37a7536", "raw_data": { "contract": [ { "parameter": { "value": { "amount": 199999900000, "owner_address": "410d0707963952f2fba59dd06f2b425ace40b492fe", "to_address": "41bcaf8ed84fb2fd98dbd81a74613d607abf88745e" }, "type_url": "type.googleapis.com/protocol.TransferContract" }, "type": "TransferContract" } ], "ref_block_bytes": "9274", "ref_block_hash": "950e6861e80b6fbc", "expiration": 1545897029528, "fee_limit": 100000 } } TRX 智能合约调用 原始链接 https://tronscan.org/#/transaction/f878b9b7cd351e512357de2b85be7ea9f85041cbbe7e1057b1cdf18244e4b176 { "ret": [ { "contractRet": "SUCCESS" } ], "signature": [ "a44921271007dd995e2ce5cc7ca76d9b378d9e03328e577ebd5a95b5b4db964c82d358b01ecd71412a1eebea3e3f7e773d6f9a211dec77cfae9809ef7b53e93500" ], "txID": "f878b9b7cd351e512357de2b85be7ea9f85041cbbe7e1057b1cdf18244e4b176", "raw_data": { "contract": [ { "parameter": { "value": { "data": "a3082be900000000000000000000000000000000000000000000000000000000000000540000000000000000000000000000000000000000000000000000000000000000", "owner_address": "41ff587581be807d3a90d73a7fd1def7c51d6c62ed", "contract_address": "412ec5f63da00583085d4c2c5e8ec3c8d17bde5e28", "call_value": 260000000 }, "type_url": "type.

让终端 sudo 时用上 Touch ID

用了一段时间 MacBook Pro with TouchBar 感觉开机或唤醒时读指纹还是很方便的,但安装一些软件或执行命令操作时还是需要输入密码,似乎不那么省事,对设置复杂密码也不够友好。今天学到了一个新技巧,让我们在终端里sudo执行命令时不再需要手输密码,而是Touch ID验证。 修改/etc/pam.d/sudo这个文件,建议用 sudo vim /etc/pam.d/sudo 在第一行增加 auth sufficient pam_tid.so 现在尝试下 sudo 操作吧,应该会看到提示识别指纹而不是输入密码了。 如果你使用了 tmux 需要 添加额外的配置 https://github.com/fabianishere/pam_reattach git clone https://github.com/fabianishere/pam_reattach cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr/local <PATH-TO-SOURCE> make sudo make install 修改/etc/pam.d/sudo这个文件,建议用 sudo vim /etc/pam.d/sudo 在第一行增加 auth optional pam_reattach.so 然后就可以顺利使用了 评论地址

磁盘挂载

硬盘挂载 硬盘挂载 mount -o rw /dev/sdb1 /disk/sata01 显示 硬盘设备生产商 lsscsi 可以用于查看是 ssd 还是 hdd 查看挂载关系 lsblk 查看硬盘设备 fdisk -l 显示硬盘使用信息 df -lh 评论地址

iptables 端口转发

列出所有规则 iptables -t nat --line-numbers -L 删除指定规则 iptables -t nat -D OUTPUT 2 端口转发 示例从 9001 转发到 8000 iptables -t nat -A PREROUTING -p tcp --dport 8000 -j REDIRECT --to-ports 9001 iptables -t nat -A OUTPUT -p tcp -d localhost --dport 8000 -j REDIRECT --to-ports 9001 评论地址

EOS eosio.system 和 eosio.token 合约部署

eos 版本 dawn-v4.0.0 前置条件 bios 已经设置好了,相关的 bp 也已经设置完毕 # 创建 token 对应的账号 ./programs/cleos/cleos --wallet-url http://localhost:8899 --url http://127.0.0.1:8788 create account eosio eosio.token EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV # 部署 system 合约 ./programs/cleos/cleos --wallet-url http://localhost:8899 --url http://127.0.0.1:8788 set contract eosio.token contracts/eosio.system -p eosio.token@active # 部署token 合约 ./programs/cleos/cleos --wallet-url http://localhost:8899 --url http://127.0.0.1:8788 set contract eosio.token contracts/eosio.token -p eosio.token@active # 创建 eos token ./programs/cleos/cleos --wallet-url http://localhost:8899 --url http://127.0.0.1:8788 push action eosio.token create '{"issuer":"eosio.token", "maximum_supply":"1000000000.0000 EOS","can_freeze":0, "can_recall":0, "can_whitelist":0}' -p eosio.

EOS 智能合约体验

接上文: https://github.com/kaidiren/D6/issues/4 官方文档地址: https://github.com/EOSIO/eos#example-currency-contract-walkthrough 智能合约示例 首先启动 节点 docker-compose up 导入帐号 在创世区块的配置中已经存在一个 eosio 的账户, 把私钥导入. eosioc wallet import 5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3 为 “currency” 合约创建帐号 先生成2个密钥对: rkd@mac:~/blockchain/eos/Docker$ eosioc create key Private key: 5KMohsQ5cqXGgMRPH5qXqaTpRhrThwtGT7e8sqS7KuxXRxGLFfW Public key: EOS55iuKLbH2XhNv4pJXjNtxTJYoD5Xes2PuB4N7LYfgdeEjFPWat // owner_key rkd@mac:~/blockchain/eos/Docker$ eosioc create key Private key: 5K8T42F56S6VX3bFh3sC6UcNjC1aQEY37AmK2rdnXVzsSX3YeCT Public key: EOS6RPNryk7rxkrcxKEigmrNBS4dzGcUqdoWT4HupbrbYnVro5npM // active_key 通过 eosio 这个帐号, 创建 currency 帐号 eosioc create account eosio currency EOS55iuKLbH2XhNv4pJXjNtxTJYoD5Xes2PuB4N7LYfgdeEjFPWat EOS55iuKLbH2XhNv4pJXjNtxTJYoD5Xes2PuB4N7LYfgdeEjFPWat 会返回一大段 json 串就说明成功了 查询一下: eosioc get account currency 返回结果: { "account_name": "currency", "permissions": [] } 导入钱包私钥:

EOS 部署尝试

基础条件 docker git 如果不知道怎么安装请,自己百度 或 者 google, 这里就不详细说明了. 为什么使用docker 是因为构建过程依赖复杂,还很耗费时间所以直接使用dockerhub上构建好的镜像. 下载项目和配置 git clone https://github.com/EOSIO/eos.git cd eos/Docker docker pull eosio/eos 编辑 docker-compose.yml 文件, 替换为: version: "2" services: eosiod: image: eosio/eos command: /opt/eosio/bin/start_eosiod.sh ports: - 8888:8888 - 9876:9876 expose: - "8888" volumes: - eosiod-data-volume:/opt/eosio/bin/data-dir - ./config.ini:/opt/eosio/bin/data-dir/config.ini walletd: image: eosio/eos command: /opt/eosio/bin/eosiowd links: - eosiod volumes: - walletd-data-volume:/opt/eosio/bin/data-dir volumes: eosiod-data-volume: walletd-data-volume: 项目启动与重启 执行 docker-compose up 启动文件 如果想要修改配置文件, 直接编辑当前目录下的 config.ini, 修改完成后, 执行 docker-compose down -v, docker-compose up 即可.