Hyperledger Sawtooth Marketplace Rest API 404错误

时间:2018-11-19 20:53:53

标签: http-status-code-404 hyperledger blockchain ibm-blockchain hyperledger-sawtooth

我正在尝试在全新安装的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'
 `

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

看来,REST API根本对您不起作用。

端口8042(thinkdb管理员)和8041(Sawbuck Web应用程序)与REST API无关。

我的猜测是sawtooth-rest-apimarket-rest-api组件尚未启动(如果您使用的是Docker)或尚未启动marketplace-rest-apisawtooth-rest-api命令(守护程序) )(如果您直接在Ubuntu中运行)。这些进程在运行吗?是否可以从网络访问端口(例如,使用telnet localhost 8040访问Marketplace REST API和使用telnet localhost 8043访问Sawtooth REST API)