电脑显示erc服务器不用,实操讲解:如何装饰你的ERC721非同质化资产?

属性指南

在提出您的属性时,有几个重要的注意事项!您应该将字符串属性包含为字符串(记住引号),将数字属性包含为浮点数或整数,以便OpenSea可以适当地显示它们。您还应该使用下划线大小写(例如,max_power)这些属性在OpenSea上显示为人类可读的字符串。

2.2 部署PYTHON的HTTP服务器用于输出metaDATA信息

2.2.1 安装PYTHON

辉哥登录到 12.124.104.209 测试服务器,上传工程文件到以下目录:

/home/wwwroot/workspace/blocktest/opensea-creatures

(1)切换到NPM V8.11.4 ,安装Python3

nvm use v8.11.4

或者重新安装NPM V8.11.4版本。

(2) 完成python3的安装

参考《【实践】如何在Ubuntu系统安装python3.6》完成python3的安装。

2.2.2 安装配套软件sudo apt install python3-pip

pip3 install flask

【成功输出结果】

[root@iZ23prr3ucfZ metadata-api]# pip3 install flask

Collecting flask

Downloading https://files.pythonhosted.org/packages/7f/e7/08578774ed4536d3242b14dacb4696386634607af824ea997202cd0edb4b/Flask-1.0.2-py2.py3-none-any.whl (91kB)

100% |?..?..?..?..?..?..?..?..?..?..?..?..?..?..?..?..| 92kB 271kB/s

Collecting Werkzeug>=0.14 (from flask)

Downloading https://files.pythonhosted.org/packages/20/c4/12e3e56473e52375aa29c4764e70d1b8f3efa6682bef8d0aae04fe335243/Werkzeug-0.14.1-py2.py3-none-any.whl (322kB)

100% |?..?..?..?..?..?..?..?..?..?..?..?..?..?..?..?..| 327kB 548kB/s

Collecting click>=5.1 (from flask)

Downloading https://files.pythonhosted.org/packages/fa/37/45185cb5abbc30d7257104c434fe0b07e5a195a6847506c074527aa599ec/Click-7.0-py2.py3-none-any.whl (81kB)

100% |?..?..?..?..?..?..?..?..?..?..?..?..?..?..?..?..| 81kB 5.4MB/s

Collecting Jinja2>=2.10 (from flask)

Downloading https://files.pythonhosted.org/packages/7f/ff/ae64bacdfc95f27a016a7bed8e8686763ba4d277a78ca76f32659220a731/Jinja2-2.10-py2.py3-none-any.whl (126kB)

100% |?..?..?..?..?..?..?..?..?..?..?..?..?..?..?..?..| 133kB 561kB/s

Collecting itsdangerous>=0.24 (from flask)

Downloading https://files.pythonhosted.org/packages/76/ae/44b03b253d6fade317f32c24d100b3b35c2239807046a4c953c7b89fa49e/itsdangerous-1.1.0-py2.py3-none-any.whl

Collecting MarkupSafe>=0.23 (from Jinja2>=2.10->flask)

Downloading https://files.pythonhosted.org/packages/08/04/f2191b50fb7f0712f03f064b71d8b4605190f2178ba02e975a87f7b89a0d/MarkupSafe-1.1.0-cp36-cp36m-manylinux1_x86_64.whl

Installing collected packages: Werkzeug, click, MarkupSafe, Jinja2, itsdangerous, flask

Successfully installed Jinja2-2.10 MarkupSafe-1.1.0 Werkzeug-0.14.1 click-7.0 flask-1.0.2 itsdangerous-1.1.0

You are using pip version 9.0.1, however version 19.0.1 is available.

You should consider upgrading via the 'pip install --upgrade pip' command.

pip3 install Pillow

【成功结果输出】

[root@iZ23prr3ucfZ metadata-api]# pip3 install Pillow

Collecting Pillow

Downloading https://files.pythonhosted.org/packages/85/5e/e91792f198bbc5a0d7d3055ad552bc4062942d27eaf75c3e2783cf64eae5/Pillow-5.4.1-cp36-cp36m-manylinux1_x86_64.whl (2.0MB)

100% |?..?..?..?..?..?..?..?..?..?..?..?..?..?..?..?..| 2.0MB 245kB/s

Installing collected packages: Pillow

Successfully installed Pillow-5.4.1

