In the Formance Ledger world, ledgers are logically separated from one another.
There are occurences where you want to transfer value from one ledger to another.
Fortunately for us, Flows provide a way to do this that takes care of the underlying details for us.
Workflow definition#
YAML
---
stages:
# let's first provision a user account on our first ledger
- send:
source:
account:
id: "world"
ledger: "flows-demo-001"
destination:
account:
id: "users:42"
ledger: "flows-demo-001"
amount:
asset: "USD/2"
amount: 100
# now let's transfer that value to our second ledger
- send:
source:
account:
id: "users:42"
ledger: "flows-demo-001"
destination:
account:
id: "users:42"
# note that we're sending to a different ledger
ledger: "flows-demo-002"
amount:
asset: "USD/2"
amount: 100Running the workflow#
Let's save the above workflow to a file called ledger-to-ledger.yaml and create it:
fctl orchestration workflows create ledger-to-ledger.yamlPOST/api/orchestration/workflows
Now run the workflow:
fctl orchestration workflows run <workflow-id>POST/api/orchestration/workflows/<workflow-id>/instances
We can now check the status of the workflow instance:
fctl orchestration instances show <workflow-instance-id>GET/api/orchestration/instances/<workflow-instance-id>