我按照oracle示例创建了一个虚拟汇率oracle。它通过了网络测试。现在在通过驱动程序进行的集成测试中,我得到以下FlowSessionException,抱怨“flow尚未注册”。
我的其他集成测试不需要注册任何流。它是oracle服务特有的吗?
如何在测试中注册启动流
net.corda.core.flows.FlowSessionException: Party CN=FX Rate Oracle,O=FX Rate Oracle,L=San Francisco,C=US,OU=arg
我已经部署并运行了一个Corda节点。现在我想更改节点的名称。为此,我在node.conf文件中更改节点的名称
但是,在运行节点时,不会拾取此更改。它继续使用它的旧名称。如何强制节点使用其新名称?节点的名称在其用于加入网络的证书中指定。node.conf中的名称仅在最初请求这些证书时使用
如果更改节点的名称,则必须通过删除节点文件夹中/certificates下的nodekeystore.jks和sslkeystore.jks来重新生成其证书
请注意,您应该只在开发模式下执行此操作nodekey
在Corda中,假设我正在运行一个创建事务的流。我已经签署了交易,但现在流程暂停,等待交易对手签署
我是否可以通过这种方式查看待处理事务的列表?从Corda 3开始,您无法查看这些事务的内容
但是,您可以使用流进度跟踪器步骤找出每个流在其生命周期中的位置。例如,您可以计算在某个用户定义的事务处于挂起状态时暂停的流数。进度跟踪器步骤如下:
class Client {
val proxy: CordaRPCOps
init {
val nodeAddress =
我无法使用以下javascript代码将附件上载到Corda节点。我收到“HTTP错误400访问/上传/附件时出现问题。原因:收到一个没有文件的上传请求”
但是,我可以使用HTML上传相同的附件,如下所示:
<form action="http://localhost:10007/upload/attachment" method="post" enctype="multipart/form-data">
<div class="form-group">
白皮书中的链接不再有效:www.corda.net当前正在重新设计,示例页面当前不可用。您可以在此处临时找到它:
是否可以通过vault查询获取在vault_状态下可以看到的事务消耗时间?是。您可以使用查询结果的statesMetadata字段查找状态的使用时间
在流中:
@Suspendable
override fun call() {
val results = serviceHub.vaultService.queryBy(ContractState::class.java)
val statesAndMetadata = results.states.zip(results.sta
我正在尝试从ScheduledFlow启动与另一个节点的流会话。以下是Scheduledstate定义:
data class State(val a: Party,
val b: Party,
val instant: Instant,
val status: Status,
override
我已经在我的虚拟机上运行了corda的网络地图服务。当我更改白名单文件时,网络地图服务重建网络地图和网络参数
如果网络参数文件已更改,并且不再匹配网络地图服务正在发布的内容,则节点将自动关闭
在我的例子中,所有节点都被关闭,这是预期的。启动时收到消息“节点正在使用散列为X的参数,但网络映射为:Y”。删除网络参数后,它将正常启动
根据提到的文档,要手动接受更新的网络参数并将参数批准发送回区域操作员,必须使用更新中的parametersHash调用RPC方法fun acceptNewNetworkP
我试图通过RPC客户端调用hellow world示例流。根据文档,我必须调用startFlowDynamic来调用流。但是我无法编写startflowdynamic方法调用的代码
Integer iouValue=99;
Party otherParty= nameornull("O=PartyB,L=New York,C=US");
proxy.startFlowDynamic(com.template.IOUFlow,iouValue,otherParty);
logger.info("{
你知道为什么隐式状态/契约升级会导致这种情况吗
java.lang.NoSuchMethodError:
com.demo.DemoState.Lnet/corda/core/identity/AbstractParty;Lnet/corda/core/identity/AbstractParty;Lnet/corda/核心/合同/金额;Lnet/corda/核心/合同/金额;Lnet/corda/core/contracts/UniqueIdentifier;ILkotlin/jvm/inte
我们已从下载了4个预配置的Corda节点。
这些节点具有X.500可分辨名称,包含子部分-组织、位置和国家
问题1:我们能否用我们的定义替换X.500可分辨名称的上述子部分中的值
问题2:我们可以在上面的X.500名称中添加“organizationUnit”吗?测试网是为社区体验Corda网络而构建的。
这是一个通往的路径:CORDA网络(TCN),由Corda基金会运行,Corda基金会是一个运行TCN的独立理事会。p>
我将把您的请求作为功能增强请求记录到testnet团队中,但是他们可能
这个问题不言自明。我试过了提供的建议,也试过了
总结而言,增加了:
cordaCompile "$corda_release_group:corda-finance-contracts:$corda_release_version"
,并尝试添加以下导入
import net.corda.finance.contracts.utils
它无法导入它。是否有其他助手执行以下操作:
val received = tx.outputs.map { it.data }.sumCashBy(inp
我想使用RPC连接到Corda节点。如何将CordApp Gradle项目纳入我的Spring项目
我找到了这个()。但在这里,客户在Corda项目中,在我的案例中,我有两个Gradle项目。一个CordApp和另一个Spring。请参阅Spring Web服务器示例。请参阅此链接
这可以帮助您实现您想要的目标。您可以通过在依赖项下的build.gradle文件中添加以下行,将cordapp和states jar包含在spring客户端中
cordapp "org:your-co
想知道管理Corda中所有节点/指定节点使用的公共参考数据的好方法是什么?其中一个示例是合同类型或法律实体名称,它们是由指定节点共享的公共参考数据
我原以为Oracle可以成为解决方案,但经过研究后,Oracle似乎并不合适,因为我们只需要获得参考数据列表,而且可能会非常频繁
我想到的另一个解决方案是有一个集中的地方来管理这些数据,并且可以通过API获得。感谢任何能在这方面提供帮助的人。谢谢
Kwan参考数据通常应以附件的形式包括在内
理论是,你可以阅读它们是如何工作的。参考数据通常应以附件的形
在这种情况下,我有一个名为ProposeMemberFlow的@InitiatingFlow,和一个相应的@InitiatedByProposeMberFlowResponder。我想在我的集成测试中包括一些测试,测试响应者在FinalityFlow子流被发起流启动后是否有一个事务输出状态
我天真地在响应流中调用了waitForLedgerCommit,对CollectSignaturesFlow进行了post响应,但我发现启动流在响应流完成之前就完成了—可能后者正在等待vault更新
我正在通
我知道,在Corda中,启动流可以调用子流与其他方对话或自动化常见任务
接受方/发起方流是否也可以这样做
特别是,假设A使用B启动流。作为接受方/启动流的一部分,B能否调用与C对话的子流?是。在接受方/发起方流中调用子流没有任何限制,无论它们与谁交谈
声明“Corda 1.0和2.0的H2数据库实例不能用于Corda 3.0”。这是否意味着,如果我有一个运行Corda 2.0的Cordapp,并且我想将我的Cordapp升级到Corda 3.0,我需要放弃Corda 2.0中所有节点存储的信息,重新启动并重新运行所有已处理的事务,然后再接受新事务
让我们举个例子。我有一个Corda 2.0 CorDapp,可以记录现金收入和现金支出。这个CorDapp已经运行了一段时间,vault中已经存储了10k笔交易。假设每天有50笔新交易
假设在3月1
我今天从Corda V2升级到Corda V3。
在V2上运行的程序将无法运行,请帮助我。
发生以下错误:-
[错误]16:02:31129[qtp1715876585-27](示例api.java:226)
api.ExampleApi.myMethod-java.io.NotSerializableException:
net.corda.core.contracts.TransactionState->
数据(net.corda.core.contracts.ContractState)-
我想为我的corda网络创建一个新节点。您能否帮助我在非开发模式下为新节点生成正确的证书密钥的正确步骤。为现有非开发网络添加新节点时,您需要向网络的证书签名机构(或门卫)注册,以使用以下命令获取区域的有效标识:
java -jar corda.jar --initial-registration --network-root-truststore-password <trust store password>
java-jar corda.jar——初始注册——网络根信任库密码
我已经阅读了corda observer节点实现。根据文档流,将事务发送到观察者节点,以记录观察者节点的vault_状态
我有一些关于观察者节点的问题
在任何corda版本中,观察者节点不能同时是参与者和观察者。根据文档,需要为同一个节点创建2个不同的节点。我们可以让公证人做观察员吗
我们可以在不同的cordapp项目之间创建一个观察者节点吗?观察者节点如何跟踪哪个事务属于哪个cordapp项目
在大多数示例中,观察者节点与参与方节点相同。当公证人具有“公证人”属性时,observer节点是否还
在Corda中,当我向TransactionBuilder添加输出状态时,它默认使用哈希约束
如果我想改为使用区域白名单约束,是否需要将输出状态添加到TransactionBuilder,如下所示
txBuilder.addOutputState(
state,
State.CONTRACT_ID,
WhitelistedByZoneAttachmentConstraint.INSTANCE)
如果是这样,这是否意味着我需要更改所有流,以便以这种方式指定区域白名单约束
我们的应用程序使用Corda版本4
我们知道命令gradlew.bat deployNodes会创建以下JAR-
CorDapp(合同、状态、流程)
科尔达平台
依赖关系
当合同/状态/流程代码发生任何更改时,我们每次都必须运行命令gradlew.bat deployNodes。因此,“Corda平台”和“依赖项”jar总是被重新创建,从而增加了开发时间
Corda平台是否提供了仅创建“CorDapp”jar文件而非其余jar文件的替代方法?您可以使用以下命令仅生成jar文件
./gradlew
我希望自动为所有节点创建证书,以便能够以这种方式在需要时扩展参与方的数量。通过阅读、搜索和实验,我总结出我要做什么才能实现它。不过,我有几个问题。以下是我的步骤:
创建网络管理器
获取/创建NetworkManager的凭据(?如何?)
2.1您可以运行corda.jar生成rpc ssl设置,但不太可能是这样,因为没有创建信任库
从NetworkManager复制truststore.jdk并另存为network-root-truststore.jdk
使用证书文件夹中的network-roo
我正在探索这个cordapp示例
本例中总共有4个节点(公证人、a、B和C)。我试图使用终端的runnodes脚本在一次运行中打开所有节点
但并非所有节点都同时打开。这就像他们在打开一样,一次只有公证人和C节点在打开,另一次是A和B节点在打开。
有什么具体原因吗?
我还在Web服务器终端上收到了这条消息。请解释一下。
“Corda特定Web服务器已弃用,将在将来删除”。runnodes脚本不是启动节点的非常可靠的方法。它主要用于开发目的,以加快开发速度
它有时可能不会像预期的那样工作。该脚本通
运行Corda节点时,我得到列“identity\u value”的类型为byte error。我正在尝试为我的一个cordapp使用一个现有架构(party\u a\u schema)。我已经更新了该节点的node.conf文件。
经过基本的分析,我发现要在Corda开源平台的多个cordapp上使用模式,我们必须执行下面的DDL语句
CREATE SEQUENCE my_schema.hibernate_sequence INCREMENT BY 1 MINVALUE 1 MAXVALUE
我刚刚在Corda的crypto API中找到了用于处理密钥验证的代码:
fun doVerify(signatureScheme: SignatureScheme, publicKey: PublicKey, signatureData: ByteArray, clearData: ByteArray): Boolean {
require(Crypto.isSupportedSignatureScheme(signatureScheme)) {
"Unsup
如何检查Corda中状态(已消费或未消费)的状态
我下载了Cordapp示例,执行了几次“创建iou”,然后使用“iou”API引用了状态信息,但我无法确认状态。您可以检查状态的元数据以确定它是否已被使用。在元数据中,有一个选项可以检查状态是已使用还是未使用
例如:
Vault.Page<YourState> results = rpcOps.vaultQueryByCriteria(linearCriteria, YourState.class);
results.getState
我正在运行一个流程,其中我创建了一个带有输出的事务,并将其提交到分类账
现在,我想获取与我刚刚创建并提交到分类账的交易的输出相对应的输入StateRefs
如何检索这些StateRefs?您可以轻松地手动构建StateRefs
例如,假设您有一个对刚刚创建的已签名事务的引用:
stx: SignedTransaction
您需要该事务的第三个输出的输入StateRef。您可以按如下方式创建此文件:
val stateRef: StateRef = StateRef(stx.id, 2)
我想在Corda中添加自定义类型的货币。我该怎么做
例如:我想引入一种名为“egy”的货币,其值为1egy=2$。要创建新的令牌,您可以使用来帮助。
以下几行创建一个新令牌
TokenType myTokenType = new TokenType("MyCoin", 4);
IssuedTokenType issuingToken = new IssuedTokenType(coinIssuer, myTokenType);
对于其余部分,您可以使用内置的IssueToken来提供帮助
Am
在我看来,当前版本的Corda(3.1)似乎通过BLOB将(签名的)事务存储为Java类SignedTransaction的序列化字节数组。(已签名的事务是有线事务,即包含表示序列化事务的字节数组)
对于一些项目来说,这种方法可能会带来挑战,因为它似乎对内存和吞吐量造成了相当大的浪费
这是Corda序列化事务的标准方式吗?有哪些选项可以更改序列化以减少内存需求
示例
尝试具有简单IoState和简单事务的CordApp“IOU”示例,单个事务在表NODE\u TRANSACTIONS中创建一个条
使用开源4.0版本启动Corda节点时,使用示例finance cordapp,该节点会出现以下错误:
______ __
/ ____/ _________/ /___ _
/ / __ / ___/ __ / __ `/ Where do cryptographers go for
/ /___ /_/ / / / /_/ / /_/ / entertainment? The security
在Corda中,有一个流提供向另一方发送签名交易的功能
open class SendTransactionFlow(otherSide: FlowSession, stx: SignedTransaction) : DataVendingFlow(otherSide, stx)
以及另一个流,它向另一方发送states和refs:
open class SendStateAndRefFlow(otherSideSession: FlowSession, stateAndRefs: List&
我最近开始从互操作性的角度了解Corda平台
据我所知,Corda使用神谕获取外部信息。但是我们怎么能相信这些信息是正确的呢
示例:
甲方在Corda拥有资产X
乙方拥有100份XRP
甲、乙双方同意将资产X换成100XRP
我们在Corda上设置了此项,使用Oracle通知我们XRP交换何时发生,只有在这之后,资产X才会在Corda上分配给乙方
因此,如果甲骨文和乙方组成恶意联盟,甲骨文可以告诉甲方XRP交易已经发生(即使没有发生),乙方可以最终获得资产X和100 XRP
我的逻辑有缺陷吗?有
我是科尔达的新手,我只是想了解一种会计方法是否适合我想要实现的目标
我对此表示怀疑:
每个节点的帐号是否有最大限制
每个节点的帐户数是否会影响网络性能
非常感谢:)一天结束时,帐户是科尔达的州,很少有公共和一些映射之类的东西。因此,只要磁盘空间允许,就可以创建的状态数量没有限制。或者说,您遇到了可以生成的关键点数量的障碍,这是不现实的
帐户不应对网络性能产生任何明显影响
每个用户是否会以银行节点的身份进行操作
或
每个用户是否将创建单独的标识作为“节点”建立为银行用户的节点?从Corda 3.1开始,每个节点只能有一个标识。我们不支持同一节点上的多个“用户帐户”
相反,银行节点必须代表银行用户执行操作
升级到M14后,控制器节点无法启动,出现以下异常。
这里和M13有什么不同吗?
谢谢
\Sean此问题通常是由单个插件文件实现WebServerPluginRegistry,同时对CordaPluginRegistry进行子类化引起的
您可以通过将WebServerPluginRegistry和CordaPluginRegistry分为两个独立的类来解决此问题。在build.gradle文件中,您的corda\u gradle\u plugins\u version有什么版本?Joel,是0.1
假设您使用现金状态在Corda分类账上表示现金。网络参与者如何将其现金状态转换为传统现金?首先,我们需要解释现金状态最初是如何在分类账上创建的。该机制用于发卡行在传统银行系统中留出现金存款,并使用cash.issue交易在分类账上以相同金额和币种向自己发行现金
然后,可以通过cash.Move交易在分类账上的各方之间转移已发行的现金状态。在传统银行系统中,没有必要以任何方式反映分类账上现金状态的这些变动
假设Alice最终想将她在分类账上的一些现金状态兑换成传统银行系统中的现金。她是如何做到这一
我有一个错误:
无法找到或加载主类com.example.NodeDriver
intellij运行示例cordapp java后。这是intellij缓存问题。请尝试清除IntelliJ的缓存并重新启动IntelliJ,或者删除并重新创建运行配置。以下链接中给出了问题的答案-我也有同样的问题,我尝试了使缓存无效并重新启动,但没有帮助。还有其他想法吗?
我有一个关于基于UUID检索未使用状态的查询
val uuid = linearId.toUUID()
val queryCriteria = QueryCriteria.LinearStateQueryCriteria(
linearId = listOf(uuid))
return services.vaultQueryBy<ContractState>(queryCriteria).states
关于借款人数据库
我一直在我的简单CordApp上运行一些负载测试,现在当我执行vault查询以检查事务列表时,我在日志中得到一个异常:net.corda.core.node.services.VaultQueryException:请指定一个PageSpecification,因为结果[201]比默认页面大小[200]多。似乎没有为分页传递参数的选项。我需要过滤结果吗?这不会影响例外的原因。推荐的做法是什么?请参阅此处的文档
最大页面大小
val pagingSpec = PageSpecification(D
在corda中,我正在编写单元测试,我需要通过List>进行测试。我从api通过CordaRPCOps,我如何在单元测试中做同样的事情…Plz help终于得到了答案。。。从SignedTransaction.tx.outRef中可以看到所需的状态和ref。您能发布到目前为止编写的单元测试吗?
您是否必须是网络上已知的一方才能进行交易
网络外的匿名用户能否与区块链进行交互?当节点加入网络时,需要获得网络门卫提供的网络证书。此证书将节点绑定到特定的真实身份。在向其他节点发送消息时,节点必须使用此证书,以允许接收节点验证其正在与谁进行交易
但是,假设一个节点正在与其他节点一起构建事务。尽管节点必须向其构建事务的其他节点显示其身份,但它可以选择在使用匿名一次性公钥而不是真实身份构建的事务中标识自己
这意味着节点的标识不会存储在所有人都能看到的分类账上,并且只有最初与之建立交易的节点才知道
您
我正在使用企业版3.2的network bootstrapper构建启用devMode的节点配置当我使用默认数据库后端(h2)引导时,它工作正常。
但是,当我连接到MSSQL DB后端时,它无法生成节点配置,出现以下错误
“需要运行73个未完成的数据库更改。请使用高级迁移工具。请参阅:”
在引导过程中,我没有在目录中放置任何应用程序。
该数据库是一个新数据库,尚未创建任何表。然而,它却在抱怨数据库的变化
错误中提到的链接建议我们进行数据库迁移,具体到cordapp。但就我而言,我甚至没有cord
我是Corda的新手,有一个需要执行以下操作的用例:
我有3个节点:
班卡,班卡,班卡
账户A是银行账户A,账户B是银行账户B,账户C是银行账户C
AccountA向AccountB发送发票
AccountB自动将全额付款发送给AccountA
从AccountB收到款项后,AccountA自动将该笔款项的20%发送给AccountC
剩下的80%归AccountA所有
在这个简单的场景中,我不关心AccountB是否有足够的钱进行支付,这是一个概念证明。唯一的“手动”步骤是AccoutA发送发
我在科尔达做了一个简单的项目。我的项目在clients文件夹中有4个节点,包括notary和springbootapi。我不知道如何将我的项目部署到服务器上。我看到了Corda文档,但该教程只针对单个节点。因此,我的问题是如何在服务器和SpringBoot API上部署具有多个节点的Corda项目。有人能帮我吗?这上面有一些很好的youtube视频(来自我!)
你可以在这里找到:
还有GCP和Azure的其他视频
基本上,您需要确保corda node配置的p2pAddress在您选择的云提供商
我想在我的Cordapp应用程序中添加一个新的公证人/监管节点,
在执行事务处理时,应该执行一些额外的验证检查
由双方共同完成。
因此,公证人/监管机构将最终检查一些东西并在交易上盖章。这里有两个选项:
与使用默认的FinalityFlow来公证、广播和记录交易不同,您可以实现自己的流程,在公证步骤之前执行一些额外的验证。这里的限制是支票不是公证服务的一部分
创建您自己的海关公证人。在这里,自定义验证检查在公证服务中进行。这样做的能力是对代码库的最新更改,因此文档尚未更新以反映更改,但是可以在g
如何部署和运行基于SpringWebServer的Corda节点!CorDapp示例,在不同的机器上
在这方面,我需要实施哪些配置更改。只要您在与它对话的节点相同的机器上运行每台服务器,就不需要任何配置
只需在各自的机器上启动节点,然后在每台机器上启动Web服务器,并将修改或重写的指向该节点的RPC端口
由于节点位于不同的计算机上,甚至可以对所有节点使用相同的RPC端口,因为IP地址将不同
我们有一个用例,其中我们需要一个线性状态,如下所示
已启动->已更新->已查询->已解决->已接受->已结算
我们有多个节点作为处于查询、解析和结算状态的签名节点。当且仅当所有相关节点的查询都已解决时,我们需要将状态从查询更新为已解决,再更新为已接受
并非每个节点都有查询。因此,如果其中一个节点接受它,而没有任何查询,这并不意味着其他节点必须接受它。他们可能还有疑问。如果每个节点在同一状态下可能有不同的发言权,我们如何处理这种状态变化?您可以分两步进行:
编写契约逻辑,以便所有涉及的节点都是必
在Corda流程中,我接收并验证如下事务:
@InitiatedBy(Initiator::class)
class Responder(val counterpartySession: FlowSession) : FlowLogic<Unit>() {
@Suspendable
override fun call() {
val stx = counterpartySession.receive<SignedTransaction>()
我正在尝试升级Corda合同。目前,我们有一个uber jar,包含状态、流和合同。我们使用显式升级机制,利用UpgradeContractUsingalGacyConstraint接口在单独的罐子中打破uber罐子
在我们的网络中,有一个观察者节点,它跟踪网络中其他节点之间发生的所有事务。因此,在这个场景中,我们在网络中的所有节点中运行authorizeflow,然后在observer节点中运行initiateflow。虽然“授权流”在所有节点中都成功运行,没有任何错误,但“启动流”有两个问题
1 2 3 4 5 6 ...
下一页 最后一页 共 20 页