Eos離線密鑰生成的PHP代碼

雖然EOS的密鑰算法相似於比特幣,但作了一些調整,定義了本身的格式。開發包EosTool包含了EOS離線密鑰生成模塊,能夠不鏈接任何節點實現離線生成EOS密鑰。本文將給出EOS離線密鑰生成的PHP代碼示例。php

若是要學習EOS應用開發,能夠訪問這個 【EOS智能合約與DApp開發教程】,教程內容涵蓋EOS工具鏈、帳戶與錢包、代幣發行、智能合約開發、部署與交互等核心知識點,最後綜合運用各知識點完成一個便籤DApp的開發。算法

使用PrivateKey類的靜態方法new()生成隨機私鑰。例如:工具

use EosTool\Crypto\PrivateKey;

$prv = PrivateKey::new();
echo $prv->toEos() . PHP_EOL; //相似:5Hu6nxM6s6UQ3nYkr1s1GKA17zPqpceUuWxH3JBwK8ZorMSRqGi

toEos()方法用來將私鑰對象轉換爲EOS的自定義格式。學習

從私鑰能夠推導出公鑰,例如:code

$pub = $prv->getPublicKey();
echo $pub->toEos() . PHP_EOL; //相似:EOS6wQ6t3n148GfzLzgxq7cC8ARDKxeaB3hQXdXn7oZYdwEyAXiSv

一樣,使用公鑰對象的toEos()方法將公鑰轉換爲EOS的自定義格式。對象

能夠將一個EOS格式的私鑰轉化爲EosTool的PrivateKey對象,例如,下面的代碼將指定的EOS私鑰導入,並顯示其對應的EOS公鑰:教程

$prv = PrivateKey::fromEos('5Hu6nxM6s6UQ3nYkr1s1GKA17zPqpceUuWxH3JBwK8ZorMSRqGi');
echo $prv->getPublicKey()->toEos() . PHP_EOL;

PrivateKey的sign()方法支持普通簽名和EOS節點要求的權威簽名。例以下面的代碼返回一個 普通簽名:開發

$hex = '1234567890abcdef...';
$signature = $prv->sign($hex);

經過傳入額外的參數true來得到指定數據的權威簽名:部署

$hex = '1234567890abcdef...';
$signature = $prv->sign($hex,true);
相關文章
相關標籤/搜索