Skip to content
This repository was archived by the owner on Jun 17, 2025. It is now read-only.

Commit 8c242a1

Browse files
author
cmd
committed
update
1 parent d5b07aa commit 8c242a1

File tree

7 files changed

+10
-10
lines changed

7 files changed

+10
-10
lines changed

README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22

33
# escrow-core
44

5-
A light-weight, non-custodial protocol for using Bitcoin in a `covenant-based` smart contract.
5+
A light-weight, non-custodial protocol for locking Bitcoin in a covenant-based smart contract.
66

77
Features:
88
* Method libraries for every part of the protocol.
99
* Multi-platform client with minimal dependencies.
1010
* Run-time schema validation (using zod).
11-
* E2E test suite for regtest, signet, and testnet.
11+
* E2E demo and test suite for signet, testnet, and mutiny.
1212

1313
Comimg Soon:
1414
* Return receipts on witness submission.
@@ -31,7 +31,7 @@ The protocol is split into three phases: `negotiation`, `funding`, and `settleme
3131

3232
### Negotiation
3333

34-
The `members` of the contract must first negotiate and agree on a `proposal` document. This is a human-readable document which contains all of the terms of the contract. It is written and consumed in JSON format, and designed for collaboration (much like a PSBT).
34+
The [members](docs/proposal.md) of the contract must first negotiate and agree on a [proposal](docs/proposal.md) document. This is a human-readable document which contains all of the terms of the contract. It is written and consumed in JSON format, and designed for collaboration (much like a PSBT).
3535

3636
```ts
3737
{
@@ -62,13 +62,13 @@ If desired, a third-party can host the proposal. The protocol is designed for th
6262

6363
There is no specification placed on how to communicate the proposal between parties. There are so many great communication protocols that exist in the wild, and they virtually all support JSON, so feel free to use your favorite one!
6464

65-
> Note: The server `agent` does not take part in negotiations or arbitrate disputes. This is strictly by design. While BitEscrow may offer these services, the protocol is designed so that members and third-parties can negotiate freely, without the agent being involved.
65+
> Note: The server `agent` does not take part in negotiations. While BitEscrow may offer these services, the protocol is designed so that members and third-parties can negotiate freely, without the agent being involved.
6666
6767
### Funding
6868

69-
Once a final proposal has been delivered to our server, all terms and endorsements are validated, then a `contract` is formed. The contract is assigned a signing `agent`, which is used to coordinate deposits.
69+
Once a final proposal has been delivered to our server, all terms and endorsements are validated, then a [contract](docs/contract.md) is formed. The contract is assigned a signing [agent](docs/contract.md), which is used to coordinate deposits.
7070

71-
Each funder requests a deposit `account` from the agent. This account uses a 2-of-2 multi-signature address with a time-locked refund path.
71+
Each funder requests a deposit [account](docs/deposit.md) from the agent. This account uses a 2-of-2 multi-signature address with a time-locked refund path.
7272

7373
```ts
7474
interface DepositAccount {
@@ -83,7 +83,7 @@ interface DepositAccount {
8383
}
8484
```
8585

86-
The funder then delivers a batch of pre-signed transactions (called a `covenant`), which authorizes each of the spending paths of the contract.
86+
The funder then delivers a batch of pre-signed transactions (called a [covenant](docs/deposit.md)), which authorizes each of the spending paths of the contract.
8787

8888
```ts
8989
interface CovenantData {
@@ -152,7 +152,7 @@ When the contract becomes active, a virtual machine is started within the contra
152152
}
153153
```
154154

155-
Members of the contract can interact with the vm using signed statements, called a witness:
155+
Members of the contract can interact with the vm using signed statements, called a [witness](docs/contract.md) statement:
156156

157157
```ts
158158
{
@@ -174,7 +174,7 @@ Members can use the vm to settle on a spending path, or lock, unlock, and disput
174174

175175
Once the contract vm has settled on a spending path, the agent will complete the relevant pre-signed transaction, and broadcast it, closing the contract.
176176

177-
The proposal, covenants, and vm combine to create a proof of validity. This proof covers how the contract should execute at any moment, with zero ambiguity left to the `agent`.
177+
The proposal, covenants, and vm combine to create a proof of validity. This proof covers how the contract should execute at any moment, with zero ambiguity left to the agent.
178178

179179
Each contract settlement on mainnet will include a valid proof to maintain our reputation.
180180

@@ -450,7 +450,7 @@ To get started, make sureyou are running `v19+` of node, then install the projec
450450

451451
```sh
452452
node --version # should be v19+
453-
node install # install dependencies
453+
npm install # install dependencies
454454
```
455455

456456
This project uses the following scripts:
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)