From 31ca78533b6c93ec8a2794d0cdbbfc6dfc0e6651 Mon Sep 17 00:00:00 2001 From: Mike Hearn Date: Wed, 2 Dec 2015 09:50:31 +0000 Subject: [PATCH] Docs: regen HTML --- docs/build/html/_sources/index.txt | 13 ++++++-- docs/build/html/_sources/roadmap.txt | 38 +++++++++++++++-------- docs/build/html/index.html | 17 ++++++---- docs/build/html/roadmap.html | 46 +++++++++++++++++----------- docs/build/html/searchindex.js | 2 +- 5 files changed, 76 insertions(+), 40 deletions(-) diff --git a/docs/build/html/_sources/index.txt b/docs/build/html/_sources/index.txt index e3703e6bd6..dd0530246b 100644 --- a/docs/build/html/_sources/index.txt +++ b/docs/build/html/_sources/index.txt @@ -4,8 +4,17 @@ Welcome to the R3 prototyping repository! This documentation describes the first prototype of a possible future R3 shared ledger platform. The goal of this prototype is to explore fundamentally better designs for transactions, states and smart contract APIs -than what presently exists on the market, tailor made for the needs of the financial industry. It does not at this -time include networking, database or user interface code. +than what presently exists on the market, tailor made for the needs of the financial industry. We are attempting to +prove or disprove the following hypothesis: + +*The combination of* + +* *An upgraded state transition model* +* *Industry standard, production quality virtual machines and languages* +* *Limited data propagation* +* *Conflict resolution without proof of work or blocks* + +*is sufficiently powerful to justify the creation of a new platform implementation.* Read on to learn: diff --git a/docs/build/html/_sources/roadmap.txt b/docs/build/html/_sources/roadmap.txt index 421c2651af..9a26720dcb 100644 --- a/docs/build/html/_sources/roadmap.txt +++ b/docs/build/html/_sources/roadmap.txt @@ -2,24 +2,36 @@ Roadmap ======= The canonical place to learn about pending tasks is the `R3 JIRA `_ site. This -page gives some examples of tasks that we wish to explore in future milestones: +page gives some examples of tasks that we wish to explore in future milestones as part of proving (or disproving) +our core thesis -M1 is this release. +Data distribution and management: -Milestone 2 ------------ +* Introduce a pluggable network messaging backend with a mock implementation for testing, and an Apache Kafka based + implementation for bringing up first networking capability. Using Kafka as a message routing/storage layer is not + necessarily the final approach or suitable for P2P WAN messaging, but it should be a good next step for prototyping + and may even be a useful for internal deployments. +* Flesh out the core code enough to have a server that downloads and verifies transactions as they are uploaded to the + cluster. At this stage all transactions are assumed to be public to the network (this will change later). Some basic + logging/JMX/monitoring dashboard should be present to see what the node is doing. +* Experimentation with block-free conflict/double spend resolution using a voting pool of *observers* with lazy consensus. + Logic for rolling back losing transaction subgraphs when a conflict is resolved, reporting these events to observer + APIs and so on. +* Support a pluggable storage layer for recording seen transactions and their validity states. Contracts API: -* Example implementations of more advanced use cases, possibly an interest rate swap. -* Support for lifting transaction sub-graphs out of the global ledger and evolving them privately within a subgroup - of users (helpful for privacy, scalability). -* An improved unit test DSL. +* Upgrades to the composability of contracts: demonstrate how states can require the presence of other states as a way + to mix in things like multi-signature requirements. +* Demonstrate how states can be separated into two parts, the minimum necessary for conflict resolution (e.g. owner keys) + and a separated part that contains data useful for auditing and building confidence in the validity of a transaction + (e.g. amounts). +* Explorations of improved time handling, and how best to express temporal logic in the contract API/DSL. -Platform: +JVM adaptations: -* Storage of states to disk and initial support for network synchronisation (does not have to be the final network - layer: just something good enough to get us to the next stage of prototyping). -* Dynamic loading and first-pass sandboxing of contract code. -* Simple test/admin user interface for performing various kinds of trades. +* Implement a sandbox and packaging system for contract logic. Contracts should be distributable through the network + layer. +* Experiment with modifications to HotSpot to allow for safely killing threads (i.e. fixing the issues that make + Thread.stop() unsafe to use), and to measure and enforce runtime limits to handle runaway code. diff --git a/docs/build/html/index.html b/docs/build/html/index.html index 283551b756..7298a2d96e 100644 --- a/docs/build/html/index.html +++ b/docs/build/html/index.html @@ -134,8 +134,16 @@

Welcome to the R3 prototyping repository!

This documentation describes the first prototype of a possible future R3 shared ledger platform.

The goal of this prototype is to explore fundamentally better designs for transactions, states and smart contract APIs -than what presently exists on the market, tailor made for the needs of the financial industry. It does not at this -time include networking, database or user interface code.

+than what presently exists on the market, tailor made for the needs of the financial industry. We are attempting to +prove or disprove the following hypothesis:

+

The combination of

+ +

is sufficiently powerful to justify the creation of a new platform implementation.

Read on to learn:

