Author: PolkaWorld Community
The March Technical Fellowship meeting was held last night. PolkaWorld sorted out Gavin's speech as soon as possible to help everyone understand the latest developments of JAM and Polkadot! Continue reading to see Gavin's sharing!
PolkaWorld Note: The Technical Fellowship meeting is Polkadot's monthly online meeting. Most of the Fellowships will participate and share their work progress this month! Basically, you can learn about Polkadot's hottest major developments in this meeting! The Technical Fellowship is Polkadot's decentralized on-chain technology expert group and one of the core contributing organizations to Polkadot's technological development.
Alice und BobHi Gavin! Last month you sent us a video about the progress of the command line interface and related code base you are developing. Coincidentally, I happened to see your live demo around the same time as the video was sent to us, and some very exciting things happened since then, so I was particularly interested in hearing about your progress this month and what happened behind the scenes.
Gavin:Well, when we last spoke, I was on the JAM tour in Asia, probably on the way to Taipei or Hong Kong, and it was quite late, so I took a video to send to you. I have been doing this tour for the past month, and just came back from mainland China a week and a half ago.
Since I came back, this code base has been officially integrated into the PolkaJAM code, and I hope to release a binary version of this code base before the next call, and also release some tools so that everyone can create a PolkaJAM testnet and play with it. In addition, we also plan to open source the CoreVM service and some related tools so that developers can actually start deploying their own software on the JAM testnet.
In addition to this, I have also completed a very important thing, which is the release of Graypaper 064. The focus of this update is to provide a function that allows you to see what is happening on the JAM network more intuitively - for example, how much resources the core and services on the chain consume, how much gas is used, etc. All these statistics will be recorded directly on the chain. Although it was possible before, it was very troublesome and required a lot of extra complicated work, which was prone to problems. Now it is much simpler. The data is recorded directly on the chain and updated once per block, so you can see it very clearly at any time.
This function is simple to say, but it is a bit complicated when I actually do it. It is more difficult than I expected and took a few days longer. But now it is completed, and you can see this new version in the Gray Book repository soon. It is expected to be officially released today or tomorrow.
For the JAM Toaster project, this function is particularly useful. Erin, one of our team members, who many of you may know, is working on a beautiful web interface that will allow you to see all the data on the JAM chain. This will be fun, and we can do some cool things with it, like running the DOOM game on the chain as shown earlier, where we can see the data of the on-chain activity increase in real time while the game is running, which is very intuitive and fun. In the future, we may also add indicators like TPS, although there are actually no strict "transactions" on JAM itself, but doing this kind of display is very useful to visually show the activity on the chain, even if it is a bit "bragging".
Basically, this is what I've been busy with recently. Of course, there are some other small updates in the gray paper, and these activity statistics functions have also been integrated into the PolkaJAM code, and everyone can use them immediately once the new version is released. Alice and Bob: Great, Gavin, I have two questions: The first question is, are these statistics you just mentioned similar to debug output or program logs? Gavin: No, it is not just a simple debug output. You can imagine that when you use Linux system, you open a monitoring program, which can tell you how much CPU resources are used in real time. Now we can have similar functions on JAM chain. Without this new function, if you want to see the operation status of the chain, you need to deploy some special nodes, which is very troublesome and unrealistic. Now it is much more convenient. Each node will take the initiative to report the details of its own tasks (such as how much gas is used, the size of the data transmitted, etc.), so that we can clearly see what each node and service is doing.
Alice und Bob: The second question is. Last month you showed running DOOM on the chain. There was a debate on Twitter for several days. Some people said that yours was not running on the chain at all. The debate was quite fierce. Would you like to take this opportunity to explain how you view this issue? Gavin: To be honest, I don’t know what those people who say it’s not on-chain are thinking, because they haven’t seen the actual code (because I haven’t made it public). I think they are just trolls on Twitter who say whatever they want and don’t understand what we are doing. DOOM is indeed running on-chain! Specifically, it runs in a core of JAM, using the CoreVM service we developed. You can think of CoreVM as a blockchain version of Docker, and the programs running in it feel the same as running on a normal computer. We ported the game code to this virtual machine, just like porting games to Windows, Linux or Mac, and the game ran normally.
But I must admit that DOOM on this chain is not fun, because the blockchain is slow to generate blocks, and it takes about 6 seconds to give feedback. This delay makes the game experience not good. But the purpose of showing this is not to play games, but to prove that our JAM chain environment is powerful enough, with enough bandwidth and computing power to run ordinary software. This is the key.
Some people did question that we are not really "on-chain" and said that JAM is just a "data availability layer (DA)". They actually didn't understand what JAM is. But after more than a hundred tweets, they finally understood a little bit. In fact, what we do is much more advanced than other ecosystems, so naturally some people don't understand, and even find fault in a negative way. There may be other projects trying to imitate us in the future.
As for the debate between on-chain and off-chain, I think it's quite boring. In fact, the core issue is very simple. "On-chain" means to ensure the security and credibility of the computing process in a decentralized way. Traditional blockchains, such as Bitcoin or Ethereum, require each node to calculate the same data and program, while JAM uses a protocol called ELVES, which allows nodes to ensure the security and consistency of on-chain computing without everyone doing all the computing. This method is open to us and has been widely reviewed. We believe it is the key method for the future large-scale development of blockchain.
Those who are still struggling with "which node does what" can only accept the reality in the end: If blockchain wants to really develop, it must reduce the workload of nodes and use other means to ensure the security and credibility of the results.
That's it, basically these are what I'm busy with recently! Thank you!