我正在尝试在全新安装的Ubuntu v18上构建和测试以下程序:
https://github.com/hyperledger/sawtooth-marketplace
安装后,当我尝试导航到“ Marketplace-Rest-API”(localhost:8040)时,出现404“找不到资源”错误 和“ Sawtooth-Blockchain-Rest-API”(localhost:8043)
我不确定为什么这些都不起作用。 localhost:8041和localhost:8042上的接口运行良好。其余的API似乎以与这两个API类似的方式导航至其他API,因此我不确定它们为什么会起作用,而其他API不会起作用。
编辑:似乎可以到达端口,因为终端中有响应:
`[2018-11-20 15:16:14 +0000] [10] [INFO] Goin' Fast @ http://market-rest-api:8000
--- Logging error ---
`Traceback (most recent call last):
File "/usr/lib/python3.5/logging/__init__.py", line 982, in emit
stream.write(msg)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 59-63: ordinal not in range(128)
Call stack:
File "/project/sawtooth-marketplace/bin/marketplace-rest-api", line 30, in <module>
main()
File "/project/sawtooth-marketplace/rest_api/api/main.py", line 189, in main
loop.run_forever()
File "/usr/lib/python3.5/asyncio/base_events.py", line 345, in run_forever
self._run_once()
File "/usr/lib/python3.5/asyncio/base_events.py", line 1312, in _run_once
handle._run()
File "/usr/lib/python3.5/asyncio/events.py", line 125, in _run
self._callback(*self._args)
File "/usr/lib/python3.5/asyncio/tasks.py", line 239, in _step
result = coro.send(None)
File "/usr/local/lib/python3.5/dist-packages/sanic/app.py", line 775, in create_server
backlog=backlog, run_async=True)
File "/usr/local/lib/python3.5/dist-packages/sanic/app.py", line 891, in _helper
logger.debug(self.config.LOGO)
Message: '\n \u2584\u2584\u2584\u2584\u2584\n \u2580\u2580\u2580\u2588\u2588\u2588\u2588\u2588\u2588\u2584\u2584\u2584 _______________\n \u2584\u2584\u2584\u2584\u2584 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2584 / \\\n \u2580\u2580\u2580\u2580\u2588\u2588\u2588\u2588\u2588\u258c \u2580\u2590\u2584 \u2580\u2590\u2588 | Gotta go fast! |\n \u2580\u2580\u2588\u2588\u2588\u2588\u2588\u2584\u2584 \u2580\u2588\u2588\u2588\u2588\u2588\u2588\u2584\u2588\u2588 | _________________/\n \u2580\u2584\u2584\u2584\u2584\u2584 \u2580\u2580\u2588\u2584\u2580\u2588\u2550\u2550\u2550\u2550\u2588\u2580 |/\n \u2580\u2580\u2580\u2584 \u2580\u2580\u2588\u2588\u2588 \u2580 \u2584\u2584\n \u2584\u2588\u2588\u2588\u2580\u2580\u2588\u2588\u2584\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2584 \u2584\u2580\u2580\u2580\u2580\u2580\u2580\u2588\u258c\n \u2588\u2588\u2580\u2584\u2584\u2584\u2588\u2588\u2580\u2584\u2588\u2588\u2588\u2580 \u2580\u2580\u2588\u2588\u2588\u2588 \u2584\u2588\u2588\n\u2584\u2580\u2580\u2580\u2584\u2588\u2588\u2584\u2580\u2580\u258c\u2588\u2588\u2588\u2588\u2592\u2592\u2592\u2592\u2592\u2592\u2588\u2588\u2588 \u258c\u2584\u2584\u2580\n\u258c \u2590\u2580\u2588\u2588\u2588\u2588\u2590\u2588\u2588\u2588\u2592\u2592\u2592\u2592\u2592\u2590\u2588\u2588\u258c\n\u2580\u2584\u2584\u2584\u2584\u2580 \u2580\u2580\u2588\u2588\u2588\u2588\u2592\u2592\u2592\u2592\u2584\u2588\u2588\u2580\n \u2580\u2580\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2580\n \u2584\u2584\u2588\u2588\u2580\u2588\u2588\u2588\u2588\u2588\u2588\u2580\u2588\n \u2584\u2588\u2588\u2580 \u2580\u2580\u2580 \u2588\n \u2584\u2588 \u2590\u258c\n \u2584\u2584\u2584\u2584\u2588\u258c \u2580\u2588\u2584\u2584\u2584\u2584\u2580\u2580\u2584\n\u258c \u2590 \u2580\u2580\u2584\u2584\u2584\u2580\n \u2580\u2580\u2584\u2584\u2580\n'
`
任何帮助将不胜感激!
答案 0 :(得分:0)
看来,REST API根本对您不起作用。
端口8042(thinkdb管理员)和8041(Sawbuck Web应用程序)与REST API无关。
我的猜测是sawtooth-rest-api
和market-rest-api
组件尚未启动(如果您使用的是Docker)或尚未启动marketplace-rest-api
和sawtooth-rest-api
命令(守护程序) )(如果您直接在Ubuntu中运行)。这些进程在运行吗?是否可以从网络访问端口(例如,使用telnet localhost 8040
访问Marketplace REST API和使用telnet localhost 8043
访问Sawtooth REST API)