You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@polygene.apache.org by ni...@apache.org on 2018/09/01 07:45:59 UTC
polygene-java git commit: Proposal for a new blockchain centric
entity-store subsystem.
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 <ni...@hedhman.org>
Authored: Sat Sep 1 15:44:45 2018 +0800
Committer: niclas <ni...@hedhman.org>
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>