►
Description
Link to webpage: https://www.srcmake.com/home/composer
Hyperledger Composer is a tool to help easily create blockchain networks. The best way to think about it is: you want to make your own custom blockchain, but it's simple enough that you just need to define who is going to be using the blockchain and what they're going to be trading/creating, then Composer will let you define those people/items and you can have your blockchain ready with minimal code.
Composer is much easier to use than Fabric, but you have less control over the blockchain.
Twitter: https://twitter.com/srcmake
Twitch: https://www.twitch.tv/srcmake
Discord: https://discord.gg/q5vAET3
A
Hey
there
I'm
source
Mike
and
welcome
to
the
hyper
ledger
composer
introduction
in
playground
tutorial
and
in
this
video
we
are
going
to
go
over
what
Hyperallergic
composer
is
we're
going
to
go
over
some
key
terminology
and
concepts
and
hyper
legend
composer,
and
this
is
important
because
we're
going
through
all
over
some
file
types
and
key
words
that
you
need
for
the
programming
languages
and
composer
and
we'll
use
an
example
to
you
know
how
all
this
works.
Then
we
are
going
to
go
over
some
demo
code.
A
That
shows
actually
how
you
would
make
an
example
block
chain
using
the
high
polish
composer,
then
we're
going
to
deploy
that
code
onto
the
playground-
and
this
is
going
to
be
all
online
in
the
web
browser
there's
going
to
be
no
installation
in
this
video,
so
anyone
can
follow
along,
even
if
you're
not
really
a
developer.
It's
going
to
be
so
easy
that
you
can
actually
do
this
yourself.
So
what
you're
going
to
do
is
you're
going
to
watch
me.
A
Do
this
video
you're
going
to
see
me,
explain
everything
and
then
you're
going
to
click
the
link
to
this
website
and
they're,
going
to
be
instruction
two
that
you
can
try
this
yourself
and
I
wrote
this
really
so
that
you
can
follow
along
I.
Do
this
yourself,
so
the
link
to
this
page,
where
you
can
do
this
yourself,
is
going
to
be
right
here
below
this
video
below
this
video
is
going
to
be
a
link.
A
You
click
it
you
get
to
this
page
and
try
this
yourself
and
while
you
down
there
hit
the
subscribe
button
for
this
YouTube
channel
Thanks.
So
this
isn't
our
first
rodeo.
This
isn't
our
first
type
of
Legend
video.
We
also
have
a
blog
post
on
hypo
ledger
at
roha
and
we
have
a
blog
post
and
a
video
on
high
polish
of
fabric.
A
So
it's
all
about
block
chain,
and
the
best
way
to
think
about
composer
is
that
if
you
want
to
make
your
own
custom
block
chain
for
your
own
thing,
and
it's
going
to
be
really
simple,
you
really
just
need
to
define
who's
going
to
be
using
the
block
chain
and
what
they're
going
to
be
trading
or
creating
on
the
block
chain.
Then
composes
a
tool
for
you,
you
define
those
people
are
items
and
your
block
chain
can
be
ready
with
really
minimal
code.
A
A
So
that's
why
it's
important
to
know
with
that
said:
let's
go
over
some
composer
terminology
and
concepts,
and
for
this
we're
going
to
have
an
example,
so
we
own
a
fast
food
and
we
sell
customers,
food
and
the
customers
buy
food
from
us
and
maybe
there's
some
other
fast-food
restaurants
on
the
block
chain.
Besides,
our
own
restaurant
seems
simple
right,
so,
let's
go
through
12
things
that
you
need
to
know.
If
you
want
to
use
composure,
a
participant
on
the
blockchain
is
a
person
that
can
own
something
or
perform
an
action.
A
So
in
our
restaurant
example,
this
could
be
the
manager
for
our
restaurant
could
be
a
cook
that
makes
the
food
a
cashier
that
you
know.
Does
the
transactions
takes
money
from
customers
and
gives
them
the
food?
It
could
even
be
the
costume
yourself
that
looks
from
watching
that
did
just
something
just
a
person.
An
asset
is
just
an
item
of
value.
Another
example.
This
could
be
a
burger
or
french
fries
or
even
money
that
you
know
we
just
try
to
model
those
assets
on
the
blockchain,
anything
that
gets
traded.
A
Speaking
of
that,
a
transaction
is
when
some
participants
create
new
assets
or
they
trade
assets.
So,
for
example,
a
customer
gives
us
money
and
we
give
them
food.
That's
the
transaction
or
chef
makes
new
burgers,
so
they
bring
new
burgers
into
the
blockchain
system.
That's
the
transaction!
That's
the
great
way
to
think
about
it
now,
any
time
one
of
those
transaction
happens.
A
Sometimes
we
want
to
admit
an
event
so
that
people
know
what's
going
on
in
the
blockchain
and
avenges
broadcast
that
so
everybody
knows
what's
going
on
and
a
CTO
file
now
is
just
a
file
type
with
the
exception
CTO
and
that's
where
we
declare
the
models
for
all
of
our
participants,
assets,
transactions
and
events.
You
need
to
define
what
these
are
and
the
CTO
file
is
where
you
do
that,
and
we'll
see
an
example
of
that.
So
don't
get
too
scared
about
that.
It's
actually
really
simple.
A
You
know
a
transaction
function
remember
that
this
is
all
being
done
on
a
computer,
so
you
need
to
write
some
code.
That
actually,
you
know,
makes
this
stuff
happen,
and
some
JavaScript
code
is
just
what
you
will
write
to
actually
carry
out
the
logic
for
each
transaction.
Really
simple,
we'll
be
seeing
how
that
works.
An
ACL
file
is
something
we're
not
going
to
be
doing,
but
it's
necessary.
So
it's
just
a
file
extension,
and
this
is
where
we
put
the
rules
for
what
our
participants
can
or
cannot
do
or
access.
A
Now,
for
example,
maybe
a
manager
for
our
restaurant
can
order
some
beef
from
a
farm
if
we're
running
low
on
beef
or
a
restaurant,
but
the
cashier
doesn't
have
that
permission?
You
know,
that's
just
something
that
you
declare
in
the
ACL
file.
Who
can
do
what
really
simple
so
can
canoeing
on
the
asset
of
registry
is
actually
the
place
where
or
the
storage
where
our
data
lives.
So
remember,
all
of
these
numbers
are
the
things
that
are
going
on,
for
example,
how
many
burgers
does
a
restaurant
have
right
now?
A
You
would
look
that
up
in
the
place
called
the
asset
registry.
That's
just
a
place
in
the
blockchain
where
all
the
stuff
is
stored
and
basically
we
use
this
in
transaction
function.
So
next
thing
is
get
factory
which
is
just
a
method
of
function,
and
you
call
this
in
your
code
anytime.
You
want
to
create
a
new
asset,
purchase
the
transaction
and
we'll
see
an
example
of
this.
So
don't
worry
too
much
about
it.
Just
know
that
it
exists
and
that
we're
going
to
be
using
it
in
our
namespace
is
a
little
bit
important.
A
Basically,
it's
the
way
you
organize
things
into
groups,
so,
for
example,
maybe
our
restaurant
is
called
source
to
make
a
restaurant.
So
that's
what
we
want
our
namespace
to
be,
but
another
restaurant
in
the
system
may
be
hyper
ledger.
Restaurant
would
have
a
different
type
of
namespace
or
hierarchy
of
what
they
would
name
their
self
just
just
for
organization
purposes.
So,
for
example,
the
cashiers
in
our
restaurant
would
be
under
the
name
to
a
source.
Make
restaurant
dot
cap
shares
because
that's
just
you
know
the
hierarchy
of
they're
part
of
our
restaurant
and
their
cashier.
A
So
that's
where
they
live
in
this
hierarchy,
and
this
is
a
good
way
just
to
organize.
You
know
who
can
access
what
and
you
know
how
you
would
do
things
so
next.
Our
queries
and
queries
are
SQL,
like
statements
written
to
search
for
how
many
assets
the
participant
has.
Now
you
have
to
remember
we're
talking
about
things
on
blockchain.
A
blockchain
are
just
like
knows
that
live
on
people's
computers
and
they're
spread
out
and
decentralization
and
all
that.
A
But
what
happens
if
you
actually
want
to
look
up
a
value
like
how
many
burgers
our
restaurant
has?
How
would
you
actually
do
that
you
know
from
outside
the
blockchain
system?
Well,
you
query
is
basically
where
you
write
these
SQL
statements
so
that
you
could
look
up
these
values
outside
for
like
websites
that
API
is
there
anywhere
else
you
want
to
access
the
blockchain.
Remember
when
you
architects,
this
stuff,
you
want
to
access
the
data.
You're
gonna
write
some
queries
to
do
that.
A
We're
not
gonna
be
going
over
those,
but
I
have
this
link
here
that
you
can.
Actually,
you
know,
read
yourself
if
you
are
actually
building
your
own
flock
a
network
and
finally,
a
business
network
definition
is
where
you
take
all
our
models
for
the
assets,
participants,
transactions
and
events.
You
take
all
our
JavaScript
files
for
our
transaction
functions.
You
take
our
a
CL
file
with
all
our
rules
and
permissions.
You
take
our
query
files
which
you're
gonna,
you
know
have
our
queries
for
whatever
we
want
to
access
outside
of
the
blocking
Network.
A
You
bundle
all
those
up
and
that's
our
business
network
definition
and
that
creates
what's
called
a
business
network
archive
which
is
just
the
file
type,
and
once
you
have
that
you
can
you
know
you
have
your
blocks
in,
you
can
deploy
it
to
fabric
or
you
know,
browser
or
anything
else
like
that.
It's
just
you
bundle
up
all
these
file
types
and
you
get
your
business
network
definition,
because
that
defines
what
our
blockchain
actually
is.
So
that
should
have
been
really
simple.
Hopefully
it
was.
If
not
you
can.
A
You
know,
you'll
learn
more
as
you
go
along,
but
we're
going
to
look
at
some
demo
code
just
to
see
how
this
actually
works
and
continuing
on
with
our
restaurant
example
we're
going
to
define
our
stuff
in
this
CTL
file.
So
you
can
see
the
first
thing
in
our
file.
Is
this
namespace
and
we
have
so
I
personally
have
a
restaurant.
So
that's
how
this
is
going
to
be
organized
like
this,
and
that's
just
our
namespace
for
this
file.
A
Now
you
can
see
the
first
thing
that
we
define
is
a
participant
and
it's
going
to
be
a
cook
for
our
restaurant,
and
you
see
this
identified
by
employee
ID.
That
means
each
cook
is
going
to
have
a
unique
employee,
ID
that
represents
them,
and
you
can
see
two
fields
here.
Two
strings
and
one
field
is
the
employee
ID,
which
again
is
going
to
do
it.
Every
employees
gonna
have
their
own
ID
and
we're
also
going
to
have
a
string
that
defines
the
first
name
of
that
employee.
A
So
the
next
thing
you
see
is
an
asset
which
is
just
going
to
be
for
our
purposes
of
Burger
asset
and
it's
going
to
be
identified
by
the
outside
ID,
which
you
know
just
each
type
of
our
burger
is
gonna.
Have
our
own
ID,
for
example,
I
cheese
birds
are
going
to
have
the
asset
ID
of
cheeseburger.
It's
just
a
string
that
defines
what
the
asset
is
going
to
be.
A
You
know
defined
by
and
we're
going
to
have
a
quantity
which
is
an
integer
that
just
represents
how
many
burgers
of
this
type
of
cow
at
any
given
time,
and
then
we
have
this
little
weird
arrow
thing
here
and,
let's
think
about
this,
for
a
second,
do
you
know
in
like
other
programming
languages,
how
there
are
classes
and
objects
and
a
class
is
really
just.
You
know
a
definition,
a
template,
a
blueprint
for
an
object.
So
anytime,
you
want
to
have
a
specific
object.
A
You
would
instantiate
over
of
that
class
and
that
object
is
an
instance
of
the
class
like,
for
example,
you
have
an
animal
class
and
you
instantiate
an
object
of
like
a
giraffe
there's
nothing
like
that.
This
is
kind
of
similar.
So
you
see
we
have
this
definition
of
a
participant
cook,
but
when
we
actually
have
our
blockchain
we're
going
to
take
this
kind
of
template
and
we're
going
to
actually
create
a
cook
and
we're
gonna
give
them
employee,
ID
and
a
first-name.
A
This
arrow
here
means
that
this
resource
is
going
to
be
related
to
a
specific
instance
of
a
cook.
So,
for
example,
we're
gonna
be
defining
a
cook
named
Billy,
and
that
means
any
time
we
have
a
burger
asset
for
our
restaurant
they're
going
to
be,
you
know,
related
to
one
specific
cook,
not
just
this
abstract
function,
but
the
actual
cook
on
the
blockchain
who
actually
owns
them
and
in
our
case
is
going
to
be
chef,
Billy
who's
going
to
be
owning
all
of
our
burger
assets.
So
keep
that
in
mind.
A
That's
what
these
are
functions
means
it
means
it's
going
to
be
related
to
a
specific
instance
of
a
definition,
not
just
the
actual.
You
know
code
next,
you'll
see
we
have
this
transaction
defined
here
called
make
burgers
and
again
it's
going
to
be
related
to
a
specific
burger
asset.
It's
going
to
be
related
to
our
cheeseburgers
in
our
example.
So
every
time
we
have
a
cheeseburgers
we're
going
to
define
a
new
burger
count
and
we're
going
to
see
how
this
transaction
function
works,
we're
just
going
to
define
what
we
need
to
make
this
transaction
happen.
A
It's
gonna
be
easier
in
the
demo,
don't
worry
about
it
and,
finally,
an
event
anytime.
We
make
fresh
burgers.
We
want
to
emit
an
event
and
let
people
know
hey,
there
are
more
burgers
on
the
system
and
this
is
going
to
be
related
to
a
specific
burger
asset.
Maybe
we
have
more
cheeseburgers
in
the
system.
A
Maybe
we
will
have
more
I,
don't
know
chicken
burgers
on
the
system,
so
you
have
to
relate
that
to
a
specific
type
of
burger
to
let
people
know-
and
we
have
two
integers
here-
how
many
burgers
there
were
before
how
many
burgers
there
are
down
so
I
know.
That's
a
lot
to
take
in
we'll
see
how
that
works
later.
We're
going
to
look
at
just
a
specific
transaction
function
that
we
have,
and
you
see
the
first
thing
here
is
we
define
that
we're
going
to
look
for
this?
This
transaction
function
is
an
ASIC
JavaScript
function.
A
They
make
burgers
that's
going
to
trick-taking
this
transaction
object,
but
it's
related
to
cob
that
source
make
restaurant
that
make
burgers.
So
remember,
this
parameter
is
going
to
say:
hey,
okay,
we're
going
to
look
at
the
namespace
comm
source,
make
restaurant
and
we're
going
to
look
at
this
specific
transaction
to
see
what
this
transaction
object
is
going
to
have.
So
these
things
are
related.
This
parameter
is
going
to
be
related
to
this
specific
model
and
in
this
transaction
function.
A
A
It's
going
to
use
that
to
update
the
burger
count,
and
then
we
are
going
to
update
the
asset
registry
because
remember
all
this
stuff,
all
these
numbers
live
in
the
asset
registry,
so
we
need
to
update
it
there,
so
the
function
is
going
to
do
that
and
then
we're
going
to
emit
an
event
just
just
to
let
everyone
know
that
hey
there
are
some
new
cheeseburgers
or
some
type
of
burger
in
the
system.
Let
everyone
know
that
this
happened
and
you
know
that's
just
good
practice,
so
you
should
know
how
that
works.
A
A
Let
me
make
it
a
bit
bigger
we're
going
to
click
this
deploy
a
new
network.
They
have
this
example
here,
but
we're
gonna
make
our
own
network
with
it.
Just
so
you
know.
What's
going
on
now
we're
gonna
name
this
business
network?
So
let's
make
restaurant
network
like
that,
and
all
this
other
stuff
is
fine.
You
can
see
that
there
are
some
example
templates
right
here
that
you
can
go
through
if
you
want
to
see
more
examples,
but
we're
gonna
create
an
empty
business
network
and
fill
this
in
ourselves.
A
For
our
example,
we're
gonna
click
deploy,
and
now
you
see
that
a
show
right
here,
because
it's
a
source
to
make
restaurant
network
so
we're
gonna
click.
The
connect
Now
button-
and
we
can
see
right
here-
is
where
we're
going
to
be
playing
a
little
bit
of
playing
with.
So
here's
where
a
readme
file
would
be-
and
the
first
thing
that
we
want
to
do
is
actually
go
to
our
model
file.
A
Now
they
have
this
blank
model
file,
but
we
want
to
delete
this
and
we
want
to
add
our
own
model
file
that
we
defined
right
here.
So
I'm
gonna
copy
this
in
copy
paste
it
in
and
everything
looks
good.
We
went
over
this
code
already.
The
next
thing
that
we
need
to
do
is
define
our
transaction
function,
because
this
transaction
exists
here,
but
we
need
to
add
our
JavaScript
code
right.
So
we're
going
to
add
a
file,
and
you
can
see
right
here.
A
It's
going
to
be
a
script
file,
JavaScript
file,
I'm,
going
to
click
this
Add
button
and
we're
going
to
delete
this
and
we're
going
to
add
our
custom
code
that
we
have
right
here
and
you'll
be
doing
this
yourself
after
you
watch
me.
Do
this
in
the
video
so
make
sure
you
continue
watching,
and
you
should
try
this
yourself
since
it's
so
simple,
so
everything
looks
good
and
right
here.
A
There's
this
access
file,
that's
already
defined
for
us,
so
you
know
we
don't
need
to
do
anything,
we're
gonna
click,
this
deploy
changes,
button
and
that
actually
deploys
our
blockchain.
So
for
all
intents
and
purposes,
I've
actually
just
deployed
out
onto
the
world.
So
what
we
want
to
do
now
is
we
want
to
test
it,
because,
obviously,
you
have
to
test
to
see
if
it
works,
so
we're
gonna
click,
this
test
tab
does
the
define
tab.
A
Will
you
define
the
network
and
then
this
test
tab
will
you're
actually
testing
that
and
we'll
see
right
here
can
I
make
it
a
little
bigger
whew.
Here
it
is
so
there
are
three
tabs
here:
the
participants,
tab,
the
assets
tab
and
the
transactions
tab,
which
we
care
about.
You
see
right
here
that
we
are
in
the
participant
tab
and
we
define
that
there
is
a
cook
asset
right.
So
what
we
want
to
do
is
we
want
to
create
our
own
custom
cook.
A
We,
maybe
we
hired
someone,
we
want
to
add
them
to
the
blockchain,
because
now
we
have
a
cook
in
our
restaurant.
So
we're
going
to
copy
this
right
here
and
I
have
this
on
the
webpage.
You
can
you'll
be
following
the
instructions
yourself,
but
what
we
do
is
we
click.
This
button
create
a
new
participant,
we're
gonna,
we're
going
to
delete
this
and
we're
going
to
add
our
custom
code
and
let's
look
at
it
really
quickly.
We
are
saying
that
this
cook
belongs
to
a
source,
make
restaurant
the
cook
namespace.
A
We
talked
about
that
we're
going
to
give
him
an
employee
ID
of
1
1
1
1.
His
first
name
is
chef
bill.
If
that
just
happens
to
be
his
name,
so
he
used
to
cook
for
our
restaurant.
You
can
see
that
right
here
we're
going
to
press
the.
Let
me
make
this
a
little
bit.
Smaller,
we're
going
to
press
create
new
button,
and
now
the
cook
exists
on
our
network.
Chef
bill
is
successfully
added
to
our
block
chain.
A
Well
now
that
he's
here,
we
need
to
make
some
burgers
and
chef
bill
is
really
good
at
making
cheeseburgers.
So
we're
going
to
just
copy
this
code
right
here,
this
JSON
a
little
script,
that's
going
to
define
a
burger,
offset
I'm
going
to
click
the
assets
tab
now
and
we're
going
to
have
chef
Billy,
create
some
cheeseburgers,
so
we're
going
to
create
a
new
asset
and
just
to
initialize
a
cheeseburger
we're
basically
gonna
write
it
on
the
menu
of
a
boy
to
let
people
know
that
they
can
buy
cheeseburgers
for
myself.
A
So
this
is
going
to
belong
to
comm
source.
Make
restaurant
Burger
asset,
that's
going
to
be
the
namespace.
The
asset
ID
is
the
string.
That's
going
to
be
cheeseburger
because
what
this
is
going
to
represent
our
cheeseburgers
and
remember,
we
defined
an
owner
for
this.
Remember
that
arrow
function
that
we
had
before
so
this
owner
is
going
to
belong
to
the
resource.
A
We're
gonna
actually
have
to
look
up
the
resource
here
and
it's
going
to
belong
to
the
cook
whose
ID
number
is
1:
1,
1,
1
1,
which
we
know
is
chef,
Billy,
we're
accessing
it
by
his
unique
employee
ID,
which
is
good
for
us.
So
so
we
need
to
know
that
we're
gonna
start
out
with
5
cheeseburgers
that
we
have
in
the
restaurant,
so
we're
gonna
click
create
you,
and
now
we
have
a
restaurant
with
a
cook
named
chef
Billy,
and
we
have
these
cheeseburgers
and
we
have
5
of
them.
A
A
That's
to
make
burgers
so
we're
going
to
copy
this
JSON
right
here
from
here
we're
going
to
delete
what's
here
and
copy
our
custom
JSON,
and
you
can
see
right
here
that
the
transaction
that
we're
going
to
be
doing
is
column
sourced
to
make
a
restaurant
make
burgers
because
that's
named
face.
You
need
to
have
that
syntax
down,
packed
the
burger
type
that
we're
going
to
have
remember.
A
So
what
we
want
to
do
is
we
want
to
press
submit
and
the
transaction
happens.
You
see
that
this
number
updated
to
ten
and
if
you
look
at
all
transactions,
you
can
go
right
here
and
you
review
the
record
and
you
see
the
historian
is
going
to
keep
track
of
all
transactions
for
our
blockchain
and
we
see
that
this
transaction
did
happen.
A
We
have
a
timestamp
and
tried
to
action
ID,
we
see
all
the
details
and
we
can
even
see
that
the
event
was
emitted
because
that's
what
we
defined
on
code
and
I,
like
that,
we
basically
did
everything
for
botching
you,
you
test
your
network
on
this.
You
know
the
playground
and
you
set
up
your
custom.
You
know
models
for
your
participants,
assets,
transactions,
events
and
you
write
your
transaction
functions
to
update
everything
in
the
asset
registry
and
emit
your
events
and
update
any
assets
that
you
need
to
and
that's
it
using
composer.
A
You
know
we
have
on
blockchain
for
our
restaurant
and,
of
course
it
gets
a
little
more
complex,
maybe
in
future
videos
we
will
be
doing
some.
You
know
I
want
to
do
another.
Video
on
native
fabric,
development
versus
composer
development
and
I
want
to
make
more
Creek
complex
network
with
more
participants
as
such
transactions.
But
if
you
can
do
this,
if
you
do
the
stuff
yourself,
you
can
play
with
composer
yourself
and
make
your
own
blockchain,
like
literally
like
that.
A
It's
that
simple,
so
that's
been
composer
I'm
source
to
make
and
make
sure
you
subscribe
to
this
YouTube
channel
so
that
you
can
see
more
videos
like
this
make
sure
you
like
this
video,
so
that
I
know
that
this
is
the
type
of
content.
You
like
comments
telling
me
what
you
want
to
see
in
the
future.
If
you
have
any
questions,
let
me
know
I'll
try
to
answer
them
and
that's
type
of
legend
composer.
You
can
do
it
yourself
now.
So,
thanks
for
watching
make
sure
you
do
subscribe
and
yeah
happy
composing.