NOTE: This is work in progress. This is meant as a documentation about our current process of registering contracts but we don fully understand all the steps and their motivation. Feel free to comment.no longer working. See Jira Legacy server System JIRA serverId 50130123-f232-3df4-bccb-c16e7d83cd3e key RCHAIN-3093
Motivation
We need to be able to refer a contract by a name with the following properties
...
It can be found in coop.rchain.casper.util.rholang. Produces the necessary tools to insert a contract in the registry.
$ sbt runMain coop.rchain.casper.util.rholang.RegistrySigGen contractName [timestamp] [privateKey] [unforgeableName]
Steps
Generate a ED25519 key pair
...
new
MakeMint, rs(`rho:registry:insertSigned:ed25519`), uriOut
in {
contract MakeMint(...) = { ... } |
rs!(
"d9ba2075d355755060205605f4cdbd5ecd3cce5ed1f39690f34772f7c9aa30ab".hexToBytes(),
(9223372036854775807, bundle+{*MakeMint}),
"36229e3f4530c15f3b7c1d9165369201b70b4673289a003652af14b436b20a275d5909d6dfbbd06e685292d39eadf3af11db6f882dcc78ef0b794e6da0ad6109".hexToBytes(),
*uriOut)
}
Change proposal
Use a single key-pair for signing multiple contracts and