基于区块链的毕业设计Gerbil-ethereum – 沙鼠以太坊

本文提供基于区块链的毕业设计国外最新区块链项目源码下载,包括solidity,eth,fabric等blockchain区块链,基于区块链的毕业设计Gerbil-ethereum – 沙鼠以太坊 是一篇很好的国外资料

Gerbil-ethereum

Gerbil-ethereum is a package to interact with the Ethereum network from Gerbil Scheme. It is an alternative to “web3.js” and other interfaces to the Ethereum network; it is not at all a reimplementation of the Ethereum protocol, and relies on an existing node such as Geth or Parity to implement the Ethereum protocol.

Copyright and License

Copyright 2020 Mutual Knowledge Systems, Inc. All rights reserved. Gerbil-Ethereum is distributed under the Apache License, version 2.0. See the file LICENSE.

What does Gerbil Ethereum do?

Gerbil-ethereum provides an interface to an Ethereum node’s JSON RPC server, just like web3.js does, but with Gerbil Scheme as the underlying language platform, rather than node.js or a browser. Notable modules include but are not limited to the below:

  • tx-tracker.ss provides an interface to ensure transactions are posted, no matter what. A tracked transaction will be retried until it succeeds, even if the process crashes and restarts. This is essential for decentralized applications such as atomic swaps or state channels, that require you to post a transaction before a deadline under pain of losing your assets. Messages are scheduled and persisted before they are issued, so that a temporary machine crash or network crash won’t cause you to either forget to post or post twice.

  • assembly.ss provides an assembler for the EVM as an embedded DSL. This assembler can be used directly to write contracts using Scheme functions as a macro-assembler, or it can be used indirectly as the embedded backend of a compiler. Either way, you can achieve more efficient and safer code than by using extremely badly designed languages such as Solidity.

  • batch-send.ss includes a tiny batch transfer contract written in EVM assembly, that allows you to send tokens to many different addresses in a single transaction. This is important in that it allows a single confirmation for multiple transfers, cutting into the runtime latency and build-time complexity to properly track many simultaneous transactions and nurse them to completion in an adversarial network. In the near future, we may also offer a similar contract to batch multiple contract calls.

  • json-rpc.ss offers you a typechecked FFI to all the usual Ethereum JSON RPC APIs.

There are plenty of other support files, and we’ll keep working on this library as we build software on top of it.

Why use Gerbil Ethereum?

  • Better Language, Simpler Code: Gerbil Ethereum can achieve functionality similar to that of libraries in other languages at a fraction of the complexity, because the underlying language is more expressive. First-class continuations and threads enable you to directly express in Scheme massively concurrent computations that require jumping through many hoops in other languages, such as async functions, monads, trampolines, thread pools, factory factories, etc. Scheme’s unique ability for syntactic abstraction not only makes the code much more succint, but also much safer, by protecting the users from errors introduced by developers when they manually follow “design patterns”, or fail to follow them, especially as they subsequently evolve their code. Using prototype object orientation for type descriptors, we can leverage both ad-hoc and parametric polymorphism to factor our code into small pieces of incremental functionality that nicely build on each other, rather than large monolithic pieces of code that constantly repeat each other. In the end, that means not only much less code to write, but even more importantly for cryptocurrency software, much less code to audit.

  • Ecosystem Safety: what makes JavaScript attractive to web developers is its vast ecosystem of software packages, notably distributed via the npm package manager. But to enjoy the benefit of this ecosystem, you’ll soon find yourself pulling hundreds or thousands of libraries from as many unidentified developers. That’s millions of lines of code that no one has the hope to ever audit, what more in a combination that moves too fast for an audit to remain valid very long. Indeed, cryptocurrency wallets have been attacked not just through existing bugs in such libraries, but also through supply chain attacks wherein bad actors took over some remote indirect dependency of a wallet so as to gain access to its users’ assets. By contrast, Gerbil may have fewer libraries, but it includes everything required to interact with Ethereum, except for a few thousand lines of code that can be readily audited, written by a small group of well-identified reputable individuals who have been working on this or similar software for decades, plus a few small well-audited libraries that everyone trusts and use (such as Bitcoin’s secp256k1, Ethereum’s keccak, or Google’s leveldb).

  • Safer Programming Model: with Gerbil Ethereum, we are creating a programming model for building decentralized applications that are safe by construction. Our current code base does not yet offer builtin protection against all the attacks that we are thinking of preventing, yet the programming model it offers is already significantly more robust than that offered by platforms such as web3.js. For instance, we take persist-before-messaging discipline seriously, with persistent activities, proper transactionality, and in the future distributed replication. We also build and test our code with deterministic build tools that ensure that if it works for us, it will work for everyone.

  • Potential Portability: the Gerbil is built on top of Gambit, that has backends to any platform that matters, and could be made to target any future platform that would. In addition to the C platform, it can target JavaScript, Java, PHP, Python, Ruby, and various popular microprocessor architectures. While we haven’t yet taken advantage of this portability with Gerbil ethereum, your odds at building fully audited cryptocurrency software that runs on top of any of these platforms, including JavaScript, are higher if you use a few hundreds of lines of Gambit Scheme to retarget Gerbil Ethereum than if you use web3.js and start auditing millions of lines of JavaScript, or some similar situation with another “blub” language.

We use optional third-party analytics cookies to understand how you use GitHub.com so we can build better products. Learn more.


Gerbil-ethereum

Gerbil-ethereum is a package to interact with the Ethereum network from Gerbil Scheme. It is an alternative to “web3.js” and other interfaces to the Ethereum network; it is not at all a reimplementation of the Ethereum protocol, and relies on an existing node such as Geth or Parity to implement the Ethereum protocol.

