►
From YouTube: Hyperledger Sawtooth blockchain, Release 1.1
Description
New features and improvements in Hyperledger Sawtooth blockchain software for release 1.1, including state pruning, new Consensus API, RAFT consensus engine, Kubernetes documentation, and other documentation and website improvements. Released December 7, 2018.
A
So
first,
let's
talk
about
new
core
sawtooth
features.
There's
a
new
status,
REST
API
commander
in
point
any
new
CLI
sawtooth
status
show
both
of
those
query
the
status
information
for
the
activator
that
you're
querying
there's
new
metrics
for
submitted
batches
and
transactions,
thread,
pools,
transaction
processing
and
accuse
aizen's,
and
the
internal
metrics
libraries
and
refactor
to
be
a
more
modular
and
similar
to
the
existing
logging.
A
A
A
It
should
be
two
dashes
of
there
state
pruning,
block,
depth,
1000
1000,
being
the
default
value
and
you
can
set
higher
or
lower
err
whatever
you
want,
or
you
could
set
it
locally
for
just
that.
Node
say
if
you
have
a
node
that
has
some
straw
trouble
restrictions
or
ran
out
of
space.
You
could
set
it
in
validator,
dot,
t
om,
l
under
the
e
TC
Sawtooth
directory,
and
the
value
is
whether
you
said
the
key
word
to
state
pruning
block
depth.
Then
any
value
you
want
in
this
example.
A
It's
1,000
the
default
and
you
get
more
details
in
the
link
below
it's
and
the
sawtooth
RFC's
repository
as
pole.
Request
number
8
in
some
major
improvements
in
sawtooth.
The
rust
SDK
has
matured
and
is
now
fully
supported
along
with
existing
SDK
such
as
Python.
The
rest
SDK
includes
libraries
for
signing
transaction
processing
consensus
in
engines,
along
with
what
you
see
any
mature,
astute,
a
documentation
and
examples.
A
Key
components
in
sin:
Sawtooth
Corps
have
been
rewritten
from
Python
3
to
rust,
and
this
has
a
few
advantages.
One
is
it's
a
rust
as
a
compiled
language
as
opposed
to
the
Python
interpreter,
so
things
run
a
lot
faster
and
that's
especially
critical
for
your
transaction
processor,
not
so
much
for
the
client
submitting
transactions,
but
for
the
transaction
processor
you
want
something
compiled
and
faster.
A
Also
Python
has
something
called
a
global
interpreter,
lock,
not
really
so
you
can
have
multiple
threads
in
Python,
but
only
one
could
be
running
at
a
time
because
the
GOG
il
lock.
It
really
restricts
everything
to
single
threaded
or
just
this
at
runtime.
Just
one
thing
running
at
a
time.
That's
really
slows
things
down,
so
what
you
could
do
is
you
could
rewrite
your
transaction
processor
and
and
rest
for
greater
speed.
If
you
don't
want
to
do
that,
you
could
also
consider.
A
When
you
set
up
the
of
node,
is
you
just
set
up
or
start
so
processes
different
instances
of
that
transaction
processor,
and
so
there
would
be
several
lying
around
ready
to
be
running.
So
you
achieve
your
parallelism
and
effect
by
just
having
several
processes
several
threads
and
and
if
you
do
want
parallelism,
of
course,
you
have
to
set
the
validator
to
run
in
parallel
mode.
There's
a
command-line
option
for
that.
A
What
else
other
improvements
is
in
the
validator
COI
argument:
parsing,
global
state
database
views,
chain,
controller
and
block
publisher,
that's
mainly
internal
stuff,
parallel
validation,
the
chain
controller
block
publishers
have
been
affected
to
be
modular,
also,
support,
parallel
block
validation,
so
blocks
could
be
validated
and
processed
in
parallel.
Assuming
then
put
some
outputs
in
that
transaction
do
not
conflict
and
of
course,
you
have
it
enabled
in
the
validator
by
default.
Currently
it's
serial.
So
if
you
want
parallel
for
better
performance,
I
recommend
sending
it
said
of
setting
it
to
parallel
mode.
A
It's
it's
now
a
separate
process,
a
separate
component
within
the
validator
node
family.
It
just
be
part
of
the
validator.
So
now
it's
a
separate
process
and
it's
better
supports
a
wider
range
of
consensus,
algorithms,
its
supports
both
nakamoto
or
lottery
style,
consensus
and
classical
or
voting
style
consensus,
and
so
that's
needed,
because
we
added
raft
a
raft
consensus
which
is
voting
style
consensus.
The
new
process
uses
the
participe
port
50
50,
to
listen
to
the
validator
and
uses
the
mq
encrypted
message.
A
There's
some
new
configuration
settings
instead
of
just
having
one
sawtooth
consensus,
algorithm
setting,
which
is
set
to
say
poet
or
dev
mode.
There's
two
settings,
one
is
the
name
another's
engine,
so
you
were
used
to
set
to
the
algorithm
is
now
you
set
algorithm
named
sawtooth
consensus.
Not
real
name
is
the
name
other
consensus,
algorithm
and.
A
A
For
more
detail,
you
should
look
at
the
blog
article
that
was
just
published
a
couple
days
ago,
making
dynamic
consensus
more
dynamic
on
the
hyper
ledger
rhetoric
website
there's
also
described
STK
and
sawtooth
RFC's
repository
under
poll
request
number
four.
So
that
tells
you
about
the
API
in
more
detail.
A
There's
a
new
raft
consensus
engine
preview
version,
it's
being
stabilized
now
and
tested
raft,
is
a
classical
or
voting
style
consensus.
That
is,
you
vote
for
a
leader
and
the
leader
publishes
all
those
blocks
and
all
new
leaders
chosen.
The
Vantage
of
this
is
you
have
finality.
So
when
a
block
is
published,
there's
no
forking
it's
published
and
you
want
to
worry
about
it
not
being
published
if
it
was
dropped
in
a
fork
I
like
poet,
which
does
fork
because
port
is
a
classic
or
voting
classic.
No
poor
is
a
Nakamoto
or
kind
of
lottery.
A
A
A
There's
a
new
pbft
engine,
it's
a
little
bit
behind
as
far
along
as
raft,
it's
currently
in
development,
but
there
is
a
package
out
there.
If
you
want
to
try
it.
It's
based
on
the
PF
pbft
paper
by
Kestrel
and
Liskov
Barbara
Liskov
in
1999,
and
there's
a
diagram
on
the
right,
showing
you
that
the
messages
and
replicas
how
that
works
in
the
various
phases
of
our
algorithm
is
pbft
has
advantage
of
being
PFT,
as
the
name
implies
it
PFT
algorithms
withstand
bad
or
malicious
actors.
A
Also
pbft
does
not
fork,
unlike
put
because
it
uses
voting
consensus
and
we
have
a
leader
all
the
time
the
disadvantage
with
pbft
is.
It
does
not
scale.
It
has
a
lot
of
messages,
as
you
can
see
on
the
right
side.
That's
on
the
order
of
n
square
messages,
so
lets
finds
if
you
have
like
5
10
15,
maybe
20
nodes.
But
if
you
have
hundreds
of
nodes,
it's
it's
not
gonna
work
which
100
squared
that's
10,000
messages.
That's
too
many.
A
So
pbft
is
a
good
solution.
If
you
just
have
a
few
nodes
and
in
fact
po,
it's
not
a
good
solution
for
just
a
few
nodes.
Pork
kind
of
doesn't
work
very
well,
if
you
just
have
say
under
five
nodes
and
better.
Yet
you
should
have
at
least
ten
nodes
in
a
production
environment,
but
just
having
five
or
ten
nodes.
It's
just
perfect
for
pbft
and
it's
still
DFT.
A
So
there's
a
package
out
there
and
it's
based
on
original
paper.
There's
source
code
out
there,
here's
the
links,
there's
RFC,
for
how
is
it
permitted?
Rc
19
is
out
there
and
there's
a
sawtooth
RC
repository
and
it
kind
of
shows
how
it
was
implemented.
It's
permitted
using
the
original
algorithm,
not
any
modifications,
except
for
these
few
updates.
There's
some
pull
request:
number
29,
30
and
31,
which
kind
of
has
some
little
tweaks
to
algorithm,
but
still
it's
basically
the
same
basic
algorithm
adapted
for
blockchain.
A
A
It's
estimated
heat
years
worth
of
mining
on
the
planet
uses
about
the
same
amount
as
as
I
remember,
lebanon
or
cayenne,
or
something
like
that.
It's
a
few
gigabyte,
Keigo
gigawatts
every
year
wasted
the
anticipated
availability
of
port
to
is
pretty
soon
no
guarantees,
but
early,
probably
in
2019
early
2018
in
a
future
one
dot.
One
dot
x
point
release
if
you
want
to
know
more
details,
look
at
the
RFC
repository
under
pull
request
number
20.
A
We
also
know
about
a
couple
other
sawtooth
consensus
engines
that
have
been
developed
independently,
there's
moon,
b
ft.
That's
that
experimental
research
consensus
algorithm,
do
not
in
production
on
being
developed
by
neck
labs,
NEC
labs
in
Europe
and
there's
a
repository
for
it.
There's
also
Posse
POS,
see
proof
of
service
and
that's
done
by
Remy
io,
which
it's
it's
done
for
their
own
identity
and
key
storage,
software,
public,
key
storage
watching
and
there's
a
a
blog
article.
There
talks
more
about
it.
I
have
not
seen
the
source
for
it,
though,
but
it's
very
interesting
Oracle.
A
So,
let's
summarize
algorithms
we
just
talked
about.
As
I
mentioned,
you
classify
them
in
two
ways:
one
is
fault:
tolerance,
B
of
T
C
of
T
C
of
T
is
crash
fault.
Tolerant,
beauty
is
Byzantine
fault,
tolerant,
which
means
that
Byzantine
were
stands.
Malicious
actors,
crash
fault,
tolerance
does
not
I,
don't
wear
stands
crashes,
so
Byzantine
is
a
more
robust
to
that's
here
and
you
could
also
classify
them
by
it
by
type
there's.
The
classical
consensus
which
uses
elections
voting
and
there's
also
the
Nakamoto
style
consensus,
which
is
any
kind
of
lottery.
A
So
the
original
algorithm
is
on
the
top
proof
of
work,
that's
used
by
Bitcoin,
and
it
was
also
adopted
by
aetherium
there's
no
implementation
of
proof
of
work
in
sawtooth,
then
there's
proof
elapsed
time
that
was
first
made
available
and
sawtooth
and
uses
a
randomly
generated
number
which
is
used
as
a
timer.
First
node
that
has
a
timer
expires,
wins
and
both
of
those
could
fork
and
both
of
those
would
be
ft.
And
then,
if
you
don't
have
SGX,
you
could
run
poet
CFT
and
that's
it
pull
and
crash
fallout
mode.
A
A
A
A
It's
important
TCP
port,
30
30
and
use
it
to
make
administration
requests
to
the
blockchain,
and
that's
partly
replaces
the
old
Seth
COI,
which
queries
rest
instead
of
them
so
Seth
RPC
queries,
the
JSON,
RPC
interface
and
Seth
queries
rest,
so
it
has
better
JSON
RPC
api
compatibility
in
cleaning
account
management.
A
Here's
the
diagram
on
the
right
and
kind
of
showing,
where
step
myself,
RPC
fits
in
and
the
staff
components.
This
Seth
is
just
another
transaction
processors.
Far
as
sawtooth
is
concerned,
there's
an
experimental
support
for
truffle,
there's
an
experimental
seth
rib
three
provider
on
truffle,
and
it
connects
some
truffle
to
seth
blockchains.
A
A
This
ought
to
saber
supports
rip
assembly
also
known
as
Rasim
wasm
is
a
stack
based
virtual
machine
that
wasn't
originally
invented
for
use
on
web
pages.
So
it's
like
a
compliment,
source
or
partly
replaces
JavaScript,
so
I'm
still
putting
JavaScript
to
put
wasm
compiled
stack
assembly
and
your
web
embed
in
your
web
page,
but
Cabasa
will
be
used
and
is
used
for
block
chains
so
how
to
use
it.
You
we
support,
rust
and
there's
a
rust
sabre
SDK,
and
you
write
your
your
smart
contract
and
rust
and
you
compile
it
with
Cargill.
A
It
supports
on
chain
smart
contract
for
the
Sabre
transaction
family,
and
we
were
currently
at
early
version
version
0.1
and
it's
under
active
development
now
and
here's
a
link
to
the
documentation.
The
documents
include
a
sample
smart
contract
called
Inc
key
multiply,
which
multiplies
two
values
that
you
give
it.
A
Let's
talk
a
little
bit
about
two
rules:
hyper
ledger:
caliper,
that's
the
newest
nearest
tool
for
sawtooth
caliper
is
a
performance
measurement
tool
that
was
contributed
by
Huawei
to
the
hyper
ledger
consortium.
It
measures
blockchain
performance
and
supports
various
blockchain
platform,
sawtooth
fabry-perot,
Arora
and
I.
Think
well,
yeah,
that's
about
it.
I
think
they're,
adding
maybe
aetherium,
but
Burroughs
is
basically
etherium.
A
It
reports
caliper
reports,
transaction
per
second
latency
doodle,
ization
success
and
failure
rate,
latency
and
resource
usage
and
for
more
information
go
to
the
the
link
there
on
github
for
the
document,
age
documents
and
packages,
then
there's
sawtooth
Explorer,
which
is
written
by
polka
dot
polka
duck,
and
it
is
a
tool
that
visualizes
blockchain
on
the
webpage
and
it's
built
using
angular.
It's
it's
similar
to
hyper
ledger.
Explorer,
hyper
ledger:
Explorer
only
supports
fabric,
but
Sawtooths
Explorer
support
some
sawtooth
and
that's
been
there
are
grow.
A
A
Of
course,
there's
updates
and
the
docs
further
1.1
features,
including
the
new
rust
SDK,
there's
new
documentation
for
setting
up
multiple
sawtooth,
no
drift,
both
docker
and
just
plain
your
brute
to
there's
documentation
on
using
kubernetes
trinity
containers,
which
is
was
in
high
demand
and
there's
documentation,
as
I
previously
said,
on
graph
wanna
metrics,
that's
also
a
new
glossary
added
to
the
documentation,
there's
improvements
in
the
architecture
guide
and
proxy
configuration
and
the
system
administration,
the
system,
administrators
guide,
I
think,
most
notably
I,
think
there's
a
really
expanded
section
on
permissioning
roles
and
policies,
because
the
previous
result
kind
of
bare-bones,
but
now
it's
greatly
expanded
and
we
welcome
anyone
who
uses
the
daleks
to
contribute
and
you
could
eat
your
file.
A
A
We
also
have
a
new
sawtooth
website
on
the
previous
website
was
really
did
not
have
all
the
information
there,
and
so
you
had
to
go
to
various
places.
So
this
really
ties
together.
Everything
in
one
location,
it's
that
sawtooth
hyper
ledger
dot
org,
so
it
has
links
to
the
documentation.
A
FAQ
has
releases
next
to
releases
what
else,
of
course,
the
source
code
and
how
to
contact
the
community
and
how
to
interact
with
community.
This
way
to
interact
is
I'm
with
the
chat
page
and
or
if
you
prefer
email.
A
A
Sawtooth
DevOps,
this
is
really
stuff.
Under
the
hood
Reed,
we
made
changes
for
development,
but
it
really
makes
things
a
lot
more
smooth
the
old
build
all
script
has
scripts
have
been
replaced
with
docker
compose
files
which
do
all
the
setup
cleaning
packages
and
and
files
there's
no
pre
building
required
any
longer.
So
all
the
doctrine
compose
files
now
have
build
sections,
and
so
now
you
could
build
with
a
single
docker
compose
up
come
in.
You
need
a
newer
version
of
the
docker
engine
to
use
this,
and
this
is
described
more
fully.
A
In
sawtooth
RFC
pull
request
number
25.
We
separated
some
of
this
source
code
into
separate
repos.
All
the
SDKs
are
now
in
their
own
repo,
except
for
a
rust
and
rust
and
Python,
which
they're
really
used
to
implement
the
core
saw
to
so
we
really
can't
separate
those
out.
The
reason
for
that
is
is
simplify
his
development.
A
A
lot
because
poet
and
SDKs
were
taking
a
large
chunk
of
time
when
we
were
building
and
running
the
build
test
for
continuous,
continuous
integration,
and
that
was
despite
the
fact
that
most
changes
are
outside
of
poet
invested
kazar,
mainly
in
the
core
code,
but
it
just.
We
just
had
a
lot
of
time
swallowed
up,
but
just
by
testing
SDKs
input
all
the
time
so
now
they're
separate
and
our
build
testing
and
continuous
integration
is
growing.
A
lot
faster
now
takes
less
resources.
A
We
also
have
docker
installed
files
and
that's
used
for
a
multi
stage,
built
builds,
which
is
a
new
feature
and
I'm
doctor.
You
could
have
multiple
from
stanzas,
and
so
you
just
could
selectively
copy
from
a
previous
days
and
and
and
use
that
in
your
next
stage
and
kubernetes,
there's
documentation
and
the
application
development
guide
and
there's
there's
two
examples.
One
is
just
a
one:
node
on
example
that
uses
demoed
and
another
is
a
5
node
example.
You
just
pull
it
CFT
or
simulator
mode.
So
that's
your
bees
for
those
who
prefer
kubernetes.
A
So
how
do
you
upgrade
to
sawtooth
1.1
1.0?
Well,
the
first
and
most
important
thing
is
you
change
the
the
line
and
the
sources
dot
list
file,
UTC
sautee
sources,
that
list
and
as
a
app
command-line
to
do
that
or
you
get
to
set
it
to
file.
And
after
that
you
got
to
do
a
proper
date
to
update
the
repository
index
on
the
another
thing,
is
you
need
to
add
a
consensus,
support
to
the
Sawtooth
validator
COI
default
to
localhost
5050,
but
it's
somewhere
else
in
a
docker.
A
Can
we
need
to
add
that
lime,
I
think
that
should
be
bind
and
for
your
docker
pre-built
containers?
You
need
to
change
everything
from
1.0
through
1.1
in
your
docker
compose
files,
and
you
also
need
to
add
a
consensus
component
and
that
could
be
death
mode
poet
raft
or
whatever
you
use
so,
for
example,
for
docker
dev
mode.
A
So,
as
a
recap,
you
need
to
update
your
upgrade.
You
need
to
update
the
repo.
Add
a
consensus,
support
to
your
validator
command
line,
use,
update
the
pre-built
images
from
1.0
to
1.1
and
also
add
a
consensus
component.
If
you
use
docker
and
if
you
don't
use
dock,
you
start
to
start
the
demo
engine
rust
directly
and
you
boo.
A
Okay,
then
several
people
worked
on
1.1
for
the
past
year
since
the
1.0
release
in
June,
we're
in
here's,
a
partial
list
of
contributors,
I'm
sure
is
incomplete
and
I
apologize
for
people,
I,
missed
or
misspelled,
or
otherwise
butchered
their
names.
All
right.
There's
a
lot
of
people
working
on
sawtooth
and
try
it
out,
give
some
feedback
better
yet
be
a
contributor.
You
see
problems
with
the
doctor
codes
or
code
file,
a
bug
and
make
a
suggestion.
A
If
you
know
how
to
fix
it,
and
one
of
the
easiest
ways
to
start
out
is
just
answering
questions
on
on
the
chat
on
rocket
chat.
There
were
there's
also
a
mailing
list.
You
could
answer
questions.
The
chat
is
more
active,
but
some
people
prefer
the
mailing
list.
So
just
answering
questions
helps
a
lot.
A
There's
also
detail:
release
information
under
the
Sawtooth
website
and
release
bumper
bumper
is
the
code
name
for
sought
to
point
out
one.
It
has
more
information,
including
bug,
fixes
major
bug,
fixes
major
features,
minor
features
and
for
Sawtooth
information
general.
Just
here's
a
few
links
code,
Doc's
FAQ
man
list
and
chat
links.
So
that's
it.
Thank
you
for
listening.