php实现ETH原生签名交易sendRowTransaction

1.安装GMP 之前需要先安装m4 (不然会出错)

m4可以通过命名自动安装:

apt-get install m4

2.然后ubuntu安装gmp:

gmp官网:https://gmplib.org/

6.2版本下载链接:https://gmplib.org/download/gmp/gmp-6.2.0.tar.lz

wget https://gmplib.org/download/gmp/gmp-6.2.0.tar.lz

apt-get install lzip
lzip -d gmp-6.2.0.tar.lz
tar -xvf gmp-6.2.0.tar
cd gmp-6.2.0

./configure --enable-cxx 

make 
make install

3.然后安装PHP gmp扩展:

cd /soft/php-7.1.21/ext/gmp
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-gmp

make && make install

php.ini添加extension = gmp.so

4.安装scrypt 扩展

scrypt扩展文件下载地址:http://pecl.php.net/package/scrypt

wget http://pecl.php.net/get/scrypt-1.4.2.tgz

tar -zxvf scrypt-1.4.2.tgz

cd scrypt-1.4.2/

/usr/local/php/bin/phpize

./configure --enable-scrypt --with-php-config=/usr/local/php/bin/php-config

make && make install

php.ini加入扩展

extension = scrypt.so

为了解决PHP跨目录读取keystore中的root文件出现的权限问题,决定曲线救国,在系统中把www切换为root用户时跳过密码输入

1.切换到root用户下

sudo su

2.添加sudo文件的写权限

chmod u+w /etc/sudoers

3.编辑sudoers文件

vi /etc/sudoers

找到这行 root ALL=(ALL) ALL,在他下面添加 xxx ALL=(ALL) ALL (这里的xxx是你的用户名)

ps:这里说下你可以sudoers添加下面四行中任意一条

youuser            ALL=(ALL)                ALL
%youuser           ALL=(ALL)                ALL
youuser            ALL=(ALL)                NOPASSWD: ALL
%youuser           ALL=(ALL)                NOPASSWD: ALL
  • 第一行:允许用户youuser执行sudo命令(需要输入密码).
  • 第二行:允许用户组youuser里面的用户执行sudo命令(需要输入密码).
  • 第三行:允许用户youuser执行sudo命令,并且在执行的时候不输入密码.
  • 第四行:允许用户组youuser里面的用户执行sudo命令,并且在执行的时候不输入密码.

4.撤销sudoers文件写权限,命令:

chmod u-w /etc/sudoers

这样www用户就可以使用sudo了

sudo cat xxx

参考文章链接:

优先参考文章:

http://mash.imkxa.com/eth-account

https://www.li6.cc/article/read/250

使用到的nebulasio对应的github代码地址:

https://github.com/nebulasio/neb.php

https://github.com/gaodongyuan/php/tree/acc7f9341301fadbf3cd7a9267a5fecfd107a39a/php%E4%B8%8E%E4%BB%A5%E5%A4%AA%E5%9D%8A/repo

https://github.com/zhuzhen520/yueling/blob/ddd665d7c08895da09439f50ade5cc0957b60579/application/helps/Eth.php

PHP实现ETH离线生成地址、发起签名交易、冷钱包实现方案

https://blog.csdn.net/u012841825/article/details/88787981

PHP通过keystore文件得到私钥的方案(ETHTool)

https://github.com/uguopai/ethtool/blob/master/demo.php

PHP开发ETH钱包、助记词创建、助记词导入、钱包签名发起交易

https://sbing.vip/archives/eth-wallets.html

具体实现未完待续。。。

猜你喜欢

转载自blog.csdn.net/qq_36228377/article/details/123153965
今日推荐