Copyright and License

Copyright 2020 Mutual Knowledge Systems, Inc. All rights reserved. Gerbil-Ethereum is distributed under the Apache License, version 2.0. See the file LICENSE.

What does Gerbil Ethereum do?

Gerbil-ethereum provides an interface to an Ethereum node’s JSON RPC server, just like web3.js does, but with Gerbil Scheme as the underlying language platform, rather than node.js or a browser. Notable modules include but are not limited to the below:

  • tx-tracker.ss provides an interface to ensure transactions are posted, no matter what. A tracked transaction will be retried until it succeeds, even if the process crashes and restarts. This is essential for decentralized applications such as atomic swaps or state channels, that require you to post a transaction before a deadline under pain of losing your assets. Messages are scheduled and persisted before they are issued, so that a temporary machine crash or network crash won’t cause you to either forget to post or post twice.

  • assembly.ss provides an assembler for the EVM as an embedded DSL. This assembler can be used directly to write contracts using Scheme functions as a macro-assembler, or it can be used indirectly as the embedded backend of a compiler. Either way, you can achieve more efficient and safer code than by using extremely badly designed languages such as Solidity.

  • batch-send.ss includes a tiny batch transfer contract written in EVM assembly, that allows you to send tokens to many different addresses in a single transaction. This is important in that it allows a single confirmation for multiple transfers, cutting into the runtime latency and build-time complexity to properly track many simultaneous transactions and nurse them to completion in an adversarial network. In the near future, we may also offer a similar contract to batch multiple contract calls.

  • json-rpc.ss offers you a typechecked FFI to all the usual Ethereum JSON RPC APIs.

There are plenty of other support files, and we’ll keep working on this library as we build software on top of it.

Why use Gerbil Ethereum?

  • Better Language, Simpler Code: Gerbil Ethereum can achieve functionality similar to that of libraries in other languages at a fraction of the complexity, because the underlying language is more expressive. First-class continuations and threads enable you to directly express in Scheme massively concurrent computations that require jumping through many hoops in other languages, such as async functions, monads, trampolines, thread pools, factory factories, etc. Scheme’s unique ability for syntactic abstraction not only makes the code much more succint, but also much safer, by protecting the users from errors introduced by developers when they manually follow “design patterns”, or fail to follow them, especially as they subsequently evolve their code. Using prototype object orientation for type descriptors, we can leverage both ad-hoc and parametric polymorphism to factor our code into small pieces of incremental functionality that nicely build on each other, rather than large monolithic pieces of code that constantly repeat each other. In the end, that means not only much less code to write, but even more importantly for cryptocurrency software, much less code to audit.

  • Ecosystem Safety: what makes JavaScript attractive to web developers is its vast ecosystem of software packages, notably distributed via the npm package manager. But to enjoy the benefit of this ecosystem, you’ll soon find yourself pulling hundreds or thousands of libraries from as many unidentified developers. That’s millions of lines of code that no one has the hope to ever audit, what more in a combination that moves too fast for an audit to remain valid very long. Indeed, cryptocurrency wallets have been attacked not just through existing bugs in such libraries, but also through supply chain attacks wherein bad actors took over some remote indirect dependency of a wallet so as to gain access to its users’ assets. By contrast, Gerbil may have fewer libraries, but it includes everything required to interact with Ethereum, except for a few thousand lines of code that can be readily audited, written by a small group of well-identified reputable individuals who have been working on this or similar software for decades, plus a few small well-audited libraries that everyone trusts and use (such as Bitcoin’s secp256k1, Ethereum’s keccak, or Google’s leveldb).

  • Safer Programming Model: with Gerbil Ethereum, we are creating a programming model for building decentralized applications that are safe by construction. Our current code base does not yet offer builtin protection against all the attacks that we are thinking of preventing, yet the programming model it offers is already significantly more robust than that offered by platforms such as web3.js. For instance, we take persist-before-messaging discipline seriously, with persistent activities, proper transactionality, and in the future distributed replication. We also build and test our code with deterministic build tools that ensure that if it works for us, it will work for everyone.

  • Potential Portability: the Gerbil is built on top of Gambit, that has backends to any platform that matters, and could be made to target any future platform that would. In addition to the C platform, it can target JavaScript, Java, PHP, Python, Ruby, and various popular microprocessor architectures. While we haven’t yet taken advantage of this portability with Gerbil ethereum, your odds at building fully audited cryptocurrency software that runs on top of any of these platforms, including JavaScript, are higher if you use a few hundreds of lines of Gambit Scheme to retarget Gerbil Ethereum than if you use web3.js and start auditing millions of lines of JavaScript, or some similar situation with another “blub” language.

We use optional third-party analytics cookies to understand how you use GitHub.com so we can build better products. Learn more.

部分转自网络,侵权联系删除区块链源码网

www.interchains.cc

https://www.interchains.cc/18868.html

区块链毕设网(www.interchains.cc)全网最靠谱的原创区块链毕设代做网站 部分资料来自网络,侵权联系删除! 最全最大的区块链源码站 ! QQ3039046426
区块链知识分享网, 以太坊dapp资源网, 区块链教程, fabric教程下载, 区块链书籍下载, 区块链资料下载, 区块链视频教程下载, 区块链基础教程, 区块链入门教程, 区块链资源 » 基于区块链的毕业设计Gerbil-ethereum – 沙鼠以太坊

提供最优质的资源集合

立即查看 了解详情