bdcontract-web-ide/doc/InstallTips.html

406 lines
17 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html class="writer-html5" lang="zh-CN" >
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>BDContract安装说明 &mdash; 北大数瑞大数据区块链 V1.0 文档</title>
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="shortcut icon" href="_static/favicon.ico"/>
<!--[if lt IE 9]>
<script src="_static/js/html5shiv.min.js"></script>
<![endif]-->
<script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/translations.js"></script>
<script type="text/javascript" src="_static/js/theme.js"></script>
<link rel="index" title="索引" href="genindex.html" />
<link rel="search" title="搜索" href="search.html" />
<link rel="next" title="BDContract管理界面" href="IDEUsage.html" />
<link rel="prev" title="BDContract介绍" href="Introduction.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="index.html">
<img src="_static/logo.png" class="logo" alt="Logo"/>
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="在文档中搜索" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<p class="caption"><span class="caption-text">目录</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="Introduction.html">BDContract介绍</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">BDContract安装说明</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#id1">依赖环境的安装</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id2">网络拓扑说明</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id3">智能合约节点安装</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id4">路由准入节点安装</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id5">文件说明</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id6">智能合约节点</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id7">路由准入节点</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#id8">升级流程</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id9">合约节点</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id10">路由准入节点</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#id12">使用说明</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id13">通过参考界面使用</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#bdware-onlineide">BDWare OnlineIDE</a></li>
<li class="toctree-l4"><a class="reference internal" href="#bdware-nodeportal">BDWare NodePortal</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#sdk">通过SDK使用</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#id14">基础知识</a></li>
<li class="toctree-l4"><a class="reference internal" href="#id15">SDK下载</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="IDEUsage.html">BDContract管理界面</a></li>
<li class="toctree-l1"><a class="reference internal" href="ContractAPI.html">BDContract SDK</a></li>
<li class="toctree-l1"><a class="reference internal" href="YJSInDepth.html">YJS语法</a></li>
<li class="toctree-l1"><a class="reference internal" href="YJSAPI.html">YJS SDK</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">北大数瑞大数据区块链</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html" class="icon icon-home"></a> &raquo;</li>
<li>BDContract安装说明</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/InstallTips.rst.txt" rel="nofollow"> 查看页面源码</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="bdcontract">
<h1>BDContract安装说明<a class="headerlink" href="#bdcontract" title="永久链接至标题"></a></h1>
<hr class="docutils" />
<div class="section" id="id1">
<h2>依赖环境的安装<a class="headerlink" href="#id1" title="永久链接至标题"></a></h2>
<p>1.安装Java1.8环境。</p>
<p>例如在Ubuntu下使用apt-get进行安装</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>apt-get install openjdk-8-jre
</pre></div>
</div>
<p>在Centos环境下使用yum进行安装</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>yum install java-1.8.0-openjdk
</pre></div>
</div>
<p>如果是离线环境可先下载openjdk的安装包后进行离线安装。</p>
<p>Ubuntu下</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>dpkg -i jdk-8uxxxxx.deb
</pre></div>
</div>
<p>在Centos环境下使用yum进行离线安装</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>yum localinstall jdk-8u271-linux-xxx.rpm
</pre></div>
</div>
<p>2.安装wget与unzip。 例如在Ubuntu下使用apt-get进行安装</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>apt-get install unzip
apt-get install wget
</pre></div>
</div>
</div>
<hr class="docutils" />
<div class="section" id="id2">
<h2>网络拓扑说明<a class="headerlink" href="#id2" title="永久链接至标题"></a></h2>
<p>部署数瑞智能合约引擎最小仅需一个节点,此时可用作调试、测试,不能通过多节点模式来实现可信的计算。
单节点部署时,可通过配置账本实现“防抵赖”的计算,但不能实现“难篡改”的计算。</p>
<p>多节点部署时可参考下图,包含三种逻辑节点,同一虚拟机可安装一至三种节点。</p>
<p>1账本节点。即数瑞图式账本。</p>
<p>2合约节点。运行代码逻辑并通过内存缓存实现高响应的模块。与其他合约节点组成可信计算网络。</p>
<p>3路由节点。各个合约节点的路由信息。一般单个路由节点可支持最高1000合约节点。可视情况部署多个路由节点并在路由节点之间配置实现更大规模的节点组网。</p>
<p>一般地,同一虚拟机下,会部署<strong>合约节点与账本节点</strong></p>
<div class="figure align-default" id="id16">
<img alt="deploytopology" src="_images/deploytopology.png" />
<p class="caption"><span class="caption-text">deploytopology</span><a class="headerlink" href="#id16" title="永久链接至图片"></a></p>
</div>
</div>
<hr class="docutils" />
<div class="section" id="id3">
<h2>智能合约节点安装<a class="headerlink" href="#id3" title="永久链接至标题"></a></h2>
<p>打开<a class="reference external" href="https://public.internetapi.cn/?dir=releases/bdcontract/newest">安装包下载链接</a>
其中,下载<code class="docutils literal notranslate"><span class="pre">bdserver-lite.zip</span></code><code class="docutils literal notranslate"><span class="pre">bdserver.zip</span></code>,其中,<code class="docutils literal notranslate"><span class="pre">bdserver.zip</span></code>包含更多示例和文档。
下载之后解压并启动。</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>unzip -d ./bdserver bdserver-lite.zip
<span class="nb">cd</span> bdserver
chmod +x *.sh
sh cmstart.sh
</pre></div>
</div>
</div>
<hr class="docutils" />
<div class="section" id="id4">
<h2>路由准入节点安装<a class="headerlink" href="#id4" title="永久链接至标题"></a></h2>
<p>打开<a class="reference external" href="https://public.internetapi.cn/?dir=releases/bdcontract/newest">安装包下载链接</a>
其中,下载<code class="docutils literal notranslate"><span class="pre">bdserver-cluster.zip</span></code>。 下载之后解压并启动。</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>unzip -d ./bdcluster bdserver-cluster.zip
<span class="nb">cd</span> bdcluster
chmod +x *.sh
sh ncstart.sh
</pre></div>
</div>
</div>
<hr class="docutils" />
<div class="section" id="id5">
<h2>文件说明<a class="headerlink" href="#id5" title="永久链接至标题"></a></h2>
<div class="section" id="id6">
<h3>智能合约节点<a class="headerlink" href="#id6" title="永久链接至标题"></a></h3>
<div class="figure align-default" id="id17">
<img alt="bdserver目录" src="_images/dirstructure.png" />
<p class="caption"><span class="caption-text">bdserver目录</span><a class="headerlink" href="#id17" title="永久链接至图片"></a></p>
</div>
<p>该目录下的文件说明:</p>
<p>1.cmstart.sh
该脚本用于启动合约引擎。合约引擎默认监听8080端口可通过修改cmstart.sh来修改合约引擎的监听端口。</p>
<p>2.BDWareProjectDir 该目录存放了本节点的所有合约项目。</p>
<p>3.WebContent 该目录存放了本节点的前端代码。</p>
<p>4.cp, 该目录存放了yjs.jar为启动合约实例所需的jar。</p>
<p>5.bdserver.jar 对外提供http/websocket的服务器逻辑。</p>
<p>6.updateContract.sh 用于升级的脚本。</p>
</div>
<div class="section" id="id7">
<h3>路由准入节点<a class="headerlink" href="#id7" title="永久链接至标题"></a></h3>
<p>安装脚本会自动下载安装并解压为bdcluster目录。 该目录下的文件说明:</p>
<p>1.ncstart.sh
该脚本用于启动节点准入中心。默认监听1718端口。可通过修改ncstart.sh来修改监听的端口。</p>
<p>2.WebContent 该目录存放了准入中心的前端代码。</p>
<p>3.bdcluster.jar 准入中心的后端。</p>
</div>
</div>
<hr class="docutils" />
<div class="section" id="id8">
<h2>升级流程<a class="headerlink" href="#id8" title="永久链接至标题"></a></h2>
<div class="section" id="id9">
<h3>合约节点<a class="headerlink" href="#id9" title="永久链接至标题"></a></h3>
<p>在命令行中输入:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>sh updateContract.sh
</pre></div>
</div>
<p>亦可通过<a class="reference external" href="https://public.internetapi.cn/?dir=releases/bdcontract">public.internetapi.cn</a>下载最新文件单独升级yjs.zip/bdserver-jar.zip/AgentWebContent来升级。</p>
</div>
<div class="section" id="id10">
<span id="id11"></span><h3>路由准入节点<a class="headerlink" href="#id10" title="永久链接至标题"></a></h3>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>sh updateCluster.sh
</pre></div>
</div>
<p>亦可通过<a class="reference external" href="https://public.internetapi.cn/?dir=releases/bdcontract">public.internetapi.cn</a>下载最新文件单独升级bdserver-cluster.zip/ClusterWebContent.zip来升级。</p>
</div>
</div>
<hr class="docutils" />
<div class="section" id="id12">
<h2>使用说明<a class="headerlink" href="#id12" title="永久链接至标题"></a></h2>
<div class="section" id="id13">
<h3>通过参考界面使用<a class="headerlink" href="#id13" title="永久链接至标题"></a></h3>
<p>当保留了WebContent目录的情况下可使用浏览器进行配置。
更多请使用见左侧文档<a class="reference external" href="./IDEUsage.html">BDContract参考界面使用说明</a></p>
<div class="section" id="bdware-onlineide">
<h4>BDWare OnlineIDE<a class="headerlink" href="#bdware-onlineide" title="永久链接至标题"></a></h4>
<p>打开<a class="reference external" href="../OnlineIDE.html">BDWare OnlineIDE</a></p>
</div>
<div class="section" id="bdware-nodeportal">
<h4>BDWare NodePortal<a class="headerlink" href="#bdware-nodeportal" title="永久链接至标题"></a></h4>
<p>打开<a class="reference external" href="../NodePortal.html">BDWare NodePortal</a></p>
<p>如需组网,使用跨节点功能,则需安装路由准入中心。并按以下步骤进行配置。涉及两组公私钥。
第一组公私钥为合约节点的、有NodeManager权限的公私钥。
第二组公私钥为路由准入节点的、有CenterManager权限的公私钥。</p>
<p>1.打开NodePortal.html复制该节点的NodeManager公私钥。</p>
<p>2.打开CenterPortal.html点击右上角将上述的NodeManager公私钥导入并选择“NodeManager”进行身份认证。</p>
<p>3.在CenterPortal.html中切换CenterManager的公私钥点左侧的“用户管理”通过NodeManager的认证请求。</p>
<p>4.使用NodeManager权限的公私钥打开NodePortal.html点击“节点管理”菜单并配置加入网络。
其中,加入网络的格式为:ws://centerportal的ip:端口+1。 <img alt="配置示例" src="_images/config.png" /></p>
</div>
</div>
<div class="section" id="sdk">
<h3>通过SDK使用<a class="headerlink" href="#sdk" title="永久链接至标题"></a></h3>
<div class="section" id="id14">
<h4>基础知识<a class="headerlink" href="#id14" title="永久链接至标题"></a></h4>
<p><a class="reference external" href="https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API">Websocket</a></p>
<p><a class="reference external" href="https://github.com/JuneAndGreen/sm-crypto">Sm2加密的使用</a></p>
</div>
<div class="section" id="id15">
<h4>SDK下载<a class="headerlink" href="#id15" title="永久链接至标题"></a></h4>
<ol class="arabic simple">
<li><p>Java版本的客户端下载<a class="reference external" href="_static/BDWareJavaClient.zip">BDWareJavaClient</a>。具体使用说明请下载后解压查看README.md并参考<a class="reference external" href="./ContractAPI.html">ContractAPI</a></p></li>
</ol>
<p>2.Javascript版本的客户端下载:<a class="reference external" href="_static/BDWareWebClient.zip">BDWareWebClient</a>。具体使用说明请下载后解压查看README.md并参考<a class="reference external" href="./ContractAPI.html">ContractAPI</a></p>
<p>3.配置工具<a class="reference external" href="_static/BDWareConfigTool.zip">BDWareConfigTool</a>。具体说明请下载后解压,使用以下命令查看帮助:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>java -jar java-client.jar -h
</pre></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="IDEUsage.html" class="btn btn-neutral float-right" title="BDContract管理界面" accesskey="n" rel="next">下一页 <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="Introduction.html" class="btn btn-neutral float-left" title="BDContract介绍" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> 上一页</a>
</div>
<hr/>
<div role="contentinfo">
<p>
&#169; 版权所有 2021, Peking University.
</p>
</div>
利用 <a href="https://www.sphinx-doc.org/">Sphinx</a> 构建,使用了
<a href="https://github.com/readthedocs/sphinx_rtd_theme">主题</a>
<a href="https://readthedocs.org">Read the Docs</a>开发.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>