You are using pip version 9.0.1, however version 19.0.1 is available.

You should consider upgrading via the 'pip install --upgrade pip' command.

原来的APP.py还要安装以下插件,辉哥考虑到国内用户无GOOGLE相关服务,评估了相关代码。以下插件也就不要安装了。

pip3 install protobuf

pip3 install --upgrade google.cloud

pip3 install google-cloud-pubsub

pip3 install --upgrade google-cloud-storage

2.2.3 运行PYTHON HTTP服务

python3 app.py

【成功输出结果】

* Detected change in '/home/wwwroot/workspace/blocktest/opensea-creatures/metadata-api/app.py', reloading

* Restarting with stat

* Debugger is active!

* Debugger PIN: 786-196-151

^C[root@iZ23prr3ucfZ metadata-api]# python3 app.py

* Serving Flask app "app" (lazy loading)

* Environment: production

WARNING: Do not use the development server in a production environment.

Use a production WSGI server instead.

* Debug mode: on

* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)

* Restarting with stat

* Debugger is active!

* Debugger PIN: 786-196-151

【常见问题1】python flask无法通过浏览器访问公网ip

用PYTHON3部署的HTTP服务,第一次只能本地访问,输出关键信息如下

Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

如果要更改IP为外部IP,修改app.py的代码为如下:

app.run(host='0.0.0.0',port=5000,debug=True, use_reloader=True)

只要用户开启服务的情况下,就可以外部IP访问了:

http://112.124.104.209:5000/api/creature/3

如果无法访问,应该是辉哥关闭该HTTP服务了。

【常见问题2】云服务器 ECS Linux SSH 客户端断开后保持进程继续运行配置方法

使用 nohup 执行可保持允许运行。

nohup 的作用顾名思义,它使得后面的命令不会响应挂断(SIGHUP)信号。也就是说,通过远程登录执行 nohup 后,即使退出登录后,程序还是会正常执行。通常情况下,nohup 命令最后会跟上 & 字符,表示将这个命令放至后台执行,这样才能真正做到将这个命令放至后台持续的执行。nohup python3 app.py &

在命令头尾分别加上 nohup 和 &,变为nohup python3 app.py &,可以看到 nohup 输出了一行信息,再按一下回车键就跳回了 shell 命令行,此时命令已经在后台执行了,nohup 将命令的输出重定向至当前目录的 nohup.out 文件中。同时注意到 nohup 会将对应程序的 PID 输出,PID 可用于需要中断进程时 kill 进程。

[root@iZ23prr3ucfZ metadata-api]# nohup python3 app.py &

[1] 28202

[root@iZ23prr3ucfZ metadata-api]# nohup: ignoring input and appending output to `nohup.out'

可以查看到28202进程在退出后还存在。

[root@iZ23prr3ucfZ metadata-api]# ps -ef|grep python3

root 28202 14798 0 20:24 pts/0 00:00:00 python3 app.py

root 28204 28202 1 20:24 pts/0 00:00:02 /usr/bin/python3 app.py

root 29415 14798 0 20:28 pts/0 00:00:00 grep python3

2.3 装饰ERC721非同质化资产

2.3.1 修改智能合约的metaDATA的服务器URI地址

文件名称: Creature.sol:contract Creature is TradeableERC721Token {

constructor(address _proxyRegistryAddress) TradeableERC721Token("Wild Wolf Team", "WOLF", _proxyRegistryAddress) public { }

function baseTokenURI() public view returns (string) {

/* return "https://opensea-creatures-api.herokuapp.com/api/creature/";*/

return "http://112.124.104.209:5000/api/creature/";

}

}

2.3.2 部署合约

参考《第三十三课 如何创建自己的ERC721非同质化资产生物商店?》完成合约部署。

获得智能合约的地址:0x2f4acf4e627b4c9dbf1a967a4b23be2874032a73

点击mintTo函数,发布5个 ERC721 TOKEN。

电脑显示erc服务器不用,实操讲解:如何装饰你的ERC721非同质化资产?_第1张图片

2.3.3 创建商店

点击进入 https://rinkeby.opensea.io/get-listed/step-two网址,输入该ERC721的智能合约地址:0x2f4acf4e627b4c9dbf1a967a4b23be2874032a73

就可以发布野狼队队徽商铺了。

可点击查看:

你可能感兴趣的:(电脑显示erc服务器不用)