Repository: polygene-java Updated Branches: refs/heads/develop e9cf109c6 -> 5c9cf9aad
Proposal for a new blockchain centric entity-store subsystem. Project: http://git-wip-us.apache.org/repos/asf/polygene-java/repo Commit: http://git-wip-us.apache.org/repos/asf/polygene-java/commit/5c9cf9aa Tree: http://git-wip-us.apache.org/repos/asf/polygene-java/tree/5c9cf9aa Diff: http://git-wip-us.apache.org/repos/asf/polygene-java/diff/5c9cf9aa Branch: refs/heads/develop Commit: 5c9cf9aad660eb45eb14f180f79b07cd2bb246c6 Parents: e9cf109 Author: niclas <[email protected]> Authored: Sat Sep 1 15:44:45 2018 +0800 Committer: niclas <[email protected]> Committed: Sat Sep 1 15:44:45 2018 +0800 ---------------------------------------------------------------------- artwork/blockchain-architecture.png | Bin 0 -> 90311 bytes artwork/blockchain-architecture.svg | 819 +++++++++++++++++++++++++++++++ 2 files changed, 819 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/polygene-java/blob/5c9cf9aa/artwork/blockchain-architecture.png ---------------------------------------------------------------------- diff --git a/artwork/blockchain-architecture.png b/artwork/blockchain-architecture.png new file mode 100644 index 0000000..bf330fd Binary files /dev/null and b/artwork/blockchain-architecture.png differ http://git-wip-us.apache.org/repos/asf/polygene-java/blob/5c9cf9aa/artwork/blockchain-architecture.svg ---------------------------------------------------------------------- diff --git a/artwork/blockchain-architecture.svg b/artwork/blockchain-architecture.svg new file mode 100644 index 0000000..f12b79e --- /dev/null +++ b/artwork/blockchain-architecture.svg @@ -0,0 +1,819 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="312.5412mm" + height="240.99234mm" + viewBox="0 0 312.5412 240.99234" + version="1.1" + id="svg8" + inkscape:version="0.92.3 (2405546, 2018-03-11)" + sodipodi:docname="blockchain-architecture.svg" + inkscape:export-filename="/home/niclas/dev/polygene/java/artwork/blockchain-architecture.png" + inkscape:export-xdpi="55.950001" + inkscape:export-ydpi="55.950001"> + <defs + id="defs2"> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1262" + style="fill:#004d83;fill-opacity:0.96078431;fill-rule:evenodd;stroke:#004d83;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:0.96078431" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="marker6623" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path6621" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow1Mend" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1244" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Lend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Lend" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1256" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mstart" + orient="auto" + refY="0" + refX="0" + id="marker5297" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path5295" + style="fill:#004d83;fill-opacity:0.96078431;fill-rule:evenodd;stroke:#004d83;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:0.96078431" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker4931" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Mstart" + inkscape:collect="always"> + <path + transform="scale(0.6)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:#004d83;fill-opacity:0.96078431;fill-rule:evenodd;stroke:#004d83;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:0.96078431" + id="path4929" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mstart" + orient="auto" + refY="0" + refX="0" + id="marker4367" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path4365" + style="fill:#004d83;fill-opacity:0.96078431;fill-rule:evenodd;stroke:#004d83;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:0.96078431" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker3689" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Mstart"> + <path + transform="scale(0.6)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:#004d83;fill-opacity:0.96078431;fill-rule:evenodd;stroke:#004d83;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:0.96078431" + id="path3687" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mstart" + orient="auto" + refY="0" + refX="0" + id="marker2223" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path2221" + style="fill:#004d83;fill-opacity:0.96078431;fill-rule:evenodd;stroke:#004d83;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:0.96078431" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker1581" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Mstart" + inkscape:collect="always"> + <path + transform="scale(0.6)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:#004d83;fill-opacity:0.96078431;fill-rule:evenodd;stroke:#004d83;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:0.96078431" + id="path1579" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mstart" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mstart" + style="overflow:visible" + inkscape:isstock="true" + inkscape:collect="always"> + <path + id="path1259" + style="fill:#004d83;fill-opacity:0.96078431;fill-rule:evenodd;stroke:#004d83;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:0.96078431" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(0.6)" + inkscape:connector-curvature="0" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="1" + inkscape:cx="691.7754" + inkscape:cy="404.2937" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1920" + inkscape:window-height="1015" + inkscape:window-x="1920" + inkscape:window-y="0" + inkscape:window-maximized="1" + fit-margin-top="11" + fit-margin-left="11" + fit-margin-right="11" + fit-margin-bottom="11" /> + <metadata + id="metadata5"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(5.7260078,-83.734316)"> + <g + id="g7094"> + <g + id="g7024"> + <rect + y="153.30725" + x="219.87233" + height="14.724322" + width="54.610504" + id="rect938" + style="opacity:1;fill:#ffe4b7;fill-opacity:0.96078431;stroke:#774b00;stroke-width:0.7;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.96078431" /> + <text + id="text942" + y="169.12054" + x="214.56691" + style="font-style:normal;font-weight:normal;font-size:8.88548279px;line-height:5.55342627px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.22213705" + xml:space="preserve" + transform="scale(1.0373426,0.96400168)"><tspan + style="stroke-width:0.22213705" + y="169.12054" + x="214.56691" + id="tspan940" + sodipodi:role="line">Cache Imp</tspan></text> + </g> + <g + id="g7029"> + <rect + style="opacity:1;fill:#b7ffbf;fill-opacity:0.96078431;stroke:#00770e;stroke-width:0.69999999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.96078431" + id="rect927" + width="54.609222" + height="12.939759" + x="219.87361" + y="140.36748" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:8.88548279px;line-height:5.55342627px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.22213705" + x="216.40927" + y="155.63318" + id="text931" + transform="scale(1.0373426,0.96400168)"><tspan + sodipodi:role="line" + id="tspan929" + x="216.40927" + y="155.63318" + style="stroke-width:0.22213705">Cache SPI</tspan></text> + </g> + </g> + <g + id="g7044"> + <rect + y="125.735" + x="5.7343631" + height="14.631298" + width="268.74716" + id="rect916" + style="opacity:1;fill:#ffe4b7;fill-opacity:0.96078431;stroke:#774b00;stroke-width:0.7;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.96078431" /> + <text + transform="scale(1.0373426,0.96400168)" + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:8.88548279px;line-height:5.55342627px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.22213705" + x="100.03648" + y="140.47043" + id="text920"><tspan + sodipodi:role="line" + x="100.03648" + y="140.47043" + style="stroke-width:0.22213705" + id="tspan918">UnitOfWorkImpl</tspan></text> + </g> + <rect + y="153.39786" + x="5.7005534" + height="14.633711" + width="214.17178" + id="rect821" + style="opacity:1;fill:#ffe4b7;fill-opacity:0.96078431;stroke:#774b00;stroke-width:0.69999999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.96078431" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:8.88548279px;line-height:5.55342627px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.22213705" + x="56.90591" + y="169.16753" + id="text847" + transform="scale(1.0373426,0.96400168)"><tspan + sodipodi:role="line" + x="56.90591" + y="169.16753" + style="stroke-width:0.22213705" + id="tspan851">Blockchain Entity Store</tspan></text> + <rect + style="opacity:1;fill:#a16400;fill-opacity:0.96078432;stroke:#774b00;stroke-width:0.69999999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.96078431" + id="rect3673" + width="62.441643" + height="14.029976" + x="79.458122" + y="181.38333" /> + <text + transform="scale(1.0373426,0.96400168)" + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:8.88548279px;line-height:5.55342627px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.08395731;stroke-miterlimit:4;stroke-dasharray:none" + x="90.166733" + y="198.66805" + id="text3677"><tspan + sodipodi:role="line" + id="tspan3675" + x="90.166733" + y="198.66805" + style="stroke-width:0.08395731;stroke-miterlimit:4;stroke-dasharray:none">IPFS ES</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:6.61458302px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="55.388588" + y="92.850609" + id="text830"><tspan + sodipodi:role="line" + id="tspan828" + x="55.388588" + y="98.907089" + style="stroke-width:0.26458332" /></text> + <text + id="text948" + y="114.88031" + x="274.17941" + style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:6.61458302px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + xml:space="preserve"><tspan + style="stroke-width:0.26458332" + y="120.93679" + x="274.17941" + id="tspan946" + sodipodi:role="line" /></text> + <g + id="g7049"> + <rect + style="opacity:1;fill:#b7ffbf;fill-opacity:0.96078431;stroke:#00770e;stroke-width:0.7;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.96078431" + id="rect900" + width="202.73747" + height="12.918797" + x="71.719803" + y="112.80455" /> + <text + transform="scale(1.0373426,0.9640017)" + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:8.88548279px;line-height:5.55342627px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.22213705" + x="133.10106" + y="127.03011" + id="text904"><tspan + sodipodi:role="line" + id="tspan902" + x="133.10106" + y="127.03011" + style="stroke-width:0.22213705">UnitOfWork API</tspan></text> + </g> + <g + id="g7039"> + <rect + y="140.45123" + x="5.7540669" + height="12.893109" + width="213.83664" + id="rect815" + style="opacity:1;fill:#b7ffbf;fill-opacity:0.96078431;stroke:#00770e;stroke-width:0.7;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.96078431" /> + <text + transform="scale(1.0373426,0.96400168)" + id="text819" + y="154.83464" + x="75.660255" + style="font-style:normal;font-weight:normal;font-size:8.88548279px;line-height:5.55342627px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.22213705" + xml:space="preserve"><tspan + style="stroke-width:0.22213705" + y="154.83464" + x="75.660255" + id="tspan817" + sodipodi:role="line">EntityStore SPI</tspan></text> + </g> + <rect + y="181.38333" + x="141.89977" + height="14.029976" + width="77.979988" + id="rect1021" + style="opacity:1;fill:#a16400;fill-opacity:0.96078432;stroke:#774b00;stroke-width:0.69999999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.96078431" /> + <text + transform="scale(1.0349316,0.96624743)" + id="text1025" + y="198.28441" + x="148.05325" + style="font-style:normal;font-weight:normal;font-size:8.86538506px;line-height:5.5408659px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.22163463" + xml:space="preserve"><tspan + style="stroke-width:0.22163463" + y="198.28441" + x="148.05325" + id="tspan1023" + sodipodi:role="line">User Impl**</tspan></text> + <rect + style="opacity:1;fill:#a16700;fill-opacity:0.96078432;stroke:#774b00;stroke-width:0.69999999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.96078431" + id="rect869" + width="73.786118" + height="14.029976" + x="5.7013316" + y="181.38321" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:8.86538506px;line-height:5.5408659px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.22163463" + x="14.357351" + y="198.28429" + id="text873" + transform="scale(1.0349316,0.96624743)"><tspan + sodipodi:role="line" + id="tspan871" + x="14.357351" + y="198.28429" + style="stroke-width:0.22163463">EOS Impl***</tspan></text> + <rect + y="168.03156" + x="5.7014647" + height="13.361889" + width="73.786598" + id="rect859" + style="opacity:1;fill:#00a110;fill-opacity:0.96078432;stroke:#00770e;stroke-width:0.69999999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.96078431" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:8.88548279px;line-height:5.55342627px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.22213705" + x="8.7734537" + y="184.54926" + id="text863" + transform="scale(1.0373426,0.96400169)"><tspan + sodipodi:role="line" + id="tspan861" + x="8.7734537" + y="184.54926" + style="stroke-width:0.22213705">Blockchain SPI</tspan></text> + <g + id="g7054"> + <rect + style="opacity:1;fill:#b7ffbf;fill-opacity:0.96078431;stroke:#00770e;stroke-width:0.7;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.96078431" + id="rect1005" + width="66.006752" + height="12.985217" + x="5.669301" + y="112.77879" /> + <text + transform="scale(1.0383277,0.96308704)" + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:8.88371468px;line-height:5.55232191px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.22209287" + x="15.378551" + y="127.15469" + id="text1009"><tspan + sodipodi:role="line" + id="tspan1007" + x="15.378551" + y="127.15469" + style="stroke-width:0.22209287">Usecase</tspan></text> + </g> + <rect + style="opacity:1;fill:#00a112;fill-opacity:0.96078432;stroke:#00770e;stroke-width:0.69999999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.96078431" + id="rect832" + width="77.979988" + height="13.351756" + x="141.89977" + y="168.03157" /> + <text + id="text836" + y="184.58159" + x="137.22231" + style="font-style:normal;font-weight:normal;font-size:8.88548279px;line-height:5.55342627px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.08395731;stroke-miterlimit:4;stroke-dasharray:none" + xml:space="preserve" + transform="scale(1.0373426,0.96400168)"><tspan + style="stroke-width:0.08395731;stroke-miterlimit:4;stroke-dasharray:none" + y="184.58159" + x="137.22231" + id="tspan834" + sodipodi:role="line">MessageSink SPI</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:12.69999981px;line-height:6.61458302px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="35.514648" + y="104.38334" + id="text1195"><tspan + sodipodi:role="line" + x="35.514648" + y="104.38334" + style="stroke-width:0.26458332" + id="tspan1197">Blockchain EntityStore Architecture</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:5.64444447px;line-height:6.61458302px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="12.964583" + y="210.48125" + id="text1206"><tspan + sodipodi:role="line" + id="tspan1204" + x="12.964583" + y="215.25478" + style="font-size:5.64444447px;stroke-width:0.26458332"></tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:12.69999981px;line-height:6.61458302px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="17.4625" + y="287.21045" + id="text1210"><tspan + sodipodi:role="line" + id="tspan1208" + x="17.4625" + y="287.21045" + style="font-size:5.64444447px;stroke-width:0.26458332">* Standard entity caching in Polygene</tspan><tspan + sodipodi:role="line" + x="17.4625" + y="295.65784" + style="font-size:5.64444447px;stroke-width:0.26458332" + id="tspan1214">** Business app developer must provide a mechanism to send messages</tspan><tspan + sodipodi:role="line" + x="17.4625" + y="304.10519" + style="font-size:5.64444447px;stroke-width:0.26458332" + id="tspan1216"> to user, to sign and push transaction to the blockchain.</tspan><tspan + sodipodi:role="line" + x="17.4625" + y="312.55258" + style="font-size:5.64444447px;stroke-width:0.26458332" + id="tspan1220">*** EOS is one blockchain suited for storage of information. Suitability vary </tspan><tspan + sodipodi:role="line" + x="17.4625" + y="320.99994" + style="font-size:5.64444447px;stroke-width:0.26458332" + id="tspan7221"> from chain to chain.</tspan></text> + <rect + style="opacity:1;fill:#b7e1ff;fill-opacity:0.96078431;stroke:#004d83;stroke-width:0.7;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.96078431" + id="rect1222" + width="97.405632" + height="15.913962" + x="5.5944023" + y="235.46481" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:12.69999981px;line-height:6.61458302px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="13.161743" + y="248.15639" + id="text1226"><tspan + sodipodi:role="line" + id="tspan1224" + x="13.161743" + y="248.15639" + style="stroke-width:0.26458332">EOS Mainnet</tspan></text> + <path + style="fill:none;stroke:#004d83;stroke-width:1.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.96078431;marker-start:url(#Arrow2Mstart)" + d="M 17.702774,213.06672 V 199.57297" + id="path1233" + inkscape:connector-curvature="0" /> + <path + inkscape:connector-curvature="0" + id="path1577" + d="M 52.652083,201.48545 V 214.9792" + style="fill:none;stroke:#004d83;stroke-width:1.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.96078431;marker-start:url(#marker1581)" /> + <g + id="g7119"> + <rect + style="opacity:1;fill:#b7e1ff;fill-opacity:0.96078431;stroke:#004d83;stroke-width:0.7;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.96078431" + id="rect2128" + width="57.528679" + height="15.989104" + x="5.5944023" + y="219.47571" /> + <text + id="text2135" + y="239.44029" + x="13.436713" + style="font-style:normal;font-weight:normal;font-size:8.88548279px;line-height:5.55342627px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.22213705" + xml:space="preserve" + transform="scale(1.0373426,0.96400168)"><tspan + style="stroke-width:0.22213705" + y="239.44029" + x="13.436713" + id="tspan2133" + sodipodi:role="line">API Node</tspan></text> + </g> + <g + id="g7141"> + <rect + y="220.00589" + x="137.18608" + height="45.773663" + width="88.636154" + id="rect2187" + style="opacity:1;fill:#b7e1ff;fill-opacity:0.96078431;stroke:#004d83;stroke-width:0.7;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.96078431" /> + <text + transform="scale(1.0373426,0.96400168)" + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:8.88548279px;line-height:5.55342627px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.22213705" + x="135.14246" + y="238.09317" + id="text2201"><tspan + sodipodi:role="line" + id="tspan2189" + x="135.14246" + y="238.09317" + style="stroke-width:0.22213705">For sign+push via</tspan><tspan + id="tspan2859" + sodipodi:role="line" + x="135.14246" + y="243.64659" + style="stroke-width:0.22213705" /><tspan + id="tspan2857" + sodipodi:role="line" + x="135.14246" + y="249.20003" + style="stroke-width:0.22213705"> - HTTP</tspan><tspan + sodipodi:role="line" + x="135.14246" + y="254.75345" + style="stroke-width:0.22213705" + id="tspan2191" /><tspan + sodipodi:role="line" + x="135.14246" + y="260.30688" + style="stroke-width:0.22213705" + id="tspan2193"> - Queue</tspan><tspan + sodipodi:role="line" + x="135.14246" + y="265.86032" + style="stroke-width:0.22213705" + id="tspan2195" /><tspan + sodipodi:role="line" + x="135.14246" + y="271.41376" + style="stroke-width:0.22213705" + id="tspan2197"> - Smoke Signals</tspan><tspan + sodipodi:role="line" + x="135.14246" + y="276.96716" + style="stroke-width:0.22213705" + id="tspan2199" /></text> + </g> + <flowRoot + xml:space="preserve" + id="flowRoot2893" + style="font-style:normal;font-weight:normal;font-size:48px;line-height:25px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" + transform="matrix(0.26458333,0,0,0.26458333,0,87)"><flowRegion + id="flowRegion2895"><rect + id="rect2897" + width="36" + height="106" + x="317" + y="689.70081" /></flowRegion><flowPara + id="flowPara2899"></flowPara></flowRoot> <g + id="g7129"> + <rect + y="212.42325" + x="93.259789" + height="16.121218" + width="37.55246" + id="rect3597" + style="opacity:1;fill:#b7e1ff;fill-opacity:0.96078431;stroke:#004d83;stroke-width:0.7;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.96078431" /> + <text + transform="scale(1.0373426,0.96400168)" + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:8.88548279px;line-height:5.55342627px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.69999999;stroke-miterlimit:4;stroke-dasharray:none" + x="98.520859" + y="231.95174" + id="text3601"><tspan + sodipodi:role="line" + id="tspan3599" + x="98.520859" + y="231.95174" + style="stroke-width:0.69999999;stroke-miterlimit:4;stroke-dasharray:none">IPFS</tspan></text> + </g> + <rect + y="168.03157" + x="79.458122" + height="13.351756" + width="62.441643" + id="rect3667" + style="opacity:1;fill:#b7ffbf;fill-opacity:0.96078431;stroke:#00770e;stroke-width:0.69999999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.96078431" /> + <text + transform="scale(1.0373426,0.96400168)" + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:8.88548279px;line-height:5.55342627px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.08395731;stroke-miterlimit:4;stroke-dasharray:none" + x="84.15992" + y="184.02121" + id="text3671"><tspan + sodipodi:role="line" + id="tspan3669" + x="84.15992" + y="184.02121" + style="stroke-width:0.08395731;stroke-miterlimit:4;stroke-dasharray:none">ES(kv) SPI</tspan></text> + <path + inkscape:connector-curvature="0" + id="path3685" + d="M 103.69235,209.62711 V 196.13336" + style="fill:none;stroke:#004d83;stroke-width:1.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.96078431;marker-start:url(#marker3689)" /> + <path + style="fill:none;stroke:#004d83;stroke-width:1.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.96078431;marker-start:url(#marker4367)" + d="m 116.15208,198.04584 v 13.49375" + id="path4363" + inkscape:connector-curvature="0" /> + <path + inkscape:connector-curvature="0" + id="path4927" + d="M 178.83402,213.86047 V 200.36672" + style="fill:none;stroke:#004d83;stroke-width:1.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.96078431;marker-start:url(#marker4931)" /> + <path + style="fill:none;stroke:#004d83;stroke-width:1.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.96078431;marker-end:url(#Arrow2Mend)" + d="M 133.35,244.34792 H 107.42083" + id="path6411" + inkscape:connector-curvature="0" /> + <g + id="g7211" + transform="translate(2.6458333,93.927084)"> + <rect + y="179.47041" + x="242.45316" + height="5.8208332" + width="5.5562501" + id="rect7166" + style="opacity:1;fill:#b6ffbe;fill-opacity:0.96078431;stroke:#004d83;stroke-width:0.69999999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.96078431" /> + <rect + style="opacity:1;fill:#00a112;fill-opacity:0.96078431;stroke:#004d83;stroke-width:0.69999999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.96078431" + id="rect7168" + width="5.5562501" + height="5.8208332" + x="242.45316" + y="190.05376" /> + <rect + y="200.6371" + x="242.45316" + height="5.8208332" + width="5.5562501" + id="rect7170" + style="opacity:1;fill:#ffe4b7;fill-opacity:0.96078431;stroke:#774b00;stroke-width:0.69999999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.96078431" /> + <rect + style="opacity:1;fill:#a16400;fill-opacity:0.96078431;stroke:#774b00;stroke-width:0.69999999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.96078431" + id="rect7172" + width="5.5562501" + height="5.8208332" + x="242.45316" + y="211.22044" /> + <text + id="text7182" + y="184.23293" + x="249.86154" + style="font-style:normal;font-weight:normal;font-size:5.64444447px;line-height:6.61458302px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + xml:space="preserve"><tspan + style="stroke-width:0.26458332" + y="184.23293" + x="249.86154" + id="tspan7180" + sodipodi:role="line">Existing API/SPI</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:5.64444447px;line-height:6.61458302px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="249.86154" + y="194.81627" + id="text7186"><tspan + sodipodi:role="line" + id="tspan7184" + x="249.86154" + y="194.81627" + style="stroke-width:0.26458332">New API/SPI</tspan></text> + <text + id="text7190" + y="205.39961" + x="249.86154" + style="font-style:normal;font-weight:normal;font-size:5.64444447px;line-height:6.61458302px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + xml:space="preserve"><tspan + style="stroke-width:0.26458332" + y="205.39961" + x="249.86154" + id="tspan7188" + sodipodi:role="line">Existing Impl</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:5.64444447px;line-height:6.61458302px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="249.86154" + y="215.98296" + id="text7194"><tspan + sodipodi:role="line" + id="tspan7192" + x="249.86154" + y="215.98296" + style="stroke-width:0.26458332">New Impl</tspan></text> + <rect + y="173.64958" + x="237.16148" + height="50.799999" + width="62.177082" + id="rect7196" + style="opacity:1;fill:none;fill-opacity:0.96078431;stroke:#000000;stroke-width:0.69999999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + </g> + </g> +</svg>