-
  • Roadmap -
  • +
  • Roadmap
  • diff --git a/docs/build/html/roadmap.html b/docs/build/html/roadmap.html index ee48f1626a..04deb2aa1b 100644 --- a/docs/build/html/roadmap.html +++ b/docs/build/html/roadmap.html @@ -85,10 +85,7 @@
  • Overview
  • Getting set up
  • Tutorial
  • -
  • Roadmap -
  • +
  • Roadmap
  • @@ -136,25 +133,38 @@

    Roadmap

    The canonical place to learn about pending tasks is the R3 JIRA site. This -page gives some examples of tasks that we wish to explore in future milestones:

    -

    M1 is this release.

    -
    -

    Milestone 2

    +page gives some examples of tasks that we wish to explore in future milestones as part of proving (or disproving) +our core thesis

    +

    Data distribution and management:

    +
      +
    • Introduce a pluggable network messaging backend with a mock implementation for testing, and an Apache Kafka based +implementation for bringing up first networking capability. Using Kafka as a message routing/storage layer is not +necessarily the final approach or suitable for P2P WAN messaging, but it should be a good next step for prototyping +and may even be a useful for internal deployments.
    • +
    • Flesh out the core code enough to have a server that downloads and verifies transactions as they are uploaded to the +cluster. At this stage all transactions are assumed to be public to the network (this will change later). Some basic +logging/JMX/monitoring dashboard should be present to see what the node is doing.
    • +
    • Experimentation with block-free conflict/double spend resolution using a voting pool of observers with lazy consensus. +Logic for rolling back losing transaction subgraphs when a conflict is resolved, reporting these events to observer +APIs and so on.
    • +
    • Support a pluggable storage layer for recording seen transactions and their validity states.
    • +

    Contracts API:

      -
    • Example implementations of more advanced use cases, possibly an interest rate swap.
    • -
    • Support for lifting transaction sub-graphs out of the global ledger and evolving them privately within a subgroup -of users (helpful for privacy, scalability).
    • -
    • An improved unit test DSL.
    • +
    • Upgrades to the composability of contracts: demonstrate how states can require the presence of other states as a way +to mix in things like multi-signature requirements.
    • +
    • Demonstrate how states can be separated into two parts, the minimum necessary for conflict resolution (e.g. owner keys) +and a separated part that contains data useful for auditing and building confidence in the validity of a transaction +(e.g. amounts).
    • +
    • Explorations of improved time handling, and how best to express temporal logic in the contract API/DSL.
    -

    Platform:

    +

    JVM adaptations:

      -
    • Storage of states to disk and initial support for network synchronisation (does not have to be the final network -layer: just something good enough to get us to the next stage of prototyping).
    • -
    • Dynamic loading and first-pass sandboxing of contract code.
    • -
    • Simple test/admin user interface for performing various kinds of trades.
    • +
    • Implement a sandbox and packaging system for contract logic. Contracts should be distributable through the network +layer.
    • +
    • Experiment with modifications to HotSpot to allow for safely killing threads (i.e. fixing the issues that make +Thread.stop() unsafe to use), and to measure and enforce runtime limits to handle runaway code.
    -
    diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js index 0f1e83efc0..0555e88b50 100644 --- a/docs/build/html/searchindex.js +++ b/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({envversion:46,filenames:["getting-set-up","index","inthebox","overview","roadmap","tutorial"],objects:{},objnames:{},objtypes:{},terms:{"8u45":0,"boolean":5,"break":5,"byte":3,"case":[3,4,5],"catch":0,"class":[],"default":[0,5],"final":[4,5],"function":[],"import":[0,3,5],"instanceof":5,"int":5,"long":5,"new":[3,5],"null":5,"public":[2,3,5],"return":5,"short":5,"static":5,"switch":5,"throw":5,"true":5,"try":[3,5],"var":5,"void":5,abil:[3,5],about:[3,4,5],abov:5,accept:[3,5],accident:5,account:3,action:5,actor:5,actual:5,add:5,addarg:5,addinputst:5,addit:5,addoutputst:5,address:[3,5],admin:4,administr:2,advanc:4,affection:5,after:[3,5],again:5,against:5,agre:[0,3],algorithm:[2,3,5],alic:5,alicegetsback:5,all:[0,3,5],allow:[3,5],almost:5,along:[3,5],alreadi:5,also:[0,3,5],alt:5,alter:5,although:[3,5],alwai:[3,5],amount:[2,5],ani:[3,5],annot:5,anoth:5,anyon:5,anyth:[3,5],anywher:5,api:[],appear:[3,5],applic:3,approach:[3,5],arbitrari:[3,5],arbitrarili:3,aren:5,arg:5,argument:[3,5],around:[3,5],arrai:3,articl:3,artifact:5,ask:5,assembl:3,assert:5,asset:[],assist:5,associ:[3,5],assum:5,atom:5,attach:[3,5],attempt:3,audit:3,authenticatedobject:5,author:3,auto:5,autom:5,automat:5,avail:5,await:[],back:5,background:3,backtick:5,bad:5,balanc:5,bankrupt:5,base:[],basic:[3,5],bear:5,becaus:5,becom:5,been:[3,5],befor:[3,5],begin:[3,5],behav:5,behaviour:2,behind:5,benefit:5,beta:0,better:[1,3,5],between:5,beyond:[3,5],big:5,bill:5,bind:3,bit:5,bitbucket:0,blah:[],blank:5,block:[3,5],bob:5,bond:5,bookkeep:[3,5],boost:2,both:[3,5],brows:2,bug:2,build:[0,3,5],builder:5,built:5,bunch:5,bundl:3,busi:[3,5],bytecod:[3,5],c25c001e26e3:[],calcul:5,call:[3,5],caller:5,can:[0,2,3,5],cannot:[3,5],canon:4,carefulli:3,cash:[],cashkt:5,caus:5,center:5,certain:[3,5],cev:0,chain:[3,5],chang:5,check:[],choos:[0,5],claim:[2,3,5],click:0,cmd:5,code:[0,1,2,3,4,5],codebas:5,collect:5,com:0,combin:5,come:3,command:[],commerci:[],commercial_pap:5,commercialpap:[3,5],commercialpapertest:5,common:5,commonli:5,commun:0,companion:5,compar:3,compil:5,complet:[3,5],complex:[3,5],compos:5,concept:[3,5],concern:5,configur:0,conflict:3,connect:5,consid:[3,5],consist:[2,3],constant:5,construct:5,constructor:5,consum:3,contain:[3,5],content:[3,5],contract:[],contractst:5,contractstateref:5,contrast:3,contribut:5,control:[0,3,5],conveni:5,convert:5,copi:5,core:5,correct:5,correctli:[3,5],correspond:5,cost:5,could:5,coupl:[],cours:5,cover:[3,5],cp_program_id:5,craft:[],craftissu:5,craftmov:5,craftredeem:5,craftspend:5,creat:[3,5],creation:5,crisp:5,crop:3,currenc:[3,5],current:[2,3,5],curv:2,dai:5,data:[],databas:[1,2],date:5,datetim:3,decid:[3,5],declar:5,defin:[],definit:5,delet:5,deliveri:5,demand:3,denomin:3,depend:[0,5],deposit:3,depth:5,deriv:5,describ:[1,5],design:[1,3,5],desir:5,despit:5,destroi:[3,5],destroypaperatredempt:5,detail:[3,5],develop:3,didn:5,differ:[3,5],digit:[3,5],direct:5,directori:[0,5],dirti:5,disallow:5,disk:4,disput:5,distinguish:5,distribut:[2,3],doc:5,doe:[1,2,3,4,5],doesn:[3,5],dollar:5,domain:5,don:[0,3,5],done:[3,5],doubl:5,doubt:3,down:5,download:0,drive:3,dsl:[4,5],due:[3,5],dummi:5,dummy_pubkey_1:5,duplic:5,durat:5,dynam:[4,5],each:[3,5],earli:5,easi:5,easier:5,edit:0,editor:0,effect:5,either:5,element:3,ellipt:2,els:5,emb:5,embed:3,emit:5,empti:5,enabl:5,encount:3,end:[3,5],enforc:[3,5],engin:5,english:5,enough:[4,5],ensur:[3,5],enter:5,entir:[3,5],entiti:5,entri:[3,5],envisag:5,equal:5,equival:5,essenti:5,etc:5,even:[3,5],everi:[3,5],everyon:[],everyth:5,evolv:[4,5],exact:5,exactli:[3,5],examin:[3,5],exampl:[4,5],excel:[],except:5,exchang:5,execut:[3,5],exercis:5,exist:[1,3,5],expect:[2,5],expectfailureoftx:5,explain:5,explicitli:[3,5],explor:[0,1,2,4,5],expos:3,express:[3,5],extend:[3,5],extens:5,extern:2,extract:[3,5],extrem:5,face:[3,5],facevalu:5,fact:5,factor:3,fail:5,failur:5,fake:5,fals:5,familiar:[3,5],far:5,favour:5,featur:5,feel:5,few:[3,5],field:5,file:5,fill:5,filterisinst:5,financi:[1,3],find:3,firm:5,first:[0,1,4,5],firstli:5,fit:3,fix:3,flexibl:3,flow:5,follow:5,foo:[],fooutil:5,forget:5,form:5,formal:5,format:3,four:5,framework:[2,3],free:3,freeform:5,fresh:5,freshli:5,from:[0,3,5],front:5,full:5,fulli:5,fun:5,fundament:[1,5],fungibl:[],futur:[1,3,4,5],gain:2,gather:5,gcd:3,gener:5,get:[],getclass:5,getcommand:5,getfacevalu:5,getinput:5,getissu:5,getlegalcontractrefer:5,getmaturityd:5,getoutput:5,getown:5,getprogramref:5,getsign:5,getter:5,gettim:5,getvalu:5,git:0,give:[3,4,5],given:[3,5],global:[3,4,5],goal:[1,2,3],gone:5,good:[4,5],gradl:[0,3],gradlew:0,graph:[3,4,5],green:0,group:[3,5],groupstat:5,guava:3,hack:3,had:5,hand:5,handl:[3,5],happen:5,hash:[2,3,5],hashcod:5,have:[3,4,5],haven:5,heart:5,heavili:3,held:5,hello:[],help:4,helper:5,her:5,here:[3,5],higher:[0,5],highlight:5,hit:0,hold:3,holder:5,how:[],howev:5,html:[],http:[0,5],idea:[0,2,3,5],ideal:5,ident:[3,5],identifi:3,ietf:3,ignor:5,illegalargumentexcept:5,illegalstateexcept:5,imagin:5,immedi:5,immut:[3,5],implement:[2,3,4,5],implicitli:5,impos:5,improv:[3,4,5],includ:[],independ:5,index:[3,5],individu:5,industri:[1,3],infer:5,infix:5,inform:[3,5],inherit:5,initi:[4,5],inoutgroup:5,input:[3,5],insid:[3,5],instal:0,instanc:[3,5],instant:5,instanti:3,instead:[2,3,5],institut:3,institutionrefer:5,instruct:5,insufficientbalanceexcept:5,integ:5,integr:2,intellij:[],intend:3,intent:5,interact:3,interest:[4,5],interfac:[1,2,4,5],intern:[3,5],internet:3,interop:[3,5],interpret:[3,5],intersect:5,introduc:5,introduct:3,invalid:5,invari:5,invok:[3,5],involv:5,ipsum:[],isaft:5,isempti:5,isn:5,issu:[3,5],issuanc:5,issuer:5,item:[0,5],iter:5,itself:[3,5],java:[3,5],javacommercialpap:5,javas:[],jdk:[0,5],jetbrain:[0,3],jira:[2,4],join:5,joint:5,junit:[3,5],just:[0,3,4,5],jvm:3,keep:[3,5],kei:[2,3,5],key_mismatch_at_issu:5,keypair:5,keyword:5,kind:[3,4,5],know:3,known:3,kotin:5,kotlin:[],kotlinlang:[],kryo:3,label:5,labori:5,languag:[3,5],later:[2,5],latest:0,latter:5,layer:4,lazili:5,lead:5,learn:[1,4],least:5,ledger:[1,3,4,5],legal:5,legalcontractrefer:5,less:5,let:[3,5],level:5,librari:[3,5],lifecycl:5,lift:4,like:[3,5],likewis:5,limit:[3,5],line:[0,5],list:5,liter:3,littl:5,load:[4,5],local:[0,3],locat:5,lock:5,logic:[3,5],logo:0,look:5,loop:5,lorem:[],machin:3,made:1,mai:[3,5],main:5,maintain:3,make:5,maker:3,manag:5,mani:[2,3,5],map:5,mappabl:5,mark:5,marker:5,market:1,match:[3,5],matur:5,maturityd:5,maximis:3,mean:3,measur:5,mechan:5,medium:[],meet:5,mega_corp:5,mega_corp_kei:5,megacorp:5,menu:0,mere:[3,5],merg:[3,5],messag:[3,5],method:5,might:5,mileston:[],mind:5,mine:3,minimum:3,minu:5,minut:3,mismatch:[],miss:5,model:[],modif:5,modifi:[0,5],modul:5,monei:5,monetari:5,more:[3,4,5],most:5,mostli:5,move:5,movement:5,much:[3,5],multi:5,multipl:[3,5],must:[3,5],mutabl:[3,5],name:[3,5],natur:5,necessarili:5,need:[1,3,5],neither:5,net:5,network:[1,2,4,5],neutral:2,never:[3,5],newown:5,next:[0,4,5],nicer:[],node:3,non:[],normal:5,not_matured_at_redempt:5,note:[0,3,5],noth:[3,5],notic:5,notion:[2,3,5],notnul:5,now:[3,5],nugget:5,nullpublickei:5,number:5,obj:5,object:[3,5],obsolet:2,obvious:5,occur:5,octskyward:[],odd:5,off:5,offic:[],often:[3,5],onc:[3,5],onli:[3,5],onto:5,opaqu:3,opaquebyt:5,open:0,openjdk:0,oper:5,opposit:5,option:5,oracl:0,order:[2,3,5],ordinari:[3,5],org:[0,5],orient:[],origin:5,other:[2,3,5],otherwis:5,our:[3,5],ourselv:5,out:[0,3,4,5],outpoint:3,output:[3,5],outsid:5,outstat:5,over:5,overrid:5,overview:[],own:[3,5],owned_bi:5,owner:5,ownership:5,owningkei:5,packet:3,page:4,pai:5,pair:3,paper:[],paper_1:5,parallel:5,paramet:5,parameteris:3,part:[3,5],parti:[3,5],partial:5,partialtransact:5,particip:[3,5],pass:[4,5],past:5,path:5,pattern:[3,5],payment:5,peer:2,pend:4,penni:5,peopl:[3,5],perform:[4,5],perhap:5,perman:[3,5],persist:2,perspect:5,piec:[3,5],place:[2,3,4,5],platform:[1,3,4,5],pleas:3,plugin:0,point:[3,5],pointer:3,poor:3,popular:3,possibl:[1,3,4,5],potenti:[3,5],pound:5,power:3,practic:[3,5],pre:5,preced:5,prepar:5,present:[1,5],press:5,pretti:5,prevent:5,primari:3,primit:5,privaci:[4,5],privat:[3,4,5],probabl:[0,5],problem:5,process:5,produc:5,product:[2,5],profit:5,program:[3,5],programref:5,progress:[],project:0,proof:3,propag:5,properti:5,protocol:[2,3,5],prototyp:[],prove:[3,5],provid:[3,5],publickei:5,pull:0,pure:3,purpos:[3,5],put:5,quantiti:[3,5],quickli:5,quit:5,random:3,rapid:2,rate:4,rather:[3,5],rational:3,read:[1,2,3,5],readabl:3,reader:5,readi:5,real:[2,5],realiti:5,realli:5,reason:5,reassign:5,receiv:[3,5],recipi:5,recognis:5,record:5,redeem:[3,5],redempt:5,redemptiontim:5,ref:5,refer:[3,5],refin:3,reflect:5,registri:3,regular:[3,5],reissuanc:5,reject:5,rel:3,relat:5,relationship:5,releas:4,relev:3,reli:3,relianc:3,remain:5,rememb:5,remov:5,replac:5,replic:3,report:[],repositori:[],repres:[3,5],requir:[],requiresinglecommand:5,requirethat:5,resolut:3,respect:5,rest:3,restart:0,result:[3,5],reveal:5,rfc:3,right:0,rigid:3,roadmap:[],rollov:5,root:5,rule:5,run:[0,3,5],safe:[3,5],sai:[3,5],sale:5,same:[3,5],sandbox:[2,3,4,5],satisfi:5,save:5,scala:[3,5],scalabl:[3,4,5],scene:5,scope:[3,5],screen:0,script:[3,5],seal:[],seamless:3,search:[0,5],second:5,secp256r1:2,section:5,secur:3,securehash:5,see:5,seen:5,select:[0,5],sell:5,semi:3,send:[3,5],sens:5,sent:5,separ:5,serial:[2,5],serialis:[2,3,5],serializablewithkryo:5,serializeablewithkryo:5,set:[],setter:5,sever:[3,5],sha256:5,sha:3,share:[1,3,5],she:5,shortcut:2,shorthand:5,should:[0,2,3,5],show:[0,3,5],shown:5,sig:5,sign:[2,3,5],signatur:[2,3,5],signedwiretransact:5,signer:5,signwith:5,similar:[3,5],similarli:5,simpl:[4,5],simpler:3,simpli:5,simplifi:[2,3,5],simultan:5,singl:[3,5],singleornul:[],singleton:5,site:4,size:5,slight:5,slightli:5,small:[2,3,5],smart:[],smooth:5,snippet:5,softwar:2,sold:5,solv:5,some:[2,3,4,5],somed:5,someon:5,someprofit:5,someth:[4,5],sometim:[3,5],somewhat:3,somewher:5,sort:3,sound:5,space:5,specif:[3,5],specifi:[2,5],spend:[3,5],split:[3,5],src:5,stage:[4,5],stai:3,standard:[3,5],standardis:[3,5],start:[],state:[],stateandref:5,stateless:3,statement:5,stateref:3,step:5,still:[3,5],storag:[3,4],store:5,straightforward:5,string:5,strong:3,structur:[2,3,5],studi:5,sub:4,subgroup:[3,4],submenu:0,subsect:[],successor:3,suffix:5,suggest:5,sum:5,sumcashbi:5,sumcashornul:5,summaris:3,supertyp:5,support:[3,4,5],suppos:5,sure:5,surround:5,swap:4,synchronis:[3,4],syntax:[3,5],system:[2,3,5],tailor:1,take:[2,5],target:3,task:[3,4],teach:[],techniqu:5,tempt:5,ten:5,term:[3,5],terminolog:3,test:[],test_tx_tim:5,testutil:5,text:0,than:[1,3,5],thei:[3,5],them:[2,4,5],themselv:[3,5],therefor:[2,3,5],thi:[0,1,3,4,5],thing:[2,3,5],think:[0,5],third:5,those:5,though:5,thought:3,three:5,threshold:5,through:[3,5],thrown:5,thu:5,tighten:5,time:[1,3,5],timelin:5,timestamp:[3,5],todo:5,togeth:[3,5],too:5,tool:3,top:5,tosignedtransact:5,tostr:5,total:5,tracker:2,trade:[3,4,5],tradit:5,transact:[1,3,4,5],transactionforverif:5,transactiongroup:5,transactiongroupfortest:5,transfer:5,transit:5,treat:5,tri:5,tripl:3,tsa:3,tsp:3,ture:3,turn:5,twice:3,two:[2,3,5],txhash:[3,5],type:[3,5],typic:5,under:5,underscor:5,understand:[],unexecut:5,unfortun:5,uniqu:3,unit:[0,2,3,4,5],unless:5,unlik:5,unnecessari:5,unrecognis:5,unspent:3,unsupportedoperationexcept:5,unusu:5,unwieldi:5,updat:[0,3,5],upgrad:0,upon:[3,5],url:0,usabl:3,usag:5,user:[1,2,3,4],util:[3,5],utxo:3,val:5,valid:[3,5],valu:[3,5],vari:5,variabl:5,variant:5,variou:[3,4,5],vendor:2,verbos:5,veri:3,verif:[2,3],verifi:[],version:[0,2,5],virtual:3,visibl:3,wai:[3,5],wait:0,wallet:[3,5],want:[0,5],websit:5,well:[2,3,5],were:5,what:[],when:5,where:3,wherea:5,which:[2,3,5],whilst:[3,5],who:[3,5],whole:5,why:[3,5],wide:5,wiki:[3,5],wikipedia:5,wirecommand:5,wish:[4,5],within:[3,4],without:[],withoutown:5,won:5,work:[0,2,3,5],world:5,worn:5,worri:3,worth:5,would:[2,5],wouldn:5,wrap:5,write:[3,5],written:[3,5],www:0,xxxx:[],yeah:[],yet:[3,5],yield:3,you:[0,2,3,5],your:[],your_usernam:0,zero:5},titles:["Getting set up","Welcome to the R3 prototyping repository!","What’s included?","Overview","Roadmap","Tutorial"],titleterms:{"class":5,"function":5,api:5,asset:5,base:5,bitcoin:3,cash:[],check:5,command:5,commerci:5,comparison:3,contract:[3,5],craft:5,data:3,defin:[],document:[],ethereum:3,fungibl:5,get:0,how:5,includ:2,indic:[],intellij:0,kotlin:3,mileston:4,model:3,non:5,orient:5,overview:3,paper:5,playground:[],prototyp:1,repositori:1,requir:5,roadmap:4,set:0,smart:5,start:5,state:5,subsect:[],tabl:[],test:5,tutori:5,understand:5,verifi:5,welcom:1,what:2,without:0,your:5}}) \ No newline at end of file +Search.setIndex({envversion:46,filenames:["getting-set-up","index","inthebox","overview","roadmap","tutorial"],objects:{},objnames:{},objtypes:{},terms:{"8u45":0,"boolean":5,"break":5,"byte":3,"case":[3,5],"catch":0,"class":[],"default":[0,5],"final":[4,5],"function":[],"import":[0,3,5],"instanceof":5,"int":5,"long":5,"new":[1,3,5],"null":5,"public":[2,3,4,5],"return":5,"short":5,"static":5,"switch":5,"throw":5,"true":5,"try":[3,5],"var":5,"void":5,abil:[3,5],about:[3,4,5],abov:5,accept:[3,5],accident:5,account:3,action:5,actor:5,actual:5,adapt:4,add:5,addarg:5,addinputst:5,addit:5,addoutputst:5,address:[3,5],admin:[],administr:2,advanc:[],affection:5,after:[3,5],again:5,against:5,agre:[0,3],algorithm:[2,3,5],alic:5,alicegetsback:5,all:[0,3,4,5],allow:[3,4,5],almost:5,along:[3,5],alreadi:5,also:[0,3,5],alt:5,alter:5,although:[3,5],alwai:[3,5],amount:[2,4,5],ani:[3,5],annot:5,anoth:5,anyon:5,anyth:[3,5],anywher:5,apach:4,api:[],appear:[3,5],applic:3,approach:[3,4,5],arbitrari:[3,5],arbitrarili:3,aren:5,arg:5,argument:[3,5],around:[3,5],arrai:3,articl:3,artifact:5,ask:5,assembl:3,assert:5,asset:[],assist:5,associ:[3,5],assum:[4,5],atom:5,attach:[3,5],attempt:[1,3],audit:[3,4],authenticatedobject:5,author:3,auto:5,autom:5,automat:5,avail:5,await:[],back:[4,5],backend:4,background:3,backtick:5,bad:5,balanc:5,bankrupt:5,base:[],basic:[3,4,5],bear:5,becaus:5,becom:5,been:[3,5],befor:[3,5],begin:[3,5],behav:5,behaviour:2,behind:5,benefit:5,best:4,beta:0,better:[1,3,5],between:5,beyond:[3,5],big:5,bill:5,bind:3,bit:5,bitbucket:0,blah:[],blank:5,block:[1,3,4,5],bob:5,bond:5,bookkeep:[3,5],boost:2,both:[3,5],bring:4,brows:2,bug:2,build:[0,3,4,5],builder:5,built:5,bunch:5,bundl:3,busi:[3,5],bytecod:[3,5],c25c001e26e3:[],calcul:5,call:[3,5],caller:5,can:[0,2,3,4,5],cannot:[3,5],canon:4,capabl:4,carefulli:3,cash:[],cashkt:5,caus:5,center:5,certain:[3,5],cev:0,chain:[3,5],chang:[4,5],check:[],choos:[0,5],claim:[2,3,5],click:0,cluster:4,cmd:5,code:[0,2,3,4,5],codebas:5,collect:5,com:0,combin:[1,5],come:3,command:[],commerci:[],commercial_pap:5,commercialpap:[3,5],commercialpapertest:5,common:5,commonli:5,commun:0,companion:5,compar:3,compil:5,complet:[3,5],complex:[3,5],compos:[4,5],concept:[3,5],concern:5,confid:4,configur:0,conflict:[1,3,4],connect:5,consensu:4,consid:[3,5],consist:[2,3],constant:5,construct:5,constructor:5,consum:3,contain:[3,4,5],content:[3,5],contract:[],contractst:5,contractstateref:5,contrast:3,contribut:5,control:[0,3,5],conveni:5,convert:5,copi:5,core:[4,5],correct:5,correctli:[3,5],correspond:5,cost:5,could:5,coupl:[],cours:5,cover:[3,5],cp_program_id:5,craft:[],craftissu:5,craftmov:5,craftredeem:5,craftspend:5,creat:[3,5],creation:[1,5],crisp:5,crop:3,currenc:[3,5],current:[2,3,5],curv:2,dai:5,dashboard:4,data:[],databas:2,date:5,datetim:3,decid:[3,5],declar:5,defin:[],definit:5,delet:5,deliveri:5,demand:3,demonstr:4,denomin:3,depend:[0,5],deploy:4,deposit:3,depth:5,deriv:5,describ:[1,5],design:[1,3,5],desir:5,despit:5,destroi:[3,5],destroypaperatredempt:5,detail:[3,5],develop:3,didn:5,differ:[3,5],digit:[3,5],direct:5,directori:[0,5],dirti:5,disallow:5,disk:[],disprov:[1,4],disput:5,distinguish:5,distribut:[2,3,4],doc:5,doe:[2,3,5],doesn:[3,5],dollar:5,domain:5,don:[0,3,5],done:[3,5],doubl:[4,5],doubt:3,down:5,download:[0,4],drive:3,dsl:[4,5],due:[3,5],dummi:5,dummy_pubkey_1:5,duplic:5,durat:5,dynam:5,each:[3,5],earli:5,easi:5,easier:5,edit:0,editor:0,effect:5,either:5,element:3,ellipt:2,els:5,emb:5,embed:3,emit:5,empti:5,enabl:5,encount:3,end:[3,5],enforc:[3,4,5],engin:5,english:5,enough:[4,5],ensur:[3,5],enter:5,entir:[3,5],entiti:5,entri:[3,5],envisag:5,equal:5,equival:5,essenti:5,etc:5,even:[3,4,5],event:4,everi:[3,5],everyon:[],everyth:5,evolv:5,exact:5,exactli:[3,5],examin:[3,5],exampl:[4,5],excel:[],except:5,exchang:5,execut:[3,5],exercis:5,exist:[1,3,5],expect:[2,5],expectfailureoftx:5,experi:4,experiment:4,explain:5,explicitli:[3,5],explor:[0,1,2,4,5],expos:3,express:[3,4,5],extend:[3,5],extens:5,extern:2,extract:[3,5],extrem:5,face:[3,5],facevalu:5,fact:5,factor:3,fail:5,failur:5,fake:5,fals:5,familiar:[3,5],far:5,favour:5,featur:5,feel:5,few:[3,5],field:5,file:5,fill:5,filterisinst:5,financi:[1,3],find:3,firm:5,first:[0,1,4,5],firstli:5,fit:3,fix:[3,4],flesh:4,flexibl:3,flow:5,follow:[1,5],foo:[],fooutil:5,forget:5,form:5,formal:5,format:3,four:5,framework:[2,3],free:[3,4],freeform:5,fresh:5,freshli:5,from:[0,3,5],front:5,full:5,fulli:5,fun:5,fundament:[1,5],fungibl:[],futur:[1,3,4,5],gain:2,gather:5,gcd:3,gener:5,get:[],getclass:5,getcommand:5,getfacevalu:5,getinput:5,getissu:5,getlegalcontractrefer:5,getmaturityd:5,getoutput:5,getown:5,getprogramref:5,getsign:5,getter:5,gettim:5,getvalu:5,git:0,give:[3,4,5],given:[3,5],global:[3,5],goal:[1,2,3],gone:5,good:[4,5],gradl:[0,3],gradlew:0,graph:[3,5],green:0,group:[3,5],groupstat:5,guava:3,hack:3,had:5,hand:5,handl:[3,4,5],happen:5,hash:[2,3,5],hashcod:5,have:[3,4,5],haven:5,heart:5,heavili:3,held:5,hello:[],help:[],helper:5,her:5,here:[3,5],higher:[0,5],highlight:5,hit:0,hold:3,holder:5,hotspot:4,how:[],howev:5,html:[],http:[0,5],hypothesi:1,idea:[0,2,3,5],ideal:5,ident:[3,5],identifi:3,ietf:3,ignor:5,illegalargumentexcept:5,illegalstateexcept:5,imagin:5,immedi:5,immut:[3,5],implement:[1,2,3,4,5],implicitli:5,impos:5,improv:[3,4,5],includ:[],independ:5,index:[3,5],individu:5,industri:[1,3],infer:5,infix:5,inform:[3,5],inherit:5,initi:5,inoutgroup:5,input:[3,5],insid:[3,5],instal:0,instanc:[3,5],instant:5,instanti:3,instead:[2,3,5],institut:3,institutionrefer:5,instruct:5,insufficientbalanceexcept:5,integ:5,integr:2,intellij:[],intend:3,intent:5,interact:3,interest:5,interfac:[2,5],intern:[3,4,5],internet:3,interop:[3,5],interpret:[3,5],intersect:5,introduc:[4,5],introduct:3,invalid:5,invari:5,invok:[3,5],involv:5,ipsum:[],isaft:5,isempti:5,isn:5,issu:[3,4,5],issuanc:5,issuer:5,item:[0,5],iter:5,itself:[3,5],java:[3,5],javacommercialpap:5,javas:[],jdk:[0,5],jetbrain:[0,3],jira:[2,4],jmx:4,join:5,joint:5,junit:[3,5],just:[0,3,5],justifi:1,jvm:[3,4],kafka:4,keep:[3,5],kei:[2,3,4,5],key_mismatch_at_issu:5,keypair:5,keyword:5,kill:4,kind:[3,5],know:3,known:3,kotin:5,kotlin:[],kotlinlang:[],kryo:3,label:5,labori:5,languag:[1,3,5],later:[2,4,5],latest:0,latter:5,layer:4,lazi:4,lazili:5,lead:5,learn:[1,4],least:5,ledger:[1,3,5],legal:5,legalcontractrefer:5,less:5,let:[3,5],level:5,librari:[3,5],lifecycl:5,lift:[],like:[3,4,5],likewis:5,limit:[1,3,4,5],line:[0,5],list:5,liter:3,littl:5,load:5,local:[0,3],locat:5,lock:5,log:4,logic:[3,4,5],logo:0,look:5,loop:5,lorem:[],lose:4,machin:[1,3],made:1,mai:[3,4,5],main:5,maintain:3,make:[4,5],maker:3,manag:[4,5],mani:[2,3,5],map:5,mappabl:5,mark:5,marker:5,market:1,match:[3,5],matur:5,maturityd:5,maximis:3,mean:3,measur:[4,5],mechan:5,medium:[],meet:5,mega_corp:5,mega_corp_kei:5,megacorp:5,menu:0,mere:[3,5],merg:[3,5],messag:[3,4,5],method:5,might:5,mileston:[],mind:5,mine:3,minimum:[3,4],minu:5,minut:3,mismatch:[],miss:5,mix:4,mock:4,model:[],modif:[4,5],modifi:[0,5],modul:5,monei:5,monetari:5,monitor:4,more:[3,5],most:5,mostli:5,move:5,movement:5,much:[3,5],multi:[4,5],multipl:[3,5],must:[3,5],mutabl:[3,5],name:[3,5],natur:5,necessari:4,necessarili:[4,5],need:[1,3,5],neither:5,net:5,network:[2,4,5],neutral:2,never:[3,5],newown:5,next:[0,4,5],nicer:[],node:[3,4],non:[],normal:5,not_matured_at_redempt:5,note:[0,3,5],noth:[3,5],notic:5,notion:[2,3,5],notnul:5,now:[3,5],nugget:5,nullpublickei:5,number:5,obj:5,object:[3,5],observ:4,obsolet:2,obvious:5,occur:5,octskyward:[],odd:5,off:5,offic:[],often:[3,5],onc:[3,5],onli:[3,5],onto:5,opaqu:3,opaquebyt:5,open:0,openjdk:0,oper:5,opposit:5,option:5,oracl:0,order:[2,3,5],ordinari:[3,5],org:[0,5],orient:[],origin:5,other:[2,3,4,5],otherwis:5,our:[3,4,5],ourselv:5,out:[0,3,4,5],outpoint:3,output:[3,5],outsid:5,outstat:5,over:5,overrid:5,overview:[],own:[3,5],owned_bi:5,owner:[4,5],ownership:5,owningkei:5,p2p:4,packag:4,packet:3,page:4,pai:5,pair:3,paper:[],paper_1:5,parallel:5,paramet:5,parameteris:3,part:[3,4,5],parti:[3,5],partial:5,partialtransact:5,particip:[3,5],pass:5,past:5,path:5,pattern:[3,5],payment:5,peer:2,pend:4,penni:5,peopl:[3,5],perform:5,perhap:5,perman:[3,5],persist:2,perspect:5,piec:[3,5],place:[2,3,4,5],platform:[1,3,5],pleas:3,pluggabl:4,plugin:0,point:[3,5],pointer:3,pool:4,poor:3,popular:3,possibl:[1,3,5],potenti:[3,5],pound:5,power:[1,3],practic:[3,5],pre:5,preced:5,prepar:5,presenc:4,present:[1,4,5],press:5,pretti:5,prevent:5,primari:3,primit:5,privaci:5,privat:[3,5],probabl:[0,5],problem:5,process:5,produc:5,product:[1,2,5],profit:5,program:[3,5],programref:5,progress:[],project:0,proof:[1,3],propag:[1,5],properti:5,protocol:[2,3,5],prototyp:[],prove:[1,3,4,5],provid:[3,5],publickei:5,pull:0,pure:3,purpos:[3,5],put:5,qualiti:1,quantiti:[3,5],quickli:5,quit:5,random:3,rapid:2,rate:[],rather:[3,5],rational:3,read:[1,2,3,5],readabl:3,reader:5,readi:5,real:[2,5],realiti:5,realli:5,reason:5,reassign:5,receiv:[3,5],recipi:5,recognis:5,record:[4,5],redeem:[3,5],redempt:5,redemptiontim:5,ref:5,refer:[3,5],refin:3,reflect:5,registri:3,regular:[3,5],reissuanc:5,reject:5,rel:3,relat:5,relationship:5,releas:[],relev:3,reli:3,relianc:3,remain:5,rememb:5,remov:5,replac:5,replic:3,report:4,repositori:[],repres:[3,5],requir:[],requiresinglecommand:5,requirethat:5,resolut:[1,3,4],resolv:4,respect:5,rest:3,restart:0,result:[3,5],reveal:5,rfc:3,right:0,rigid:3,roadmap:[],roll:4,rollov:5,root:5,rout:4,rule:5,run:[0,3,5],runawai:4,runtim:4,safe:[3,4,5],sai:[3,5],sale:5,same:[3,5],sandbox:[2,3,4,5],satisfi:5,save:5,scala:[3,5],scalabl:[3,5],scene:5,scope:[3,5],screen:0,script:[3,5],seal:[],seamless:3,search:[0,5],second:5,secp256r1:2,section:5,secur:3,securehash:5,see:[4,5],seen:[4,5],select:[0,5],sell:5,semi:3,send:[3,5],sens:5,sent:5,separ:[4,5],serial:[2,5],serialis:[2,3,5],serializablewithkryo:5,serializeablewithkryo:5,server:4,set:[],setter:5,sever:[3,5],sha256:5,sha:3,share:[1,3,5],she:5,shortcut:2,shorthand:5,should:[0,2,3,4,5],show:[0,3,5],shown:5,sig:5,sign:[2,3,5],signatur:[2,3,4,5],signedwiretransact:5,signer:5,signwith:5,similar:[3,5],similarli:5,simpl:5,simpler:3,simpli:5,simplifi:[2,3,5],simultan:5,singl:[3,5],singleornul:[],singleton:5,site:4,size:5,slight:5,slightli:5,small:[2,3,5],smart:[],smooth:5,snippet:5,softwar:2,sold:5,solv:5,some:[2,3,4,5],somed:5,someon:5,someprofit:5,someth:5,sometim:[3,5],somewhat:3,somewher:5,sort:3,sound:5,space:5,specif:[3,5],specifi:[2,5],spend:[3,4,5],split:[3,5],src:5,stage:[4,5],stai:3,standard:[1,3,5],standardis:[3,5],start:[],state:[],stateandref:5,stateless:3,statement:5,stateref:3,step:[4,5],still:[3,5],stop:4,storag:[3,4],store:5,straightforward:5,string:5,strong:3,structur:[2,3,5],studi:5,sub:[],subgraph:4,subgroup:3,submenu:0,subsect:[],successor:3,suffici:1,suffix:5,suggest:5,suitabl:4,sum:5,sumcashbi:5,sumcashornul:5,summaris:3,supertyp:5,support:[3,4,5],suppos:5,sure:5,surround:5,swap:[],synchronis:3,syntax:[3,5],system:[2,3,4,5],tailor:1,take:[2,5],target:3,task:[3,4],teach:[],techniqu:5,tempor:4,tempt:5,ten:5,term:[3,5],terminolog:3,test:[],test_tx_tim:5,testutil:5,text:0,than:[1,3,5],thei:[3,4,5],them:[2,5],themselv:[3,5],therefor:[2,3,5],thesi:4,thi:[0,1,3,4,5],thing:[2,3,4,5],think:[0,5],third:5,those:5,though:5,thought:3,thread:4,three:5,threshold:5,through:[3,4,5],thrown:5,thu:5,tighten:5,time:[3,4,5],timelin:5,timestamp:[3,5],todo:5,togeth:[3,5],too:5,tool:3,top:5,tosignedtransact:5,tostr:5,total:5,tracker:2,trade:[3,5],tradit:5,transact:[1,3,4,5],transactionforverif:5,transactiongroup:5,transactiongroupfortest:5,transfer:5,transit:[1,5],treat:5,tri:5,tripl:3,tsa:3,tsp:3,ture:3,turn:5,twice:3,two:[2,3,4,5],txhash:[3,5],type:[3,5],typic:5,under:5,underscor:5,understand:[],unexecut:5,unfortun:5,uniqu:3,unit:[0,2,3,5],unless:5,unlik:5,unnecessari:5,unrecognis:5,unsaf:4,unspent:3,unsupportedoperationexcept:5,unusu:5,unwieldi:5,updat:[0,3,5],upgrad:[0,1,4],upload:4,upon:[3,5],url:0,usabl:3,usag:5,user:[2,3],util:[3,5],utxo:3,val:5,valid:[3,4,5],valu:[3,5],vari:5,variabl:5,variant:5,variou:[3,5],vendor:2,verbos:5,veri:3,verif:[2,3],verifi:[],version:[0,2,5],virtual:[1,3],visibl:3,vote:4,wai:[3,4,5],wait:0,wallet:[3,5],wan:4,want:[0,5],websit:5,well:[2,3,5],were:5,what:[],when:[4,5],where:3,wherea:5,which:[2,3,5],whilst:[3,5],who:[3,5],whole:5,why:[3,5],wide:5,wiki:[3,5],wikipedia:5,wirecommand:5,wish:[4,5],within:3,without:[],withoutown:5,won:5,work:[0,1,2,3,5],world:5,worn:5,worri:3,worth:5,would:[2,5],wouldn:5,wrap:5,write:[3,5],written:[3,5],www:0,xxxx:[],yeah:[],yet:[3,5],yield:3,you:[0,2,3,5],your:[],your_usernam:0,zero:5},titles:["Getting set up","Welcome to the R3 prototyping repository!","What’s included?","Overview","Roadmap","Tutorial"],titleterms:{"class":5,"function":5,api:5,asset:5,base:5,bitcoin:3,cash:[],check:5,command:5,commerci:5,comparison:3,contract:[3,5],craft:5,data:3,defin:[],document:[],ethereum:3,fungibl:5,get:0,how:5,includ:2,indic:[],intellij:0,kotlin:3,mileston:[],model:3,non:5,orient:5,overview:3,paper:5,playground:[],prototyp:1,repositori:1,requir:5,roadmap:4,set:0,smart:5,start:5,state:5,subsect:[],tabl:[],test:5,tutori:5,understand:5,verifi:5,welcom:1,what:2,without:0,your:5}}) \ No newline at end of file