Position: Home page » Ethereum » Development of Ethereum DAPP with Java

Development of Ethereum DAPP with Java

Publish: 2021-04-26 22:55:30
1.

Ethereum is an implementation of blockchain. In Ethereum network, many nodes are connected with each other to form Ethereum network:

Ethereum node software provides two core functions: data storage and contract code execution

in each Ethereum node, complete blockchain data is stored. Ethereum not only saves the transaction data on the chain, but also saves the compiled contract code on the chain

At the same time, a virtual machine is provided to execute the contract code

Ethereum virtual machine

Ethereum blockchain not only stores data and code, but also contains a virtual machine (EVM) in each node to execute contract code - it sounds like a computer operating system

in fact, this is the core difference between Ethereum and bitcoin: the existence of virtual machine has brought blockchain into the era of 2.0 and made blockchain a friendly platform for application developers for the first time

the above content comes from the introction course of Ethereum DAPP development

2.

Blockchain projects require high efficiency, so most of the core source code development is using C / C + +. However, if you are doing a blockchain project, unless you need to make a lot of adjustments to the source code, you may not choose to use Java. For general DAPP applications, java development should also be a good choice. For example, in the case of Ethereum blockchain, there is a web3j class library for Java, which is very convenient; Bitcoin has bitcoin J class library, which is also easy to use. It still depends on the level of application, what to do, and the situation of the team

share two Java blockchain tutorials:

  1. java bitcoin details

  2. java Ethereum development

  3. < / OL >
3. My computer - & gt; Attribute - & gt; Advanced - & gt; Environment variables - & gt; Add the following environment variables to the system variables:
java_ The home value is: the directory where JDK is installed, and mine is C: &# 92; Program Files\ Java\ jdk1.6.0_ 34
the classpath value is:;% JAVA_ HOME%\ lib\ tools.jar;% JAVA_ HOME%\ lib\ dt.jar;% JAVA_ HOME%\ bin;( Pay attention to the & quot& quot; To add)
Path: append at the beginning.;% JAVA_ HOME%\ bin;% JAVA_ HOME%\ jre\ bin;( Pay attention to the & quot& quot; To add)

after the installation, you can check whether the JDK is installed successfully. Open the CMD window and enter Java – version to view the version information of JDK.
4. DAPP is short for decentralized application. App we all know that the app we install on our smartphone is app. DAPP has one more "d" than app, which means distributed. So, it means decentralized applications / decentralized applications< br />


DAPP is an Internet application. The biggest difference between DAPP and traditional app is that DAPP runs on a decentralized network, that is, a blockchain network. There is no centralized node in the network, which can control DAPP completely. As we all know, app is centralized. Need to request a server to get data, process data, etc

compared with DAPP, blockchain is the underlying environment for application running. It can be compared to IOS, andorid and other mobile operating systems running on various apps. Learning blockchain is not the bottom part of learning blockchain. Maybe more people need to learn the development of DAPP. Build and run applications in the blockchain environment< br />


a complete DAPP needs to meet the requirements of completely open source and autonomous applications. DAPP cannot be changed once it is deployed. The upgrade of the application can only be carried out after most users reach a consensus. All data must be encrypted and stored on the decentralized blockchain application platform. Secondly, DAPP must have token mechanism

DAPP can be fault-tolerant without single point of failure. They don't have centralized institutions to interfere. There will be no deletion or modification of some data. It can't even be shut down. Because the data is encrypted storage, there will be no user data leakage events like Facebook and Google

of course, at present, most DAPP procts are still in the experimental stage. Although blockchain technology has brought us a lot of imagination, the specific implementation of DAPP procts still needs to consider a lot of relevant factors.
5. There is no inevitable relationship between whether the virtual currency will disappear or not and whether it can not be used on the third-party platform. Online third-party trading platform can only say that this kind of currency has another platform for trading, which shows that this kind of currency is more reliable
Ruitai coin has not been launched on the third-party platform, but it is rumored that it will also be launched on the third-party platform.
6. The Ethereum community calls smart contract based applications decentralized apps. DAPP's goal is to make your smart contract have a friendly interface, plus some additional things, such as IPFs (decentralized network that can store and read data, not from the Ethereum team, but with a similar spirit)
DAPP can run on a centralized server that can interact with Ethereum nodes, or on any Ethereum node. Different from ordinary websites, DAPP can't run on ordinary servers. They need to submit transactions to the blockchain and read important data from the blockchain instead of the centralized database.
7. It's not difficult. I'm good at it
8. 客户端代码是这样的
#import "ViewController.h"
@implementation ViewController
-(void)aaa:(UIButton *)btn
{
NSString *method=[NSString stringWithFormat:@"login"];
NSString *username=[NSString stringWithFormat:@"123"];
笭肠蒂段郦灯垫犬叮华 NSString *password=[NSString stringWithFormat:@"123"];
NSString *urlString= [NSString stringWithFormat:@"",@"method=",method,@"username=",username,@"password=",password];

ASIFormDataRequest *requestForm = [[ASIFormDataRequest alloc] initWithURL:[NSURL URLWithString:urlString]];
//设置需要POST的数据,这里提交两个数据,A=a&B=b
//[requestForm setPostValue:@"a" forKey:@"A"];
//[requestForm setPostValue:@"b" forKey:@"B"];
[requestForm startSynchronous];

//输入返回的信息
NSLog(@"response\n%@",[requestForm responseString]);
[requestForm release];
}
- (void)viewDidLoad
{
[super viewDidLoad];
button1=[[UIButton alloc]initWithFrame:CGRectMake(200, 200, 50, 50)];
button1.backgroundColor=[UIColor redColor];
[self.view addSubview:button1];
[button1 addTarget:self action:@selector(aaa:) forControlEvents:UIControlEventTouchUpInside];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
}
- (BOOL):(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation != );
}
@end
客户端想要访问服务器
必须加上服务器的ip 服务端我是这样实现的
服务器是用java开发的
public
void doLogin(HttpServletRequest request,HttpServletResponse response) throws
IOException{
String
username=request.getParameter("username");
String
password=request.getParameter("password");
String
getStr=request.getParameter("A");
System.out.println("用户名:"+username+
"密码:"+password);
getAddr(request);
PrintWriter
out=response.getWriter();
String msg=null;
if(username!=null&&username.equals("123")&&password!=null
&&password.equals("123")&&
getStr!=null&&getStr.equals("a")){
msg="登陆成功";
}
else
{
msg="登陆失败";
}

out.print(msg);
out.flush();
out.close();
}
Hot content
Inn digger Publish: 2021-05-29 20:04:36 Views: 341
Purchase of virtual currency in trust contract dispute Publish: 2021-05-29 20:04:33 Views: 942
Blockchain trust machine Publish: 2021-05-29 20:04:26 Views: 720
Brief introduction of ant mine Publish: 2021-05-29 20:04:25 Views: 848
Will digital currency open in November Publish: 2021-05-29 19:56:16 Views: 861
Global digital currency asset exchange Publish: 2021-05-29 19:54:29 Views: 603
Mining chip machine S11 Publish: 2021-05-29 19:54:26 Views: 945
Ethereum algorithm Sha3 Publish: 2021-05-29 19:52:40 Views: 643
Talking about blockchain is not reliable Publish: 2021-05-29 19:52:26 Views: 754
Mining machine node query Publish: 2021-05-29 19:36:37 Views: 750